react-semaphor 0.1.301 → 0.1.302

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 (66) hide show
  1. package/dist/appearance/index.cjs +1 -0
  2. package/dist/appearance/index.js +9 -0
  3. package/dist/brand-studio/index.cjs +21 -0
  4. package/dist/brand-studio/index.js +1512 -0
  5. package/dist/chunks/{braces-BwK7fWd_.js → braces-CpOcaBNm.js} +1 -1
  6. package/dist/chunks/{braces-Bhqo4iW1.js → braces-TYclg8Hl.js} +1 -1
  7. package/dist/chunks/dashboard-controls-BkuB9TQX.js +47 -0
  8. package/dist/chunks/dashboard-controls-CZuC_QjN.js +2227 -0
  9. package/dist/chunks/dashboard-filter-controls-button-2I1ltWQ9.js +11 -0
  10. package/dist/chunks/{dashboard-filter-controls-button-DjALRkvg.js → dashboard-filter-controls-button-kfb_T18o.js} +205 -216
  11. package/dist/chunks/dashboard-json-C3v6rBdp.js +1 -0
  12. package/dist/chunks/{dashboard-json-D-zIG46N.js → dashboard-json-Df6v2Jem.js} +14 -12
  13. package/dist/chunks/dashboard-summary-settings-dialog-BBALEHJQ.js +1 -0
  14. package/dist/chunks/{dashboard-summary-settings-dialog-D-F1eEJI.js → dashboard-summary-settings-dialog-DKAaWq-G.js} +64 -63
  15. package/dist/chunks/date-formatter-D9Bvw5Qk.js +1 -0
  16. package/dist/chunks/date-formatter-DyIOb6uC.js +333 -0
  17. package/dist/chunks/edit-dashboard-visual-CGBYahAK.js +183 -0
  18. package/dist/chunks/{edit-dashboard-visual-BjflrL8w.js → edit-dashboard-visual-D8L0cl_U.js} +6691 -6679
  19. package/dist/chunks/{index-DDA12yqV.js → index-BmoR3VQT.js} +48608 -66300
  20. package/dist/chunks/index-Cxb9UUro.js +4 -0
  21. package/dist/chunks/index-D7KJindZ.js +1 -0
  22. package/dist/chunks/index-DFOb_6HB.js +1657 -0
  23. package/dist/chunks/index-eM6MU4q_.js +1361 -0
  24. package/dist/chunks/index-uRJmUpof.js +2555 -0
  25. package/dist/chunks/palette-326-dgn0.js +6 -0
  26. package/dist/chunks/palette-jd7xiGTg.js +23 -0
  27. package/dist/chunks/{resource-management-panel-B2558XA1.js → resource-management-panel-C_c-BwrC.js} +116 -115
  28. package/dist/chunks/resource-management-panel-DrcEEARD.js +6 -0
  29. package/dist/chunks/rotate-ccw-BugHcM1w.js +6 -0
  30. package/dist/chunks/rotate-ccw-yFwqBFJZ.js +14 -0
  31. package/dist/chunks/save-CaybXtdd.js +6 -0
  32. package/dist/chunks/save-DU0FXUlM.js +21 -0
  33. package/dist/chunks/switch-AmoR1YIA.js +163 -0
  34. package/dist/chunks/switch-CZtMtqEj.js +19725 -0
  35. package/dist/chunks/{use-create-flow-overlay-state-BUw_JtLs.js → use-create-flow-overlay-state-84Xe8VrP.js} +396 -412
  36. package/dist/chunks/use-create-flow-overlay-state-CiKVJGWF.js +16 -0
  37. package/dist/chunks/use-visual-utils-lp5DfmvL.js +1 -0
  38. package/dist/chunks/{use-visual-utils-C45OxsOf.js → use-visual-utils-z3ifg6Fd.js} +54 -53
  39. package/dist/dashboard/index.cjs +1 -1
  40. package/dist/dashboard/index.js +1 -1
  41. package/dist/format-utils/index.cjs +1 -1
  42. package/dist/format-utils/index.js +2 -2
  43. package/dist/index.cjs +1 -1
  44. package/dist/index.js +210 -207
  45. package/dist/style.css +1 -1
  46. package/dist/surfboard/index.cjs +1 -1
  47. package/dist/surfboard/index.js +2 -2
  48. package/dist/types/appearance.d.ts +176 -0
  49. package/dist/types/brand-studio.d.ts +245 -0
  50. package/dist/types/dashboard.d.ts +134 -0
  51. package/dist/types/main.d.ts +141 -1
  52. package/dist/types/surfboard.d.ts +134 -0
  53. package/dist/types/types.d.ts +139 -0
  54. package/package.json +13 -1
  55. package/dist/chunks/dashboard-controls-BIRiWCUK.js +0 -47
  56. package/dist/chunks/dashboard-controls-DIlnYo96.js +0 -2219
  57. package/dist/chunks/dashboard-filter-controls-button-CK1-mKQh.js +0 -11
  58. package/dist/chunks/dashboard-json-DK4mQ1gS.js +0 -1
  59. package/dist/chunks/dashboard-summary-settings-dialog-DSxNqxFI.js +0 -1
  60. package/dist/chunks/date-formatter-CqXdM6JO.js +0 -1
  61. package/dist/chunks/date-formatter-vkCj9Ct-.js +0 -1982
  62. package/dist/chunks/edit-dashboard-visual-DCsrtJr_.js +0 -193
  63. package/dist/chunks/index-8GnvL1_L.js +0 -1523
  64. package/dist/chunks/resource-management-panel-CKp4_aem.js +0 -6
  65. package/dist/chunks/use-create-flow-overlay-state-CWcCdPbC.js +0 -21
  66. package/dist/chunks/use-visual-utils-DyaThRzf.js +0 -1
@@ -1,16 +1,17 @@
1
- import Se, { useState as T, useRef as X, useCallback as $, useEffect as B, useContext as Ae } from "react";
2
- import { c as le, d as K, aF as z, bM as Q, bI as de, bJ as W, aG as ce, bH as Ie, e as ue, f as me, g as he, h as pe, i as fe, L as Z, I as Fe, dc as Le, w as Te, B as I, x as q, W as j, M as ke, u as O, N as Pe, Q as J, c0 as ve, dd as Ue, de as ee, y as P, c2 as ge, c1 as G, ai as Me, cG as be, cH as xe, a9 as ye, cJ as we, cK as R, t as Ve, cO as Oe, cx as Be, O as ze, df as Re, b as H, dg as Y, dh as $e, cW as _e, cX as He, cY as je, cZ as Xe, c_ as Ge, c$ as Ke, d0 as Qe, bO as We, X as qe, di as Je, dj as Ye, cD as Ze, bK as te, ab as et, aI as tt, P as Ce, k as De, dk as at, m as Ne, dl as st, dm as rt, dn as ot, dp as nt, dq as it, dr as ae, ds as lt } from "./index-DDA12yqV.js";
1
+ import Se, { useState as T, useRef as X, useCallback as $, useEffect as O, useContext as Ae } from "react";
2
+ import { u as Q, ae as z, aZ as W, aV as le, aW as q, af as ce, aU as Ie, b as de, c as ue, d as me, e as he, f as pe, cg as Fe, o as Le, t as Te, v as ke, b8 as fe, ch as Pe, p as P, b9 as G, W as Ue, bN as ve, bO as ge, bQ as be, bR as R, bV as Ve, bE as Me, ci as Be, cj as Oe, c0 as ze, c1 as Re, c2 as $e, c3 as _e, c4 as je, c5 as He, c6 as Xe, a$ as Ge, ck as Qe, cl as We, bK as qe, aX as J, M as Ke, ah as Ze, cm as Ye, cn as Je, co as et, cp as tt, cq as at, cr as ee, cs as st } from "./index-BmoR3VQT.js";
3
3
  import { jsx as t, jsxs as s, Fragment as _ } from "react/jsx-runtime";
4
- import { V as dt, E as se, a as re, b as ct, c as ut, L as mt, d as ht, C as pt, u as ft, e as vt } from "./use-create-flow-overlay-state-BUw_JtLs.js";
5
- import { u as Ee } from "./use-visual-utils-C45OxsOf.js";
6
- import { k as oe } from "./date-formatter-vkCj9Ct-.js";
4
+ import { c as xe, L as te, I as rt, B as I, f as K, n as H, u as B, m as Z, ag as ae, ae as ye, G as we, e as ot, l as nt, a as j, p as Y, X as it, P as Ce, b as Ne, d as De, ah as lt } from "./switch-CZtMtqEj.js";
5
+ import { V as ct, E as se, a as re, b as dt, c as ut, L as mt, d as ht, C as pt, u as ft, e as vt } from "./use-create-flow-overlay-state-84Xe8VrP.js";
6
+ import { u as Ee } from "./use-visual-utils-z3ifg6Fd.js";
7
+ import { k as oe } from "./date-formatter-DyIOb6uC.js";
7
8
  /**
8
9
  * @license lucide-react v0.453.0 - ISC
9
10
  *
10
11
  * This source code is licensed under the ISC license.
11
12
  * See the LICENSE file in the root directory of this source tree.
12
13
  */
13
- const ne = le("FileDown", [
14
+ const ne = xe("FileDown", [
14
15
  ["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
15
16
  ["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
16
17
  ["path", { d: "M12 18v-6", key: "17g6i2" }],
@@ -22,25 +23,25 @@ const ne = le("FileDown", [
22
23
  * This source code is licensed under the ISC license.
23
24
  * See the LICENSE file in the root directory of this source tree.
24
25
  */
25
- const gt = le("FilterX", [
26
+ const gt = xe("FilterX", [
26
27
  ["path", { d: "M13.013 3H2l8 9.46V19l4 2v-8.54l.9-1.055", key: "1fi1da" }],
27
28
  ["path", { d: "m22 3-5 5", key: "12jva0" }],
28
29
  ["path", { d: "m17 3 5 5", key: "k36vhe" }]
29
30
  ]), bt = 1e4, xt = 15e3, yt = 3e4, wt = 3e4, Ct = 12e4, ie = 2 * 60 * 60 * 1e3;
30
- function Dt(e) {
31
+ function Nt(e) {
31
32
  const a = Date.now() - e.getTime();
32
33
  return a < wt ? bt : a < Ct ? xt : yt;
33
34
  }
34
- function Vt() {
35
- const { authToken: e, tokenProps: a } = K(), v = z((h) => h.activeExports), [l, n] = T(
35
+ function Bt() {
36
+ const { authToken: e, tokenProps: a } = Q(), v = z((h) => h.activeExports), [l, n] = T(
36
37
  typeof document < "u" ? !document.hidden : !0
37
- ), d = X(null), c = X(!1), m = X(void 0), i = a == null ? void 0 : a.apiServiceUrl, r = e == null ? void 0 : e.accessToken, p = $(() => {
38
+ ), c = X(null), d = X(!1), m = X(void 0), i = a == null ? void 0 : a.apiServiceUrl, r = e == null ? void 0 : e.accessToken, p = $(() => {
38
39
  const h = z.getState().activeExports;
39
40
  return Array.from(h.values()).filter(
40
- (y) => Q(y.status)
41
+ (y) => W(y.status)
41
42
  );
42
43
  }, []);
43
- B(() => {
44
+ O(() => {
44
45
  if (typeof document > "u") return;
45
46
  const h = () => {
46
47
  n(!document.hidden);
@@ -51,12 +52,12 @@ function Vt() {
51
52
  }, []);
52
53
  const b = $(async () => {
53
54
  if (!i || !r) {
54
- c.current = !1;
55
+ d.current = !1;
55
56
  return;
56
57
  }
57
58
  const h = p();
58
59
  if (h.length === 0) {
59
- c.current = !1;
60
+ d.current = !1;
60
61
  return;
61
62
  }
62
63
  const y = Date.now(), E = h.filter(
@@ -75,17 +76,17 @@ function Vt() {
75
76
  (o) => y - o.startedAt.getTime() <= ie
76
77
  );
77
78
  if (f.length === 0) {
78
- c.current = !1;
79
+ d.current = !1;
79
80
  return;
80
81
  }
81
82
  const w = await Promise.allSettled(
82
83
  f.map(async (o) => {
83
84
  try {
84
- const x = await de(i, r, o.id);
85
- let N;
85
+ const x = await le(i, r, o.id);
86
+ let D;
86
87
  if (x.status === "completed")
87
88
  try {
88
- N = await W(i, r, o.id);
89
+ D = await q(i, r, o.id);
89
90
  } catch (F) {
90
91
  console.error(
91
92
  `[useExportPolling] Failed to get download URL for ${o.id}:`,
@@ -101,7 +102,7 @@ function Vt() {
101
102
  lastUpdatedAt: /* @__PURE__ */ new Date(),
102
103
  fileSize: x.fileSize,
103
104
  error: x.error,
104
- downloadUrl: N
105
+ downloadUrl: D
105
106
  };
106
107
  } catch (x) {
107
108
  return console.error(
@@ -116,42 +117,42 @@ function Vt() {
116
117
  const C = p();
117
118
  if (C.length > 0 && !document.hidden) {
118
119
  const o = C.reduce(
119
- (N, F) => F.startedAt < N ? F.startedAt : N,
120
+ (D, F) => F.startedAt < D ? F.startedAt : D,
120
121
  C[0].startedAt
121
- ), x = Dt(o);
122
- d.current && clearTimeout(d.current), d.current = setTimeout(() => {
123
- var N;
124
- (N = m.current) == null || N.call(m);
122
+ ), x = Nt(o);
123
+ c.current && clearTimeout(c.current), c.current = setTimeout(() => {
124
+ var D;
125
+ (D = m.current) == null || D.call(m);
125
126
  }, x);
126
127
  } else
127
- c.current = !1;
128
+ d.current = !1;
128
129
  }, [i, r, p]);
129
- return B(() => {
130
+ return O(() => {
130
131
  m.current = b;
131
- }, [b]), B(() => {
132
+ }, [b]), O(() => {
132
133
  var y;
133
- p().length > 0 && l && !c.current && (c.current = !0, (y = m.current) == null || y.call(m));
134
- }, [v, l, p]), B(() => {
134
+ p().length > 0 && l && !d.current && (d.current = !0, (y = m.current) == null || y.call(m));
135
+ }, [v, l, p]), O(() => {
135
136
  var y;
136
137
  const h = p();
137
- l && h.length > 0 && !c.current && (c.current = !0, (y = m.current) == null || y.call(m));
138
- }, [l, p]), B(() => {
139
- !l && d.current && (clearTimeout(d.current), d.current = null, c.current = !1);
140
- }, [l]), B(() => () => {
141
- d.current && (clearTimeout(d.current), d.current = null);
138
+ l && h.length > 0 && !d.current && (d.current = !0, (y = m.current) == null || y.call(m));
139
+ }, [l, p]), O(() => {
140
+ !l && c.current && (clearTimeout(c.current), c.current = null, d.current = !1);
141
+ }, [l]), O(() => () => {
142
+ c.current && (clearTimeout(c.current), c.current = null);
142
143
  }, []), {
143
- isPolling: c.current,
144
+ isPolling: d.current,
144
145
  isTabVisible: l,
145
146
  inProgressCount: p().length
146
147
  };
147
148
  }
148
149
  function Ot() {
149
- const { authToken: e, tokenProps: a } = K(), v = z((m) => m.activeExports), { addExport: l } = ce(), n = X(!1), d = a == null ? void 0 : a.apiServiceUrl, c = e == null ? void 0 : e.accessToken;
150
- B(() => {
151
- if (n.current || !d || !c) return;
150
+ const { authToken: e, tokenProps: a } = Q(), v = z((m) => m.activeExports), { addExport: l } = ce(), n = X(!1), c = a == null ? void 0 : a.apiServiceUrl, d = e == null ? void 0 : e.accessToken;
151
+ O(() => {
152
+ if (n.current || !c || !d) return;
152
153
  (async () => {
153
154
  try {
154
- const { exports: i } = await Ie(d, c, {
155
+ const { exports: i } = await Ie(c, d, {
155
156
  status: ["pending", "processing", "chunking", "compacting", "completed", "failed"],
156
157
  limit: 20
157
158
  // Limit to recent exports
@@ -162,7 +163,7 @@ function Ot() {
162
163
  let b;
163
164
  if (r.status === "completed")
164
165
  try {
165
- b = await W(d, c, r.id);
166
+ b = await q(c, d, r.id);
166
167
  } catch (y) {
167
168
  console.error(
168
169
  `[useExportRecovery] Failed to get download URL for ${r.id}:`,
@@ -173,7 +174,7 @@ function Ot() {
173
174
  id: r.id,
174
175
  status: r.status,
175
176
  progress: p,
176
- title: Nt(r),
177
+ title: Dt(r),
177
178
  totalRows: r.totalRows,
178
179
  totalChunks: r.totalChunks,
179
180
  completedChunks: r.completedChunks,
@@ -192,10 +193,10 @@ function Ot() {
192
193
  console.error("[useExportRecovery] Failed to recover exports:", i), n.current = !0;
193
194
  }
194
195
  })();
195
- }, [d, c, l, v]);
196
+ }, [c, d, l, v]);
196
197
  }
197
- function Nt(e) {
198
- return e.title ? e.title : Q(
198
+ function Dt(e) {
199
+ return e.title ? e.title : W(
199
200
  e.status
200
201
  ) ? "Export in progress..." : e.status === "completed" ? "Export completed" : e.status === "failed" ? "Export failed" : "Export";
201
202
  }
@@ -205,8 +206,8 @@ function Et({
205
206
  isLibraryVisual: v,
206
207
  currentVisualName: l,
207
208
  isSaving: n = !1,
208
- destinationMode: d = "both",
209
- onConfirm: c
209
+ destinationMode: c = "both",
210
+ onConfirm: d
210
211
  }) {
211
212
  const [m, i] = T(
212
213
  v && l ? `Copy of ${l}` : l || ""
@@ -216,13 +217,13 @@ function Et({
216
217
  v && l ? `Copy of ${l}` : l || ""
217
218
  ), p(""));
218
219
  }, [e, v, l]);
219
- const b = !!m.trim(), h = d === "local" ? {
220
+ const b = !!m.trim(), h = c === "local" ? {
220
221
  saveToLibrary: !1,
221
222
  saveToCurrentDashboard: !0,
222
223
  badgeType: "local",
223
224
  description: "Creates a local copy on the current dashboard.",
224
225
  actionLabel: "Add to Dashboard (Local)"
225
- } : d === "library" ? {
226
+ } : c === "library" ? {
226
227
  saveToLibrary: !0,
227
228
  saveToCurrentDashboard: !1,
228
229
  badgeType: "library",
@@ -235,19 +236,19 @@ function Et({
235
236
  description: "Creates a new library visual and adds a linked copy to this dashboard.",
236
237
  actionLabel: "Save Copy as Linked Visual"
237
238
  }, y = () => {
238
- !b || n || c({
239
+ !b || n || d({
239
240
  name: m.trim(),
240
241
  description: r.trim() || void 0,
241
242
  saveToLibrary: h.saveToLibrary,
242
243
  saveToCurrentDashboard: h.saveToCurrentDashboard
243
244
  });
244
245
  };
245
- return /* @__PURE__ */ t(ue, { open: e, onOpenChange: a, children: /* @__PURE__ */ s(me, { className: "sm:max-w-[500px]", children: [
246
- /* @__PURE__ */ s(he, { children: [
247
- /* @__PURE__ */ s(pe, { className: "flex items-center gap-2", children: [
246
+ return /* @__PURE__ */ t(de, { open: e, onOpenChange: a, children: /* @__PURE__ */ s(ue, { className: "sm:max-w-[500px]", children: [
247
+ /* @__PURE__ */ s(me, { children: [
248
+ /* @__PURE__ */ s(he, { className: "flex items-center gap-2", children: [
248
249
  /* @__PURE__ */ t("span", { children: "Save Visual As" }),
249
250
  h.badgeType !== "local" && /* @__PURE__ */ t(
250
- dt,
251
+ ct,
251
252
  {
252
253
  type: h.badgeType,
253
254
  showLabel: !0,
@@ -255,13 +256,13 @@ function Et({
255
256
  }
256
257
  )
257
258
  ] }),
258
- /* @__PURE__ */ t(fe, { children: h.description })
259
+ /* @__PURE__ */ t(pe, { children: h.description })
259
260
  ] }),
260
261
  /* @__PURE__ */ s("div", { className: "grid gap-4 py-4", children: [
261
262
  /* @__PURE__ */ s("div", { className: "grid gap-2", children: [
262
- /* @__PURE__ */ t(Z, { htmlFor: "name", children: "Name" }),
263
+ /* @__PURE__ */ t(te, { htmlFor: "name", children: "Name" }),
263
264
  /* @__PURE__ */ t(
264
- Fe,
265
+ rt,
265
266
  {
266
267
  id: "name",
267
268
  value: m,
@@ -272,9 +273,9 @@ function Et({
272
273
  )
273
274
  ] }),
274
275
  /* @__PURE__ */ s("div", { className: "grid gap-2", children: [
275
- /* @__PURE__ */ t(Z, { htmlFor: "description", children: "Description (optional)" }),
276
+ /* @__PURE__ */ t(te, { htmlFor: "description", children: "Description (optional)" }),
276
277
  /* @__PURE__ */ t(
277
- Le,
278
+ Fe,
278
279
  {
279
280
  id: "description",
280
281
  value: r,
@@ -286,7 +287,7 @@ function Et({
286
287
  )
287
288
  ] })
288
289
  ] }),
289
- /* @__PURE__ */ s(Te, { children: [
290
+ /* @__PURE__ */ s(Le, { children: [
290
291
  /* @__PURE__ */ t(
291
292
  I,
292
293
  {
@@ -297,31 +298,31 @@ function Et({
297
298
  }
298
299
  ),
299
300
  /* @__PURE__ */ s(I, { onClick: y, disabled: !b || n, children: [
300
- n && /* @__PURE__ */ t(q, { className: "mr-2 h-4 w-4 animate-spin" }),
301
+ n && /* @__PURE__ */ t(K, { className: "mr-2 h-4 w-4 animate-spin" }),
301
302
  h.actionLabel
302
303
  ] })
303
304
  ] })
304
305
  ] }) });
305
306
  }
306
307
  function St() {
307
- const [e, a] = T(!1), [v, l] = T(!1), [n, d] = T(null), [c, m] = T(null), i = j((u) => u.frame), r = j((u) => u.card), p = ke(), b = O((u) => u.selectedSheetId), h = O((u) => u.dashboard), y = O(
308
+ const [e, a] = T(!1), [v, l] = T(!1), [n, c] = T(null), [d, m] = T(null), i = H((u) => u.frame), r = H((u) => u.card), p = Te(), b = B((u) => u.selectedSheetId), h = B((u) => u.dashboard), y = B(
308
309
  (u) => u.actions.setIsDashboardPanelOpen
309
- ), { getUpdatedFrame: E } = Ee(), { selectVisual: f } = Pe(), { addFrame: w, setSelectedFrameId: S, setIsVisualEditing: C } = J(), o = ve(), x = !!(i != null && i.visualId), N = (() => {
310
+ ), { getUpdatedFrame: E } = Ee(), { selectVisual: f } = ke(), { addFrame: w, setSelectedFrameId: S, setIsVisualEditing: C } = Z(), o = fe(), x = !!(i != null && i.visualId), D = (() => {
310
311
  var u, g;
311
312
  return ((u = i == null ? void 0 : i.cards) == null ? void 0 : u.length) === 1 && ((g = i.cards[0]) != null && g.title) ? i.cards[0].title : p != null && p.title ? p.title : (r == null ? void 0 : r.title) || "Untitled Visual";
312
- })(), F = Ue((u) => {
313
- u != null && u.id && (f(u), v && n && c && b && (async () => {
313
+ })(), F = Pe((u) => {
314
+ u != null && u.id && (f(u), v && n && d && b && (async () => {
314
315
  try {
315
316
  const g = {
316
317
  ...n,
317
- id: ee(),
318
+ id: ae(),
318
319
  visualId: u.id
319
320
  // Link to the newly created library visual
320
321
  };
321
322
  w(b, g, {
322
323
  position: "end",
323
- semanticExecutionPayload: c
324
- }), S(g.id), l(!1), d(null), m(null), C(!1);
324
+ semanticExecutionPayload: d
325
+ }), S(g.id), l(!1), c(null), m(null), C(!1);
325
326
  } catch (g) {
326
327
  console.error(
327
328
  "Failed to promote semantic metadata for saved visual:",
@@ -340,7 +341,7 @@ function St() {
340
341
  P.error("No sheet selected");
341
342
  return;
342
343
  }
343
- const g = E(), A = ge(g);
344
+ const g = E(), A = ye(g);
344
345
  if (A) {
345
346
  P.error(A);
346
347
  return;
@@ -360,135 +361,123 @@ function St() {
360
361
  L = await o(k, {
361
362
  previousFrame: G(h, k.id)
362
363
  });
363
- } catch (V) {
364
+ } catch (M) {
364
365
  console.error(
365
366
  "Failed to prepare semantic metadata before saving visual:",
366
- V
367
+ M
367
368
  ), P.error(
368
- V instanceof Error ? V.message : "Failed to prepare semantic metadata for the saved visual"
369
+ M instanceof Error ? M.message : "Failed to prepare semantic metadata for the saved visual"
369
370
  );
370
371
  return;
371
372
  }
372
- l(u.saveToCurrentDashboard), d(k), m(L);
373
- const M = {
373
+ l(u.saveToCurrentDashboard), c(k), m(L);
374
+ const V = {
374
375
  title: u.name,
375
376
  description: u.description,
376
377
  frameObject: k,
377
378
  // Card title synced for single-card frames
378
379
  isPrivate: !1
379
380
  };
380
- F.mutate(M);
381
+ F.mutate(V);
381
382
  } else if (u.saveToCurrentDashboard) {
382
383
  const L = {
383
384
  ...k,
384
385
  // Card title already synced
385
- id: ee(),
386
+ id: ae(),
386
387
  visualId: void 0
387
388
  // Explicitly no visualId for local visuals
388
389
  };
389
390
  try {
390
- const M = await o(k, {
391
+ const V = await o(k, {
391
392
  previousFrame: G(h, k.id)
392
393
  });
393
394
  w(b, L, {
394
395
  position: "end",
395
- semanticExecutionPayload: M
396
+ semanticExecutionPayload: V
396
397
  }), S(L.id), P.success("Visual saved to dashboard"), a(!1), C(!1);
397
- } catch (M) {
398
- console.error("Failed to save visual to dashboard:", M), P.error(
399
- M instanceof Error ? M.message : "Failed to prepare semantic metadata for the visual"
398
+ } catch (V) {
399
+ console.error("Failed to save visual to dashboard:", V), P.error(
400
+ V instanceof Error ? V.message : "Failed to prepare semantic metadata for the visual"
400
401
  );
401
402
  }
402
403
  }
403
404
  },
404
405
  isLibraryVisual: x,
405
- currentVisualName: N,
406
+ currentVisualName: D,
406
407
  isSaving: F.isPending
407
408
  };
408
409
  }
409
- function Bt(e = {}) {
410
- const a = j((D) => D.frame), v = j((D) => D.editorContext), l = Me((D) => D.selectedVisual), n = O((D) => D.selectedFrameId), d = O((D) => D.selectedSheetId), c = O((D) => D.dashboard), { setIsVisualEditing: m, updateFrame: i } = J(), [r, p] = T(!1), [b, h] = T("both"), y = ve(), E = (v == null ? void 0 : v.type) === "documentSection", f = !!(a != null && a.visualId || l != null && l.id), w = !!(a != null && a.visualId && n), S = f && !w, {
410
+ function zt(e = {}) {
411
+ const a = H((N) => N.frame), v = H((N) => N.editorContext), l = Ue((N) => N.selectedVisual), n = B((N) => N.selectedFrameId), c = B((N) => N.selectedSheetId), d = B((N) => N.dashboard), { setIsVisualEditing: m, updateFrame: i } = Z(), [r, p] = T(!1), [b, h] = T("both"), y = fe(), E = (v == null ? void 0 : v.type) === "documentSection", f = !!(a != null && a.visualId || l != null && l.id), w = !!(a != null && a.visualId && n), S = f && !w, {
411
412
  saveAsDialogOpen: C,
412
413
  setSaveAsDialogOpen: o,
413
414
  handleSaveAs: x,
414
- isLibraryVisual: N,
415
+ isLibraryVisual: D,
415
416
  currentVisualName: F,
416
417
  isSaving: U
417
418
  } = St(), { getUpdatedFrame: u } = Ee();
418
419
  if (E)
419
420
  return /* @__PURE__ */ s(_, { children: [
420
- /* @__PURE__ */ t(se, { className: "rounded-[5px]", variant: "default" }),
421
+ /* @__PURE__ */ t(se, { className: "rounded-control", variant: "default" }),
421
422
  /* @__PURE__ */ t(re, {})
422
423
  ] });
423
424
  const g = async () => {
424
- if (!d) {
425
+ if (!c) {
425
426
  P.error("No sheet selected");
426
427
  return;
427
428
  }
428
429
  if (r) return;
429
430
  p(!0);
430
- const D = u(), k = ge(D);
431
+ const N = u(), k = ye(N);
431
432
  if (k) {
432
433
  p(!1), P.error(k);
433
434
  return;
434
435
  }
435
436
  const L = {
436
- ...D,
437
+ ...N,
437
438
  visualId: void 0
438
- }, M = G(c, L.id);
439
+ }, V = G(d, L.id);
439
440
  try {
440
- const V = await y(L, {
441
- previousFrame: M
441
+ const M = await y(L, {
442
+ previousFrame: V
442
443
  });
443
- i(d, L, {
444
- semanticExecutionPayload: V
444
+ i(c, L, {
445
+ semanticExecutionPayload: M
445
446
  });
446
- } catch (V) {
447
- console.error("Failed to apply local semantic metadata:", V), p(!1), P.error(
448
- V instanceof Error ? V.message : "Failed to prepare semantic metadata for this visual"
447
+ } catch (M) {
448
+ console.error("Failed to apply local semantic metadata:", M), p(!1), P.error(
449
+ M instanceof Error ? M.message : "Failed to prepare semantic metadata for this visual"
449
450
  );
450
451
  return;
451
452
  }
452
453
  setTimeout(() => {
453
454
  p(!1), P.success("Changes applied. Visual is now local to this dashboard"), m(!1);
454
455
  }, 300);
455
- }, A = (D) => {
456
- h(D), o(!0);
456
+ }, A = (N) => {
457
+ h(N), o(!0);
457
458
  };
458
459
  return /* @__PURE__ */ s(_, { children: [
459
- /* @__PURE__ */ s("div", { className: "inline-flex items-center overflow-hidden rounded-[5px]", children: [
460
- !f && /* @__PURE__ */ t(
461
- se,
462
- {
463
- className: "rounded-none",
464
- variant: "default"
465
- }
466
- ),
467
- f && S && /* @__PURE__ */ t(
468
- ct,
469
- {
470
- className: "rounded-none",
471
- variant: "default"
472
- }
473
- ),
474
- f && w && /* @__PURE__ */ t(ut, { className: "rounded-none" }),
475
- /* @__PURE__ */ s(be, { modal: !1, children: [
476
- /* @__PURE__ */ t(xe, { asChild: !0, children: /* @__PURE__ */ t(
460
+ /* @__PURE__ */ s("div", { className: "inline-flex items-center overflow-hidden rounded-control", children: [
461
+ !f && /* @__PURE__ */ t(se, { className: "!rounded-none", variant: "default" }),
462
+ f && S && /* @__PURE__ */ t(dt, { className: "!rounded-none", variant: "default" }),
463
+ f && w && /* @__PURE__ */ t(ut, { className: "!rounded-none" }),
464
+ /* @__PURE__ */ s(ve, { modal: !1, children: [
465
+ /* @__PURE__ */ t(ge, { asChild: !0, children: /* @__PURE__ */ t(
477
466
  I,
478
467
  {
479
468
  variant: "default",
480
469
  size: "xs",
481
- className: "w-7 rounded-none border-l border-primary-foreground/20 px-0",
470
+ className: "w-7 !rounded-none border-l border-primary-foreground/20 px-0",
482
471
  "aria-label": "Open visual save options",
483
472
  disabled: U || r,
484
- children: /* @__PURE__ */ t(ye, { className: "h-3.5 w-3.5" })
473
+ children: /* @__PURE__ */ t(we, { className: "h-3.5 w-3.5" })
485
474
  }
486
475
  ) }),
487
476
  /* @__PURE__ */ s(
488
- we,
477
+ be,
489
478
  {
490
479
  align: "end",
491
- className: "min-w-[220px] rounded-[6px] border border-border/60 p-1 shadow-sm",
480
+ className: "min-w-[220px] rounded-control border border-border/60 p-1 shadow-sm",
492
481
  children: [
493
482
  w && /* @__PURE__ */ s(_, { children: [
494
483
  /* @__PURE__ */ s(
@@ -497,12 +486,12 @@ function Bt(e = {}) {
497
486
  onClick: g,
498
487
  disabled: r,
499
488
  children: [
500
- /* @__PURE__ */ t(Ve, { className: "h-3.5 w-3.5" }),
489
+ /* @__PURE__ */ t(ot, { className: "h-3.5 w-3.5" }),
501
490
  r ? "Applying..." : "Apply Locally"
502
491
  ]
503
492
  }
504
493
  ),
505
- /* @__PURE__ */ t(Oe, {})
494
+ /* @__PURE__ */ t(Ve, {})
506
495
  ] }),
507
496
  /* @__PURE__ */ s(
508
497
  R,
@@ -510,7 +499,7 @@ function Bt(e = {}) {
510
499
  onClick: () => A("local"),
511
500
  disabled: U,
512
501
  children: [
513
- /* @__PURE__ */ t(Be, { className: "h-3.5 w-3.5" }),
502
+ /* @__PURE__ */ t(Me, { className: "h-3.5 w-3.5" }),
514
503
  "Add to Dashboard (Local)"
515
504
  ]
516
505
  }
@@ -547,10 +536,10 @@ function Bt(e = {}) {
547
536
  Et,
548
537
  {
549
538
  open: C,
550
- onOpenChange: (D) => {
551
- U || o(D);
539
+ onOpenChange: (N) => {
540
+ U || o(N);
552
541
  },
553
- isLibraryVisual: N,
542
+ isLibraryVisual: D,
554
543
  currentVisualName: F,
555
544
  isSaving: U,
556
545
  destinationMode: b,
@@ -559,11 +548,11 @@ function Bt(e = {}) {
559
548
  )
560
549
  ] });
561
550
  }
562
- function zt({ className: e }) {
563
- const a = j((r) => r.isDevMode), v = O((r) => r.isVisualEditing), { setIsDevMode: l } = ze(), { config: n } = Ae(Re).tokenProps, d = (n == null ? void 0 : n.showAdvancedMode) !== !1;
564
- if (!v || !d)
551
+ function Rt({ className: e }) {
552
+ const a = H((r) => r.isDevMode), v = B((r) => r.isVisualEditing), { setIsDevMode: l } = nt(), { config: n } = Ae(Be).tokenProps, c = (n == null ? void 0 : n.showAdvancedMode) !== !1;
553
+ if (!v || !c)
565
554
  return null;
566
- const c = a ? Y : $e, m = a ? "Drag & drop" : "SQL", i = a ? "Switch to drag-and-drop mode" : "Switch to SQL mode";
555
+ const d = a ? Y : Oe, m = a ? "Drag & drop" : "SQL", i = a ? "Switch to drag-and-drop mode" : "Switch to SQL mode";
567
556
  return /* @__PURE__ */ s(
568
557
  "button",
569
558
  {
@@ -571,37 +560,37 @@ function zt({ className: e }) {
571
560
  "aria-label": i,
572
561
  title: i,
573
562
  onClick: () => l(!a),
574
- className: H(
575
- "inline-flex h-7 items-center gap-1.5 rounded-[5px] border border-border bg-background px-2 text-[12px] font-medium text-foreground transition-colors hover:bg-muted/40",
563
+ className: j(
564
+ "inline-flex h-7 items-center gap-1.5 rounded-control border border-input bg-background px-2 text-[12px] font-medium text-foreground transition-colors hover:bg-muted/40 focus-visible:border-ring focus-visible:outline-none",
576
565
  e
577
566
  ),
578
567
  children: [
579
- /* @__PURE__ */ t(c, { className: "h-3 w-3 text-muted-foreground" }),
568
+ /* @__PURE__ */ t(d, { className: "h-3 w-3 text-muted-foreground" }),
580
569
  m
581
570
  ]
582
571
  }
583
572
  );
584
573
  }
585
- function Rt({
574
+ function $t({
586
575
  open: e,
587
576
  onOpenChange: a,
588
577
  onSave: v,
589
578
  onDiscard: l,
590
579
  isSaving: n,
591
- title: d = "Unsaved changes",
592
- description: c = "You have unsaved changes to this dashboard. What would you like to do?",
580
+ title: c = "Unsaved changes",
581
+ description: d = "You have unsaved changes to this dashboard. What would you like to do?",
593
582
  cancelLabel: m = "Cancel",
594
583
  discardLabel: i = "Discard",
595
584
  saveLabel: r = "Save"
596
585
  }) {
597
- return /* @__PURE__ */ t(_e, { open: e, onOpenChange: (b) => {
586
+ return /* @__PURE__ */ t(ze, { open: e, onOpenChange: (b) => {
598
587
  !b && n || a(b);
599
- }, children: /* @__PURE__ */ s(He, { children: [
600
- /* @__PURE__ */ s(je, { children: [
601
- /* @__PURE__ */ t(Xe, { children: d }),
602
- /* @__PURE__ */ t(Ge, { children: c })
588
+ }, children: /* @__PURE__ */ s(Re, { children: [
589
+ /* @__PURE__ */ s($e, { children: [
590
+ /* @__PURE__ */ t(_e, { children: c }),
591
+ /* @__PURE__ */ t(je, { children: d })
603
592
  ] }),
604
- /* @__PURE__ */ s(Ke, { children: [
593
+ /* @__PURE__ */ s(He, { children: [
605
594
  /* @__PURE__ */ t(
606
595
  I,
607
596
  {
@@ -614,9 +603,9 @@ function Rt({
614
603
  children: i
615
604
  }
616
605
  ),
617
- /* @__PURE__ */ t(Qe, { disabled: n, children: m }),
606
+ /* @__PURE__ */ t(Xe, { disabled: n, children: m }),
618
607
  /* @__PURE__ */ t(I, { type: "button", size: "xs", onClick: v, disabled: n, children: n ? /* @__PURE__ */ s(_, { children: [
619
- /* @__PURE__ */ t(q, { className: "mr-2 h-3.5 w-3.5 animate-spin" }),
608
+ /* @__PURE__ */ t(K, { className: "mr-2 h-3.5 w-3.5 animate-spin" }),
620
609
  "Saving..."
621
610
  ] }) : r })
622
611
  ] })
@@ -633,13 +622,13 @@ function At({
633
622
  }, n = () => {
634
623
  switch (e.status) {
635
624
  case "completed":
636
- return /* @__PURE__ */ t(Ze, { className: "mt-0.5 h-5 w-5 shrink-0 text-green-600" });
625
+ return /* @__PURE__ */ t(qe, { className: "mt-0.5 h-5 w-5 shrink-0 text-green-600" });
637
626
  case "failed":
638
627
  return /* @__PURE__ */ t(pt, { className: "mt-0.5 h-5 w-5 shrink-0 text-destructive" });
639
628
  default:
640
- return /* @__PURE__ */ t(q, { className: "text-foreground-muted mt-0.5 h-5 w-5 shrink-0 animate-spin" });
629
+ return /* @__PURE__ */ t(K, { className: "text-foreground-muted mt-0.5 h-5 w-5 shrink-0 animate-spin" });
641
630
  }
642
- }, d = Q(e.status), c = (() => {
631
+ }, c = W(e.status), d = (() => {
643
632
  switch (e.status) {
644
633
  case "pending":
645
634
  return "Queued...";
@@ -666,10 +655,10 @@ function At({
666
655
  ] }),
667
656
  e.fileSize && /* @__PURE__ */ s(_, { children: [
668
657
  /* @__PURE__ */ t("span", { children: "•" }),
669
- /* @__PURE__ */ t("span", { children: We(e.fileSize) })
658
+ /* @__PURE__ */ t("span", { children: Ge(e.fileSize) })
670
659
  ] })
671
660
  ] }),
672
- d && /* @__PURE__ */ t("div", { className: "text-xs text-muted-foreground", children: c }),
661
+ c && /* @__PURE__ */ t("div", { className: "text-xs text-muted-foreground", children: d }),
673
662
  e.status === "failed" && /* @__PURE__ */ t("div", { className: "line-clamp-2 text-xs text-destructive", children: e.error || "Export failed" })
674
663
  ] })
675
664
  ] }),
@@ -681,7 +670,7 @@ function At({
681
670
  className: "h-6 w-6 shrink-0 opacity-0 transition-opacity group-hover:opacity-100",
682
671
  onClick: l,
683
672
  "aria-label": "Remove notification",
684
- children: /* @__PURE__ */ t(qe, { className: "h-4 w-4" })
673
+ children: /* @__PURE__ */ t(it, { className: "h-4 w-4" })
685
674
  }
686
675
  )
687
676
  ] }),
@@ -696,14 +685,14 @@ function At({
696
685
  className: "h-8 bg-transparent",
697
686
  onClick: v,
698
687
  children: [
699
- /* @__PURE__ */ t(Je, { className: "mr-1.5 h-3.5 w-3.5" }),
688
+ /* @__PURE__ */ t(Qe, { className: "mr-1.5 h-3.5 w-3.5" }),
700
689
  "Download"
701
690
  ]
702
691
  }
703
692
  )
704
693
  ] }),
705
- d && /* @__PURE__ */ s("div", { children: [
706
- /* @__PURE__ */ t(Ye, { value: e.progress, className: "h-1.5" }),
694
+ c && /* @__PURE__ */ s("div", { children: [
695
+ /* @__PURE__ */ t(We, { value: e.progress, className: "h-1.5" }),
707
696
  /* @__PURE__ */ s("span", { className: "mt-1 block text-xs text-muted-foreground", children: [
708
697
  e.progress,
709
698
  "% complete"
@@ -714,7 +703,7 @@ function At({
714
703
  ] });
715
704
  }
716
705
  function It() {
717
- const { authToken: e, tokenProps: a } = K(), v = z((f) => f.activeExports), { clearCompleted: l, removeExport: n, updateExport: d } = ce(), [c, m] = T(!1), [i, r] = T(!1), p = Array.from(v.values()).sort(
706
+ const { authToken: e, tokenProps: a } = Q(), v = z((f) => f.activeExports), { clearCompleted: l, removeExport: n, updateExport: c } = ce(), [d, m] = T(!1), [i, r] = T(!1), p = Array.from(v.values()).sort(
718
707
  (f, w) => w.startedAt.getTime() - f.startedAt.getTime()
719
708
  ), b = p.some(
720
709
  (f) => f.status === "completed" || f.status === "failed"
@@ -727,19 +716,19 @@ function It() {
727
716
  await Promise.all(
728
717
  S.map(async (C) => {
729
718
  try {
730
- const o = await de(f, w, C.id);
719
+ const o = await le(f, w, C.id);
731
720
  let x;
732
721
  if (o.status === "completed")
733
722
  try {
734
- x = await W(
723
+ x = await q(
735
724
  f,
736
725
  w,
737
726
  C.id
738
727
  );
739
- } catch (N) {
740
- console.error(`Failed to get download URL for ${C.id}:`, N);
728
+ } catch (D) {
729
+ console.error(`Failed to get download URL for ${C.id}:`, D);
741
730
  }
742
- d(C.id, {
731
+ c(C.id, {
743
732
  status: o.status,
744
733
  progress: o.progress,
745
734
  completedChunks: o.completedChunks,
@@ -762,7 +751,7 @@ function It() {
762
751
  v,
763
752
  e == null ? void 0 : e.accessToken,
764
753
  a == null ? void 0 : a.apiServiceUrl,
765
- d
754
+ c
766
755
  ]), y = $(async () => {
767
756
  const f = a == null ? void 0 : a.apiServiceUrl, w = e == null ? void 0 : e.accessToken;
768
757
  if (!f || !w) {
@@ -774,7 +763,7 @@ function It() {
774
763
  const S = p.filter(
775
764
  (o) => o.status === "completed" || o.status === "failed"
776
765
  ), C = await Promise.allSettled(
777
- S.map(async (o) => (await te(f, w, o.id), o.id))
766
+ S.map(async (o) => (await J(f, w, o.id), o.id))
778
767
  );
779
768
  for (const o of C)
780
769
  o.status === "fulfilled" ? n(o.value) : console.error("Failed to delete export:", o.reason);
@@ -792,7 +781,7 @@ function It() {
792
781
  const w = a == null ? void 0 : a.apiServiceUrl, S = e == null ? void 0 : e.accessToken;
793
782
  if (w && S)
794
783
  try {
795
- await te(w, S, f), n(f);
784
+ await J(w, S, f), n(f);
796
785
  return;
797
786
  } catch (C) {
798
787
  console.error(`Failed to cancel export ${f}:`, C);
@@ -819,12 +808,12 @@ function It() {
819
808
  size: "sm",
820
809
  className: "h-7 w-7 p-0",
821
810
  onClick: h,
822
- disabled: c,
811
+ disabled: d,
823
812
  title: "Refresh status",
824
813
  children: /* @__PURE__ */ t(
825
- et,
814
+ Ke,
826
815
  {
827
- className: `h-4 w-4 ${c ? "animate-spin" : ""}`
816
+ className: `h-4 w-4 ${d ? "animate-spin" : ""}`
828
817
  }
829
818
  )
830
819
  }
@@ -852,14 +841,14 @@ function It() {
852
841
  )) }) })
853
842
  ] });
854
843
  }
855
- function $t({
844
+ function _t({
856
845
  variant: e
857
846
  }) {
858
- const a = z((i) => i.activeExports), v = tt(), l = a.size > 0, n = Array.from(a.values()).some(
847
+ const a = z((i) => i.activeExports), v = Ze(), l = a.size > 0, n = Array.from(a.values()).some(
859
848
  (i) => i.status === "completed" || i.status === "failed"
860
- ), c = v > 0 ? v > 9 ? "9+" : String(v) : null;
849
+ ), d = v > 0 ? v > 9 ? "9+" : String(v) : null;
861
850
  return /* @__PURE__ */ s(Ce, { children: [
862
- /* @__PURE__ */ t(De, { asChild: !0, children: /* @__PURE__ */ s(
851
+ /* @__PURE__ */ t(Ne, { asChild: !0, children: /* @__PURE__ */ s(
863
852
  I,
864
853
  {
865
854
  variant: e ?? "ghost",
@@ -867,18 +856,18 @@ function $t({
867
856
  className: "relative w-7 px-0 text-muted-foreground hover:text-foreground",
868
857
  "aria-label": "Export notifications",
869
858
  children: [
870
- /* @__PURE__ */ t(at, { className: "h-3.5 w-3.5" }),
859
+ /* @__PURE__ */ t(Ye, { className: "h-3.5 w-3.5" }),
871
860
  l && /* @__PURE__ */ t(
872
861
  "span",
873
862
  {
874
- className: `absolute flex items-center justify-center rounded-full bg-primary text-primary-foreground ${c ? "-right-0.5 -top-0.5 h-3.5 min-w-3.5 px-0.5 text-[9px] font-semibold" : "right-1 top-1 h-1.5 w-1.5"}`,
875
- children: c
863
+ className: `absolute flex items-center justify-center rounded-full bg-primary text-primary-foreground ${d ? "-right-0.5 -top-0.5 h-3.5 min-w-3.5 px-0.5 text-[9px] font-semibold" : "right-1 top-1 h-1.5 w-1.5"}`,
864
+ children: d
876
865
  }
877
866
  )
878
867
  ]
879
868
  }
880
869
  ) }),
881
- /* @__PURE__ */ t(Ne, { className: "w-80 p-0", align: "end", sideOffset: 8, children: /* @__PURE__ */ t(It, {}) })
870
+ /* @__PURE__ */ t(De, { className: "w-80 p-0", align: "end", sideOffset: 8, children: /* @__PURE__ */ t(It, {}) })
882
871
  ] });
883
872
  }
884
873
  function Ft(e) {
@@ -890,15 +879,15 @@ function Ft(e) {
890
879
  affectedBindingControlIds: e.type === "add" || e.type === "update" ? e.affectedBindingControlIds : void 0
891
880
  };
892
881
  }
893
- function _t({
882
+ function jt({
894
883
  open: e,
895
884
  onOpenChange: a,
896
885
  trigger: v,
897
886
  showTrigger: l = !0,
898
887
  initialMode: n = "manage"
899
888
  }) {
900
- const d = n === "create", {
901
- forceClose: c,
889
+ const c = n === "create", {
890
+ forceClose: d,
902
891
  handleOpenChange: m,
903
892
  isCreateFlowActive: i,
904
893
  preventPassiveDismissDuringCreate: r,
@@ -915,7 +904,7 @@ function _t({
915
904
  // create and make consumers use `forceClose()` from a dedicated
916
905
  // button.
917
906
  dismissMode: l ? "passive" : "explicit-only"
918
- }), h = O((u) => u.dashboard), { setDashboardControlsModel: y } = J(), { participants: E } = st(rt(h)), f = Array.from(
907
+ }), h = B((u) => u.dashboard), { setDashboardControlsModel: y } = Z(), { participants: E } = Je(lt(h)), f = Array.from(
919
908
  new Map(
920
909
  E.flatMap(
921
910
  (u) => u.fieldChoices.map((g) => {
@@ -945,29 +934,29 @@ function _t({
945
934
  })
946
935
  )
947
936
  ).values()
948
- ), S = ot({
937
+ ), S = et({
949
938
  ...h || {},
950
939
  controls: []
951
- }), C = nt(h), o = (u, g, A) => {
940
+ }), C = tt(h), o = (u, g, A) => {
952
941
  y(
953
942
  u,
954
943
  g,
955
944
  Ft(A)
956
945
  );
957
946
  }, x = $(() => {
958
- if (d) {
959
- c();
947
+ if (c) {
948
+ d();
960
949
  return;
961
950
  }
962
951
  b(!1);
963
- }, [d, c, b]), N = /* @__PURE__ */ t(
952
+ }, [c, d, b]), D = /* @__PURE__ */ t(
964
953
  vt,
965
954
  {
966
955
  scope: "dashboard",
967
956
  controls: h.controls || [],
968
957
  reservedControlIds: S,
969
958
  defaultValues: h.defaultControlValues || {},
970
- usageByControlId: it(h),
959
+ usageByControlId: at(h),
971
960
  availableFieldChoices: f,
972
961
  availableMetricChoices: w,
973
962
  structuralParticipants: E,
@@ -983,15 +972,15 @@ function _t({
983
972
  /* @__PURE__ */ t("h4", { className: "text-sm font-medium", children: "Dashboard Controls" }),
984
973
  /* @__PURE__ */ t("p", { className: "text-xs text-muted-foreground", children: "Add shared controls viewers can use across the dashboard. Each card can decide how to respond to the same control." })
985
974
  ] }),
986
- N
975
+ D
987
976
  ] });
988
977
  return l ? /* @__PURE__ */ s(Ce, { open: p, onOpenChange: m, children: [
989
- /* @__PURE__ */ t(De, { asChild: !0, children: v || /* @__PURE__ */ s(I, { variant: "outline", className: "h-7 px-2", size: "sm", children: [
978
+ /* @__PURE__ */ t(Ne, { asChild: !0, children: v || /* @__PURE__ */ s(I, { variant: "outline", className: "h-7 px-2", size: "sm", children: [
990
979
  /* @__PURE__ */ t(Y, { className: "mr-2 h-4 w-4" }),
991
980
  "Controls"
992
981
  ] }) }),
993
982
  /* @__PURE__ */ t(
994
- Ne,
983
+ De,
995
984
  {
996
985
  className: "w-[620px] max-w-[95vw] space-y-4",
997
986
  align: "end",
@@ -1000,21 +989,21 @@ function _t({
1000
989
  children: U
1001
990
  }
1002
991
  )
1003
- ] }) : /* @__PURE__ */ t(ue, { open: p, onOpenChange: m, children: /* @__PURE__ */ s(
1004
- me,
992
+ ] }) : /* @__PURE__ */ t(de, { open: p, onOpenChange: m, children: /* @__PURE__ */ s(
993
+ ue,
1005
994
  {
1006
995
  className: "flex max-h-[88vh] flex-col overflow-hidden sm:max-w-[600px]",
1007
996
  onEscapeKeyDown: r,
1008
997
  onPointerDownOutside: r,
1009
998
  children: [
1010
999
  /* @__PURE__ */ s(
1011
- he,
1000
+ me,
1012
1001
  {
1013
1002
  className: i ? "space-y-0" : void 0,
1014
1003
  children: [
1015
- /* @__PURE__ */ t(pe, { className: "text-[15px]", children: F }),
1004
+ /* @__PURE__ */ t(he, { className: "text-[15px]", children: F }),
1016
1005
  /* @__PURE__ */ t(
1017
- fe,
1006
+ pe,
1018
1007
  {
1019
1008
  className: i ? "sr-only" : "text-[13px]",
1020
1009
  children: i ? "Configure and add a shared dashboard control." : "Add shared controls viewers can use across the dashboard. Each card can decide how to respond to the same control."
@@ -1023,7 +1012,7 @@ function _t({
1023
1012
  ]
1024
1013
  }
1025
1014
  ),
1026
- /* @__PURE__ */ t("div", { className: "min-h-0 overflow-y-auto pr-1", children: N })
1015
+ /* @__PURE__ */ t("div", { className: "min-h-0 overflow-y-auto pr-1", children: D })
1027
1016
  ]
1028
1017
  }
1029
1018
  ) });
@@ -1034,8 +1023,8 @@ function Ht({
1034
1023
  onAddFilter: v,
1035
1024
  onAddControl: l,
1036
1025
  onManageControls: n,
1037
- size: d = "default",
1038
- className: c,
1026
+ size: c = "default",
1027
+ className: d,
1039
1028
  primaryButtonClassName: m,
1040
1029
  secondaryButtonClassName: i,
1041
1030
  dropdownContentClassName: r
@@ -1043,14 +1032,14 @@ function Ht({
1043
1032
  return /* @__PURE__ */ s(
1044
1033
  "div",
1045
1034
  {
1046
- className: H(
1035
+ className: j(
1047
1036
  // Height lives on the shell so the outer border is part of the
1048
1037
  // h-7 box (matches regular `size="xs"` buttons). Inner buttons
1049
1038
  // stretch to fill via `h-full`, avoiding the 2px stack-up that
1050
1039
  // makes the combo taller than a sibling `<Button size="xs">`.
1051
- "relative inline-flex items-stretch overflow-hidden rounded-[5px] border border-input bg-background",
1052
- d === "toolbar" ? "h-8" : "h-7",
1053
- c
1040
+ "relative inline-flex items-stretch overflow-hidden rounded-control border border-input bg-background",
1041
+ c === "toolbar" ? "h-8" : "h-7",
1042
+ d
1054
1043
  ),
1055
1044
  children: [
1056
1045
  /* @__PURE__ */ s(
@@ -1058,42 +1047,42 @@ function Ht({
1058
1047
  {
1059
1048
  variant: "ghost",
1060
1049
  size: "xs",
1061
- className: H(
1050
+ className: j(
1062
1051
  "h-full rounded-none border-0 bg-transparent pl-2.5 pr-2 shadow-none hover:bg-accent/50",
1063
1052
  m
1064
1053
  ),
1065
1054
  onClick: a,
1066
1055
  children: [
1067
- e ? /* @__PURE__ */ t(gt, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ t(ae, { className: "h-3.5 w-3.5" }),
1056
+ e ? /* @__PURE__ */ t(gt, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ t(ee, { className: "h-3.5 w-3.5" }),
1068
1057
  "Filter"
1069
1058
  ]
1070
1059
  }
1071
1060
  ),
1072
- /* @__PURE__ */ s(be, { children: [
1073
- /* @__PURE__ */ t(xe, { asChild: !0, children: /* @__PURE__ */ t(
1061
+ /* @__PURE__ */ s(ve, { children: [
1062
+ /* @__PURE__ */ t(ge, { asChild: !0, children: /* @__PURE__ */ t(
1074
1063
  I,
1075
1064
  {
1076
1065
  variant: "ghost",
1077
1066
  size: "xs",
1078
- className: H(
1067
+ className: j(
1079
1068
  "h-full w-7 rounded-none border-0 border-l border-border/60 bg-transparent px-0 shadow-none hover:bg-accent/50",
1080
1069
  i
1081
1070
  ),
1082
1071
  "aria-label": "Filter and control actions",
1083
- children: /* @__PURE__ */ t(ye, { className: "h-3.5 w-3.5" })
1072
+ children: /* @__PURE__ */ t(we, { className: "h-3.5 w-3.5" })
1084
1073
  }
1085
1074
  ) }),
1086
1075
  /* @__PURE__ */ s(
1087
- we,
1076
+ be,
1088
1077
  {
1089
1078
  align: "start",
1090
- className: H(
1091
- "min-w-[180px] rounded-[6px] border border-border/60 p-1 shadow-sm",
1079
+ className: j(
1080
+ "min-w-[180px] rounded-control border border-border/60 p-1 shadow-sm",
1092
1081
  r
1093
1082
  ),
1094
1083
  children: [
1095
1084
  /* @__PURE__ */ s(R, { onSelect: v, children: [
1096
- /* @__PURE__ */ t(ae, { className: "h-3.5 w-3.5" }),
1085
+ /* @__PURE__ */ t(ee, { className: "h-3.5 w-3.5" }),
1097
1086
  "Add filter"
1098
1087
  ] }),
1099
1088
  /* @__PURE__ */ s(R, { onSelect: l, children: [
@@ -1101,7 +1090,7 @@ function Ht({
1101
1090
  "Add control"
1102
1091
  ] }),
1103
1092
  /* @__PURE__ */ s(R, { onSelect: n, children: [
1104
- /* @__PURE__ */ t(lt, { className: "h-3.5 w-3.5" }),
1093
+ /* @__PURE__ */ t(st, { className: "h-3.5 w-3.5" }),
1105
1094
  "Manage controls"
1106
1095
  ] })
1107
1096
  ]
@@ -1113,14 +1102,14 @@ function Ht({
1113
1102
  );
1114
1103
  }
1115
1104
  export {
1116
- zt as A,
1117
- _t as D,
1105
+ Rt as A,
1106
+ jt as D,
1118
1107
  It as E,
1119
- $t as N,
1120
- Rt as U,
1121
- Bt as V,
1108
+ _t as N,
1109
+ $t as U,
1110
+ zt as V,
1122
1111
  At as a,
1123
1112
  Ot as b,
1124
1113
  Ht as c,
1125
- Vt as u
1114
+ Bt as u
1126
1115
  };