@burdenoff/microfe-bigconsole 2026.812.2 → 2026.827.1

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 (40) hide show
  1. package/dist/bigconsole/components/builder/inspector/LayoutSection.js +71 -0
  2. package/dist/bigconsole/components/builder/inspector/LayoutSection.js.map +1 -0
  3. package/dist/bigconsole/components/builder/inspector/index.js +1 -0
  4. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +137 -121
  5. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
  6. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +204 -93
  7. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +1 -1
  8. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +259 -133
  9. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -1
  10. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +87 -39
  11. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +1 -1
  12. package/dist/bigconsole/components/datasink/DataSinkCard.js +88 -68
  13. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -1
  14. package/dist/bigconsole/components/widgets/PropertiesPanel.js +213 -199
  15. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  16. package/dist/bigconsole/components/workflow/WorkflowCard.js +46 -27
  17. package/dist/bigconsole/components/workflow/WorkflowCard.js.map +1 -1
  18. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +44 -47
  19. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -1
  20. package/dist/bigconsole/customWidget/proposalSource.js +31 -24
  21. package/dist/bigconsole/customWidget/proposalSource.js.map +1 -1
  22. package/dist/bigconsole/hooks/useDashboardOperations.js +74 -64
  23. package/dist/bigconsole/hooks/useDashboardOperations.js.map +1 -1
  24. package/dist/bigconsole/hooks/useDataSinkOperations.js +2 -2
  25. package/dist/bigconsole/hooks/useDataSinkOperations.js.map +1 -1
  26. package/dist/bigconsole/pages/DashboardBuilderPage.js +1 -1
  27. package/dist/bigconsole/pages/DashboardsPage.js +386 -316
  28. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  29. package/dist/bigconsole/pages/DataSinksPage.js +251 -206
  30. package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
  31. package/dist/bigconsole/pages/InsightsPage.js +646 -378
  32. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  33. package/dist/bigconsole/pages/WorkflowsPage.js +153 -108
  34. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  35. package/dist/bigconsole/utils/format.js +18 -0
  36. package/dist/bigconsole/utils/format.js.map +1 -0
  37. package/dist/bigconsole/utils/widgetPositioning.js +1 -1
  38. package/dist/generated/wspace-operations.js +1 -0
  39. package/dist/generated/wspace-operations.js.map +1 -1
  40. package/package.json +1 -1
@@ -7,19 +7,19 @@ import i from "../hooks/useDashboardOperations.js";
7
7
  import "../hooks/index.js";
8
8
  import { BIGCONSOLE_PERMISSIONS as a } from "../../constants/permissions.js";
9
9
  import o from "../components/dashboard/CreateDashboardDialog.js";
10
- import s from "../components/dashboard/ImportDashboardDialog.js";
11
- import { isNative as c, nativeConfirm as ee, nativeImpact as l, nativeNotify as u } from "../../utils/nativeBridge.js";
12
- import { memo as d, useCallback as f, useEffect as p, useState as m } from "react";
13
- import { AccessDenied as te, PermissionButton as h } from "@burdenoff/fe-libs/shared/components";
14
- import { usePermissions as ne } from "@burdenoff/fe-libs/shared/providers/shell";
15
- import { Calendar as g, ChevronLeft as re, ChevronRight as ie, Copy as _, FileText as v, Layers as y, LayoutDashboard as b, LayoutGrid as ae, List as oe, Pencil as x, Plus as S, Search as se, Trash2 as ce, Upload as le } from "lucide-react";
16
- import { useI18n as ue } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
17
- import { AuroraBackground as C, Badge as w, Button as T, CTAOverflowMenu as E, Card as D, CardContent as O, GlassCard as de, GradientText as k, IllustratedEmptyState as fe, Input as pe, PagePurpose as me, Spinner as A } from "@burdenoff/fe-libs/ui";
18
- import { jsx as j, jsxs as M } from "react/jsx-runtime";
10
+ import { isNative as s, nativeConfirm as ee, nativeImpact as c, nativeNotify as l } from "../../utils/nativeBridge.js";
11
+ import te from "../components/dashboard/ImportDashboardDialog.js";
12
+ import { memo as u, useCallback as d, useEffect as ne, useState as f } from "react";
13
+ import { AccessDenied as re, PermissionButton as p } from "@burdenoff/fe-libs/shared/components";
14
+ import { usePermissions as ie } from "@burdenoff/fe-libs/shared/providers/shell";
15
+ import { Calendar as m, ChevronLeft as ae, ChevronRight as oe, Copy as h, FileText as g, Layers as _, LayoutDashboard as v, LayoutGrid as se, List as ce, Pencil as le, Plus as ue, Search as de, Trash2 as fe, Upload as pe } from "lucide-react";
16
+ import { useI18n as me } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
17
+ import { AuroraBackground as y, Badge as b, Button as x, CTAOverflowMenu as S, Card as C, CardContent as w, GlassCard as he, GradientText as T, IllustratedEmptyState as ge, Input as _e, PagePurpose as ve, Spinner as E } from "@burdenoff/fe-libs/ui";
18
+ import { jsx as D, jsxs as O } from "react/jsx-runtime";
19
19
  //#region src/bigconsole/pages/DashboardsPage.tsx
20
- var N = "bf-bigconsole-dashboards-view", P = 12, F = 7;
21
- function he(e, t) {
22
- if (t <= F) return Array.from({ length: t }, (e, t) => t + 1);
20
+ var k = "bf-bigconsole-dashboards-view", A = 12, j = 7;
21
+ function ye(e, t) {
22
+ if (t <= j) return Array.from({ length: t }, (e, t) => t + 1);
23
23
  let n = new Set([
24
24
  1,
25
25
  t,
@@ -31,12 +31,12 @@ function he(e, t) {
31
31
  t > 0 && e - r[t - 1] > 1 && i.push(null), i.push(e);
32
32
  }), i;
33
33
  }
34
- var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onCreate: i, onImport: a, canCreate: o, canImport: s }) {
35
- return /* @__PURE__ */ M("div", {
34
+ var be = u(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onCreate: i, onImport: a, canCreate: o, canImport: s }) {
35
+ return /* @__PURE__ */ O("div", {
36
36
  className: "relative overflow-hidden border-b border-[var(--color-border-seam)] bg-[image:var(--gradient-gloss-card)]",
37
- children: [/* @__PURE__ */ j(C, { intensity: "subtle" }), /* @__PURE__ */ j("div", {
37
+ children: [/* @__PURE__ */ D(y, { intensity: "subtle" }), /* @__PURE__ */ D("div", {
38
38
  style: { padding: "var(--space-pagePadding)" },
39
- children: /* @__PURE__ */ M("div", {
39
+ children: /* @__PURE__ */ O("div", {
40
40
  style: {
41
41
  display: "flex",
42
42
  alignItems: "center",
@@ -44,14 +44,14 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
44
44
  flexWrap: "wrap",
45
45
  gap: "var(--space-formGap)"
46
46
  },
47
- children: [/* @__PURE__ */ M("div", {
47
+ children: [/* @__PURE__ */ O("div", {
48
48
  style: {
49
49
  display: "flex",
50
50
  alignItems: "center",
51
51
  gap: "var(--space-formGap)",
52
52
  minWidth: 0
53
53
  },
54
- children: [/* @__PURE__ */ j("div", {
54
+ children: [/* @__PURE__ */ D("div", {
55
55
  style: {
56
56
  display: "flex",
57
57
  height: "var(--size-controlHeight-lg)",
@@ -62,22 +62,22 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
62
62
  borderRadius: "var(--radius-card)",
63
63
  backgroundColor: "var(--color-action-primary-bg)"
64
64
  },
65
- children: /* @__PURE__ */ j(b, { style: {
65
+ children: /* @__PURE__ */ D(v, { style: {
66
66
  height: "var(--size-icon-lg)",
67
67
  width: "var(--size-icon-lg)",
68
68
  color: "var(--color-action-primary-text)"
69
69
  } })
70
- }), /* @__PURE__ */ M("div", {
70
+ }), /* @__PURE__ */ O("div", {
71
71
  style: { minWidth: 0 },
72
- children: [/* @__PURE__ */ j("h1", {
72
+ children: [/* @__PURE__ */ D("h1", {
73
73
  style: {
74
74
  fontSize: "var(--font-size-heading-h4)",
75
75
  fontWeight: "var(--font-weight-bold)",
76
76
  margin: 0,
77
77
  color: "var(--color-text-primary)"
78
78
  },
79
- children: /* @__PURE__ */ j(k, { children: e })
80
- }), /* @__PURE__ */ j("p", {
79
+ children: /* @__PURE__ */ D(T, { children: e })
80
+ }), /* @__PURE__ */ D("p", {
81
81
  style: {
82
82
  fontSize: "var(--font-size-body-sm)",
83
83
  color: "var(--color-text-secondary)",
@@ -86,12 +86,12 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
86
86
  children: t
87
87
  })]
88
88
  })]
89
- }), /* @__PURE__ */ j(E, {
89
+ }), /* @__PURE__ */ D(S, {
90
90
  primary: {
91
91
  label: n,
92
92
  onSelect: i,
93
93
  disabled: !o,
94
- icon: /* @__PURE__ */ j(S, { style: {
94
+ icon: /* @__PURE__ */ D(ue, { style: {
95
95
  marginRight: "var(--space-iconGap)",
96
96
  height: "var(--size-icon-sm)",
97
97
  width: "var(--size-icon-sm)"
@@ -101,7 +101,7 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
101
101
  label: r,
102
102
  onSelect: a,
103
103
  disabled: !s,
104
- icon: /* @__PURE__ */ j(le, { style: {
104
+ icon: /* @__PURE__ */ D(pe, { style: {
105
105
  height: "var(--size-icon-sm)",
106
106
  width: "var(--size-icon-sm)"
107
107
  } })
@@ -110,188 +110,227 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
110
110
  })
111
111
  })]
112
112
  });
113
- }), I = d(function() {
114
- let d = n(), { t: C } = ue(), E = f((e, t) => {
115
- let n = C(e);
113
+ }), M = {
114
+ PUBLISHED: "var(--color-status-success-bg)",
115
+ DRAFT: "var(--color-text-muted)",
116
+ ARCHIVED: "var(--color-status-warning-bg)"
117
+ }, N = u(function({ status: e, label: t }) {
118
+ return /* @__PURE__ */ O("span", {
119
+ "data-testid": "dashboard-status",
120
+ style: {
121
+ display: "inline-flex",
122
+ alignItems: "center",
123
+ gap: "var(--space-iconGap)",
124
+ padding: "2px 8px",
125
+ borderRadius: "var(--radius-pill)",
126
+ backgroundColor: "var(--color-bg-sunken)",
127
+ border: "1px solid var(--color-border-subtle)",
128
+ fontSize: "10px",
129
+ fontWeight: "var(--font-weight-semibold)",
130
+ textTransform: "uppercase",
131
+ letterSpacing: "0.02em",
132
+ color: "var(--color-text-secondary)",
133
+ whiteSpace: "nowrap"
134
+ },
135
+ children: [/* @__PURE__ */ D("span", {
136
+ "aria-hidden": "true",
137
+ style: {
138
+ width: 6,
139
+ height: 6,
140
+ borderRadius: "50%",
141
+ backgroundColor: M[e],
142
+ flexShrink: 0
143
+ }
144
+ }), t]
145
+ });
146
+ }), P = u(function() {
147
+ let u = n(), { t: y } = me(), S = d((e, t) => {
148
+ let n = y(e);
116
149
  return n === e ? t : n;
117
- }, [C]), [k, F] = m(""), [I, L] = m(1), [_e, R] = m(!1), [z, B] = m(!1), [ve, V] = m(!1), [H, ye] = m(() => {
150
+ }, [y]), [T, j] = f(""), [M, P] = f(1), [xe, F] = f(!1), [I, L] = f(!1), [Se, R] = f(!1), [z, Ce] = f(() => {
118
151
  try {
119
- return window.localStorage.getItem(N) === "list" ? "list" : "grid";
152
+ return window.localStorage.getItem(k) === "list" ? "list" : "grid";
120
153
  } catch {
121
154
  return "grid";
122
155
  }
123
- }), U = f((e) => {
124
- ye(e);
156
+ }), B = d((e) => {
157
+ Ce(e);
125
158
  try {
126
- window.localStorage.setItem(N, e);
159
+ window.localStorage.setItem(k, e);
127
160
  } catch {}
128
- }, []), { loading: W, error: be, dashboards: G, createDashboard: K, deleteDashboard: q, cloneDashboard: J, refetch: Y } = i(), { hasPermission: X, isLoading: xe } = ne(), Se = X(a.DASHBOARD_READ), Ce = X(a.DASHBOARD_CREATE), we = X(a.DASHBOARD_IMPORT), Z = G.filter((e) => e.name.toLowerCase().includes(k.toLowerCase()) || e.description?.toLowerCase().includes(k.toLowerCase())), Q = Math.max(1, Math.ceil(Z.length / P)), Te = (I - 1) * P, Ee = Z.slice(Te, Te + P);
129
- p(() => {
130
- L(1);
131
- }, [k, H]), p(() => {
132
- I > Q && L(Q);
133
- }, [I, Q]);
134
- let De = f(() => {
135
- L((e) => Math.max(1, e - 1));
136
- }, []), Oe = f(() => {
137
- L((e) => Math.min(Q, e + 1));
138
- }, [Q]), ke = f((e) => {
139
- L(e);
140
- }, []), Ae = f(() => {
141
- R(!0);
142
- }, []), je = f(({ dashboardId: e }) => {
143
- Y(), d(`/dashboards/${e}`);
144
- }, [Y, d]), Me = f(() => {
145
- z || R(!1);
146
- }, [z]), Ne = f(async (e) => {
147
- B(!0);
161
+ }, []), { loading: V, error: H, dashboards: we, createDashboard: U, deleteDashboard: W, cloneDashboard: G, refetch: K } = i(), { hasPermission: q, isLoading: Te } = ie(), Ee = q(a.DASHBOARD_READ), De = q(a.DASHBOARD_CREATE), Oe = q(a.DASHBOARD_IMPORT), J = we.filter((e) => e.name.toLowerCase().includes(T.toLowerCase()) || e.description?.toLowerCase().includes(T.toLowerCase())), Y = Math.max(1, Math.ceil(J.length / A)), X = (M - 1) * A, Z = J.slice(X, X + A);
162
+ ne(() => {
163
+ P(1);
164
+ }, [T, z]), ne(() => {
165
+ M > Y && P(Y);
166
+ }, [M, Y]);
167
+ let ke = d(() => {
168
+ P((e) => Math.max(1, e - 1));
169
+ }, []), Ae = d(() => {
170
+ P((e) => Math.min(Y, e + 1));
171
+ }, [Y]), je = d((e) => {
172
+ P(e);
173
+ }, []), Me = d(() => {
174
+ F(!0);
175
+ }, []), Ne = d(({ dashboardId: e }) => {
176
+ K(), u(`/dashboards/${e}`);
177
+ }, [K, u]), Pe = d(() => {
178
+ I || F(!1);
179
+ }, [I]), Fe = d(async (e) => {
180
+ L(!0);
148
181
  try {
149
- let t = await K({
182
+ let t = await U({
150
183
  name: e.name,
151
184
  description: e.description,
152
185
  category: e.category,
153
186
  tags: e.tags
154
187
  });
155
- t && (R(!1), d(`/dashboards/${t.id}/builder`));
188
+ t && (F(!1), u(`/dashboards/${t.id}/builder`));
156
189
  } catch (e) {
157
190
  if (r(e, "project")) {
158
- R(!1);
191
+ F(!1);
159
192
  return;
160
193
  }
161
- throw console.error("Failed to create dashboard:", e), c() && u("error"), e;
194
+ throw console.error("Failed to create dashboard:", e), s() && l("error"), e;
162
195
  } finally {
163
- B(!1);
196
+ L(!1);
164
197
  }
165
- }, [K, d]), Pe = f((e) => {
166
- d(`/dashboards/${e}`);
167
- }, [d]), $ = f((e, t) => {
168
- t.stopPropagation(), d(`/dashboards/${e}/builder`);
169
- }, [d]), Fe = f(async (e, t) => {
198
+ }, [U, u]), Q = d((e) => {
199
+ u(`/dashboards/${e}`);
200
+ }, [u]), Ie = d((e, t) => {
201
+ t.stopPropagation(), u(`/dashboards/${e}/builder`);
202
+ }, [u]), Le = d(async (e, t) => {
170
203
  t.stopPropagation();
171
- let n = E("bigconsole.dashboards.confirmDelete", "Are you sure you want to delete this dashboard?"), r = await ee({
204
+ let n = S("bigconsole.dashboards.confirmDelete", "Are you sure you want to delete this dashboard?"), r = await ee({
172
205
  title: "Delete dashboard?",
173
206
  message: n,
174
207
  okButtonTitle: "Delete",
175
208
  cancelButtonTitle: "Cancel"
176
209
  });
177
210
  if (r === null ? window.confirm(n) : r) {
178
- l("medium");
211
+ c("medium");
179
212
  try {
180
- await q(e), c() && u("success");
213
+ await W(e), s() && l("success");
181
214
  } catch (e) {
182
- throw c() && u("error"), e;
215
+ throw s() && l("error"), e;
183
216
  }
184
217
  }
185
- }, [q, E]), Ie = f(async (e, t, n) => {
218
+ }, [W, S]), Re = d(async (e, t, n) => {
186
219
  n.stopPropagation();
187
- let i = C("bigconsole.dashboards.clone.defaultSuffix", "{{sourceName}} (Copy)", { sourceName: t }), a = window.prompt(E("bigconsole.dashboards.clone.namePrompt", "Name for the cloned dashboard:"), i);
220
+ let i = y("bigconsole.dashboards.clone.defaultSuffix", "{{sourceName}} (Copy)", { sourceName: t }), a = window.prompt(S("bigconsole.dashboards.clone.namePrompt", "Name for the cloned dashboard:"), i);
188
221
  if (!(!a || !a.trim())) {
189
- l("medium");
222
+ c("medium");
190
223
  try {
191
- let t = await J(e, a.trim());
192
- t && (c() && u("success"), d(`/dashboards/${t.id}`));
224
+ let t = await G(e, a.trim());
225
+ t && (s() && l("success"), u(`/dashboards/${t.id}`));
193
226
  } catch (e) {
194
227
  if (r(e, "project")) return;
195
- throw c() && u("error"), e;
228
+ throw s() && l("error"), e;
196
229
  }
197
230
  }
198
231
  }, [
199
- J,
200
- d,
201
- E,
202
- C
203
- ]), Le = f(() => {
204
- V(!0);
205
- }, []), Re = f(() => {
206
- V(!1);
207
- }, []), ze = f((e, t) => {
208
- Y();
209
- }, [Y]), Be = (e) => {
232
+ G,
233
+ u,
234
+ S,
235
+ y
236
+ ]), ze = d(() => {
237
+ R(!0);
238
+ }, []), Be = d(() => {
239
+ R(!1);
240
+ }, []), Ve = d((e, t) => {
241
+ K();
242
+ }, [K]), He = (e) => {
210
243
  let t = new Date(e), n = /* @__PURE__ */ new Date(), r = n.getTime() - t.getTime(), i = Math.floor(r / 6e4), a = Math.floor(r / 36e5), o = Math.floor(r / 864e5);
211
- return i < 1 ? E("bigconsole.dashboards.time.justNow", "Just now") : i < 60 ? `${i}${E("bigconsole.dashboards.time.minutesAgoSuffix", "m ago")}` : a < 24 ? `${a}${E("bigconsole.dashboards.time.hoursAgoSuffix", "h ago")}` : o < 7 ? `${o}${E("bigconsole.dashboards.time.daysAgoSuffix", "d ago")}` : new Intl.DateTimeFormat("en-US", {
244
+ return i < 1 ? S("bigconsole.dashboards.time.justNow", "Just now") : i < 60 ? `${i}${S("bigconsole.dashboards.time.minutesAgoSuffix", "m ago")}` : a < 24 ? `${a}${S("bigconsole.dashboards.time.hoursAgoSuffix", "h ago")}` : o < 7 ? `${o}${S("bigconsole.dashboards.time.daysAgoSuffix", "d ago")}` : new Intl.DateTimeFormat("en-US", {
212
245
  month: "short",
213
246
  day: "numeric",
214
247
  year: t.getFullYear() === n.getFullYear() ? void 0 : "numeric"
215
248
  }).format(t);
216
- }, Ve = (e) => e.widgetCount ?? 0, He = (e) => e.pageCount || 0, Ue = /* @__PURE__ */ j(ge, {
217
- title: E("bigconsole.dashboards.title", "Dashboards"),
218
- subtitle: E("bigconsole.dashboards.subtitle", "Create and manage your analytics dashboards"),
219
- createLabel: E("bigconsole.dashboards.actions.create", "Create Dashboard"),
220
- importLabel: E("bigconsole.dashboards.actions.import", "Import"),
221
- onCreate: Ae,
222
- onImport: Le,
223
- canCreate: Ce,
224
- canImport: we
249
+ }, Ue = d((e) => {
250
+ switch (e) {
251
+ case "PUBLISHED": return S("bigconsole.dashboards.status.published", "Published");
252
+ case "ARCHIVED": return S("bigconsole.dashboards.status.archived", "Archived");
253
+ default: return S("bigconsole.dashboards.status.draft", "Draft");
254
+ }
255
+ }, [S]), We = (e) => e.widgetCount ?? 0, Ge = (e) => e.pageCount || 0, Ke = /* @__PURE__ */ D(be, {
256
+ title: S("bigconsole.dashboards.title", "Dashboards"),
257
+ subtitle: S("bigconsole.dashboards.subtitle", "Create and manage your analytics dashboards"),
258
+ createLabel: S("bigconsole.dashboards.actions.create", "Create Dashboard"),
259
+ importLabel: S("bigconsole.dashboards.actions.import", "Import"),
260
+ onCreate: Me,
261
+ onImport: ze,
262
+ canCreate: De,
263
+ canImport: Oe
225
264
  });
226
- if (xe) return /* @__PURE__ */ j("div", {
265
+ if (Te) return /* @__PURE__ */ D("div", {
227
266
  style: {
228
267
  display: "flex",
229
268
  alignItems: "center",
230
269
  justifyContent: "center",
231
270
  padding: "80px 0"
232
271
  },
233
- children: /* @__PURE__ */ j(A, { style: {
272
+ children: /* @__PURE__ */ D(E, { style: {
234
273
  height: "var(--size-icon-xl)",
235
274
  width: "var(--size-icon-xl)"
236
275
  } })
237
276
  });
238
- if (!Se) return /* @__PURE__ */ j(te, {
277
+ if (!Ee) return /* @__PURE__ */ D(re, {
239
278
  title: "Access Denied",
240
279
  description: "You don't have permission to view dashboards."
241
280
  });
242
- if (be) return /* @__PURE__ */ M("div", {
281
+ if (H) return /* @__PURE__ */ O("div", {
243
282
  style: {
244
283
  minHeight: "100vh",
245
284
  backgroundColor: "var(--color-bg-canvas)"
246
285
  },
247
- children: [Ue, /* @__PURE__ */ j("div", {
286
+ children: [Ke, /* @__PURE__ */ D("div", {
248
287
  style: { padding: "var(--space-pagePadding)" },
249
- children: /* @__PURE__ */ j(e, {
288
+ children: /* @__PURE__ */ D(e, {
250
289
  headingLevel: 2,
251
290
  tone: "danger",
252
- title: E("bigconsole.dashboards.error.title", "Error loading dashboards"),
253
- description: be.message,
291
+ title: S("bigconsole.dashboards.error.title", "Error loading dashboards"),
292
+ description: H.message,
254
293
  "data-testid": "dashboards-error",
255
- actions: /* @__PURE__ */ j(T, {
294
+ actions: /* @__PURE__ */ D(x, {
256
295
  size: "sm",
257
- onClick: () => Y(),
258
- children: E("bigconsole.dashboards.error.retry", "Retry")
296
+ onClick: () => K(),
297
+ children: S("bigconsole.dashboards.error.retry", "Retry")
259
298
  })
260
299
  })
261
300
  })]
262
301
  });
263
- let We = Z.length;
264
- return /* @__PURE__ */ M("div", {
302
+ let $ = J.length;
303
+ return /* @__PURE__ */ O("div", {
265
304
  style: {
266
305
  minHeight: "100vh",
267
306
  backgroundColor: "var(--color-bg-canvas)"
268
307
  },
269
308
  children: [
270
- Ue,
271
- /* @__PURE__ */ j("div", {
309
+ Ke,
310
+ /* @__PURE__ */ D("div", {
272
311
  style: { padding: "var(--space-pagePadding)" },
273
- children: /* @__PURE__ */ M(t, { children: [/* @__PURE__ */ j(e, {
312
+ children: /* @__PURE__ */ O(t, { children: [/* @__PURE__ */ D(e, {
274
313
  emphasis: "muted",
275
314
  padding: "compact",
276
- "aria-label": E("bigconsole.dashboards.about", "About dashboards"),
277
- children: /* @__PURE__ */ j(me, {
315
+ "aria-label": S("bigconsole.dashboards.about", "About dashboards"),
316
+ children: /* @__PURE__ */ D(ve, {
278
317
  className: "max-w-[80ch]",
279
318
  children: "Dashboards are live, shareable views built from widgets that query your data sinks — charts, tables, metrics, and drill-downs in one place. Compose a board to monitor a system, share KPIs with your team, or explore data interactively."
280
319
  })
281
- }), /* @__PURE__ */ M(e, {
320
+ }), /* @__PURE__ */ O(e, {
282
321
  headingLevel: 2,
283
322
  emphasis: "primary",
284
323
  "data-testid": "dashboards-results",
285
- title: E("bigconsole.dashboards.results.title", "Your dashboards"),
286
- description: E("bigconsole.dashboards.results.description", "Open a board to view it, or use the card actions to edit, duplicate or delete."),
287
- meta: /* @__PURE__ */ j(w, {
324
+ title: S("bigconsole.dashboards.results.title", "Your dashboards"),
325
+ description: S("bigconsole.dashboards.results.description", "Open a board to view it, or use the card actions to edit, duplicate or delete."),
326
+ meta: /* @__PURE__ */ D(b, {
288
327
  variant: "secondary",
289
- "aria-label": E("bigconsole.dashboards.results.count", `${We} dashboards`),
290
- children: We
328
+ "aria-label": S("bigconsole.dashboards.results.count", `${$} dashboards`),
329
+ children: $
291
330
  }),
292
- actions: /* @__PURE__ */ M("div", {
331
+ actions: /* @__PURE__ */ O("div", {
293
332
  role: "group",
294
- "aria-label": E("bigconsole.dashboards.view.label", "Result layout"),
333
+ "aria-label": S("bigconsole.dashboards.view.label", "Result layout"),
295
334
  style: {
296
335
  display: "flex",
297
336
  alignItems: "center",
@@ -300,37 +339,37 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
300
339
  borderRadius: "var(--radius-button)",
301
340
  backgroundColor: "var(--color-bg-sunken)"
302
341
  },
303
- children: [/* @__PURE__ */ j(T, {
304
- variant: H === "grid" ? "default" : "ghost",
342
+ children: [/* @__PURE__ */ D(x, {
343
+ variant: z === "grid" ? "default" : "ghost",
305
344
  size: "sm",
306
- onClick: () => U("grid"),
307
- "aria-label": E("bigconsole.dashboards.view.grid", "Grid view"),
308
- "aria-pressed": H === "grid",
309
- title: E("bigconsole.dashboards.view.grid", "Grid view"),
345
+ onClick: () => B("grid"),
346
+ "aria-label": S("bigconsole.dashboards.view.grid", "Grid view"),
347
+ "aria-pressed": z === "grid",
348
+ title: S("bigconsole.dashboards.view.grid", "Grid view"),
310
349
  style: {
311
350
  height: "var(--size-controlHeight-md)",
312
351
  width: "var(--size-controlHeight-md)",
313
352
  padding: 0,
314
353
  borderRadius: "var(--radius-button)"
315
354
  },
316
- children: /* @__PURE__ */ j(ae, { style: {
355
+ children: /* @__PURE__ */ D(se, { style: {
317
356
  height: "var(--size-icon-sm)",
318
357
  width: "var(--size-icon-sm)"
319
358
  } })
320
- }), /* @__PURE__ */ j(T, {
321
- variant: H === "list" ? "default" : "ghost",
359
+ }), /* @__PURE__ */ D(x, {
360
+ variant: z === "list" ? "default" : "ghost",
322
361
  size: "sm",
323
- onClick: () => U("list"),
324
- "aria-label": E("bigconsole.dashboards.view.list", "List view"),
325
- "aria-pressed": H === "list",
326
- title: E("bigconsole.dashboards.view.list", "List view"),
362
+ onClick: () => B("list"),
363
+ "aria-label": S("bigconsole.dashboards.view.list", "List view"),
364
+ "aria-pressed": z === "list",
365
+ title: S("bigconsole.dashboards.view.list", "List view"),
327
366
  style: {
328
367
  height: "var(--size-controlHeight-md)",
329
368
  width: "var(--size-controlHeight-md)",
330
369
  padding: 0,
331
370
  borderRadius: "var(--radius-button)"
332
371
  },
333
- children: /* @__PURE__ */ j(oe, { style: {
372
+ children: /* @__PURE__ */ D(ce, { style: {
334
373
  height: "var(--size-icon-sm)",
335
374
  width: "var(--size-icon-sm)"
336
375
  } })
@@ -338,13 +377,13 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
338
377
  }),
339
378
  bodyClassName: "flex flex-col gap-form-gap",
340
379
  children: [
341
- /* @__PURE__ */ M("div", {
380
+ /* @__PURE__ */ O("div", {
342
381
  style: {
343
382
  position: "relative",
344
383
  width: "100%",
345
384
  maxWidth: "420px"
346
385
  },
347
- children: [/* @__PURE__ */ j(se, {
386
+ children: [/* @__PURE__ */ D(de, {
348
387
  "aria-hidden": "true",
349
388
  style: {
350
389
  position: "absolute",
@@ -355,61 +394,61 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
355
394
  width: "var(--size-icon-sm)",
356
395
  color: "var(--color-text-muted)"
357
396
  }
358
- }), /* @__PURE__ */ j(pe, {
397
+ }), /* @__PURE__ */ D(_e, {
359
398
  type: "search",
360
- "aria-label": E("bigconsole.dashboards.search.placeholder", "Search dashboards..."),
361
- placeholder: E("bigconsole.dashboards.search.placeholder", "Search dashboards..."),
362
- value: k,
363
- onChange: (e) => F(e.target.value),
399
+ "aria-label": S("bigconsole.dashboards.search.placeholder", "Search dashboards..."),
400
+ placeholder: S("bigconsole.dashboards.search.placeholder", "Search dashboards..."),
401
+ value: T,
402
+ onChange: (e) => j(e.target.value),
364
403
  style: {
365
404
  paddingLeft: "var(--size-controlHeight-md)",
366
405
  height: "var(--size-controlHeight-md)"
367
406
  }
368
407
  })]
369
408
  }),
370
- W && G.length === 0 && /* @__PURE__ */ j("div", {
409
+ V && we.length === 0 && /* @__PURE__ */ D("div", {
371
410
  style: {
372
411
  display: "flex",
373
412
  alignItems: "center",
374
413
  justifyContent: "center",
375
414
  padding: "80px 0"
376
415
  },
377
- children: /* @__PURE__ */ M("div", {
416
+ children: /* @__PURE__ */ O("div", {
378
417
  style: { textAlign: "center" },
379
- children: [/* @__PURE__ */ j(A, { style: {
418
+ children: [/* @__PURE__ */ D(E, { style: {
380
419
  height: "var(--size-icon-xl)",
381
420
  width: "var(--size-icon-xl)",
382
421
  margin: "0 auto var(--space-formGap)"
383
- } }), /* @__PURE__ */ j("p", {
422
+ } }), /* @__PURE__ */ D("p", {
384
423
  style: {
385
424
  fontSize: "var(--font-size-body-sm)",
386
425
  color: "var(--color-text-muted)"
387
426
  },
388
- children: E("bigconsole.dashboards.loading", "Loading dashboards...")
427
+ children: S("bigconsole.dashboards.loading", "Loading dashboards...")
389
428
  })]
390
429
  })
391
430
  }),
392
- !W && H === "grid" && Z.length > 0 && /* @__PURE__ */ j("div", {
431
+ !V && z === "grid" && J.length > 0 && /* @__PURE__ */ D("div", {
393
432
  style: {
394
433
  display: "grid",
395
434
  gridTemplateColumns: "repeat(auto-fill, minmax(min(320px, 100%), 1fr))",
396
435
  gap: "var(--space-formGap)"
397
436
  },
398
- children: Ee.map((e) => /* @__PURE__ */ j(D, {
399
- onClick: () => Pe(e.id),
437
+ children: Z.map((e) => /* @__PURE__ */ D(C, {
438
+ onClick: () => Q(e.id),
400
439
  style: { cursor: "pointer" },
401
440
  className: "motion-safe:transition-[box-shadow,border-color] hover:border-[var(--color-border-hover)] hover:shadow-[var(--shadow-elevation-2)]",
402
- children: /* @__PURE__ */ M(O, {
441
+ children: /* @__PURE__ */ O(w, {
403
442
  style: { padding: "var(--space-cardPadding)" },
404
443
  children: [
405
- /* @__PURE__ */ M("div", {
444
+ /* @__PURE__ */ O("div", {
406
445
  style: {
407
446
  display: "flex",
408
447
  alignItems: "center",
409
448
  gap: "var(--space-controlGap)",
410
449
  marginBottom: "var(--space-formGap)"
411
450
  },
412
- children: [/* @__PURE__ */ j("div", {
451
+ children: [/* @__PURE__ */ D("div", {
413
452
  style: {
414
453
  display: "flex",
415
454
  height: "var(--size-controlHeight-lg)",
@@ -420,7 +459,7 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
420
459
  borderRadius: "var(--radius-button)",
421
460
  backgroundColor: "var(--color-bg-accentSubtle)"
422
461
  },
423
- children: /* @__PURE__ */ j(b, {
462
+ children: /* @__PURE__ */ D(v, {
424
463
  "aria-hidden": "true",
425
464
  style: {
426
465
  height: "var(--size-icon-md)",
@@ -428,12 +467,12 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
428
467
  color: "var(--color-action-primary-bg)"
429
468
  }
430
469
  })
431
- }), /* @__PURE__ */ M("div", {
470
+ }), /* @__PURE__ */ O("div", {
432
471
  style: {
433
472
  flex: 1,
434
473
  minWidth: 0
435
474
  },
436
- children: [/* @__PURE__ */ j("h3", {
475
+ children: [/* @__PURE__ */ D("h3", {
437
476
  style: {
438
477
  fontWeight: "var(--font-weight-bold)",
439
478
  fontSize: "var(--font-size-body-md)",
@@ -444,19 +483,30 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
444
483
  whiteSpace: "nowrap"
445
484
  },
446
485
  children: e.name
447
- }), e.category && /* @__PURE__ */ j(w, {
448
- variant: "secondary",
486
+ }), /* @__PURE__ */ O("div", {
449
487
  style: {
450
- marginTop: "var(--space-controlGap)",
451
- fontSize: "10px",
452
- fontWeight: "var(--font-weight-semibold)",
453
- textTransform: "uppercase"
488
+ display: "flex",
489
+ alignItems: "center",
490
+ gap: "var(--space-controlGap)",
491
+ flexWrap: "wrap",
492
+ marginTop: "var(--space-controlGap)"
454
493
  },
455
- children: e.category
494
+ children: [e.category && /* @__PURE__ */ D(b, {
495
+ variant: "secondary",
496
+ style: {
497
+ fontSize: "10px",
498
+ fontWeight: "var(--font-weight-semibold)",
499
+ textTransform: "uppercase"
500
+ },
501
+ children: e.category
502
+ }), e.status && /* @__PURE__ */ D(N, {
503
+ status: e.status,
504
+ label: Ue(e.status)
505
+ })]
456
506
  })]
457
507
  })]
458
508
  }),
459
- /* @__PURE__ */ j("p", {
509
+ /* @__PURE__ */ D("p", {
460
510
  style: {
461
511
  fontSize: "var(--font-size-body-sm)",
462
512
  lineHeight: "var(--font-lineHeight-normal)",
@@ -468,9 +518,9 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
468
518
  WebkitBoxOrient: "vertical",
469
519
  overflow: "hidden"
470
520
  },
471
- children: e.description || E("bigconsole.dashboards.card.noDescription", "No description provided")
521
+ children: e.description || S("bigconsole.dashboards.card.noDescription", "No description provided")
472
522
  }),
473
- /* @__PURE__ */ M("div", {
523
+ /* @__PURE__ */ O("div", {
474
524
  style: {
475
525
  display: "flex",
476
526
  alignItems: "center",
@@ -481,72 +531,72 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
481
531
  borderRadius: "var(--radius-button)"
482
532
  },
483
533
  children: [
484
- /* @__PURE__ */ M("div", {
534
+ /* @__PURE__ */ O("div", {
485
535
  style: {
486
536
  display: "flex",
487
537
  alignItems: "center",
488
538
  gap: "var(--space-iconGap)"
489
539
  },
490
540
  children: [
491
- /* @__PURE__ */ j(y, { style: {
541
+ /* @__PURE__ */ D(_, { style: {
492
542
  height: "var(--size-icon-sm)",
493
543
  width: "var(--size-icon-sm)",
494
544
  color: "var(--color-action-primary-bg)"
495
545
  } }),
496
- /* @__PURE__ */ j("span", {
546
+ /* @__PURE__ */ D("span", {
497
547
  style: {
498
548
  fontSize: "var(--font-size-body-sm)",
499
549
  fontWeight: "var(--font-weight-semibold)",
500
550
  color: "var(--color-text-primary)"
501
551
  },
502
- children: He(e)
552
+ children: Ge(e)
503
553
  }),
504
- /* @__PURE__ */ j("span", {
554
+ /* @__PURE__ */ D("span", {
505
555
  style: {
506
556
  fontSize: "var(--font-size-body-sm)",
507
557
  color: "var(--color-text-muted)"
508
558
  },
509
- children: E("bigconsole.dashboards.card.pages", "pages")
559
+ children: S("bigconsole.dashboards.card.pages", "pages")
510
560
  })
511
561
  ]
512
562
  }),
513
- /* @__PURE__ */ j("div", { style: {
563
+ /* @__PURE__ */ D("div", { style: {
514
564
  width: "1px",
515
565
  height: "var(--size-icon-sm)",
516
566
  backgroundColor: "var(--color-border-subtle)"
517
567
  } }),
518
- /* @__PURE__ */ M("div", {
568
+ /* @__PURE__ */ O("div", {
519
569
  style: {
520
570
  display: "flex",
521
571
  alignItems: "center",
522
572
  gap: "var(--space-iconGap)"
523
573
  },
524
574
  children: [
525
- /* @__PURE__ */ j(v, { style: {
575
+ /* @__PURE__ */ D(g, { style: {
526
576
  height: "var(--size-icon-sm)",
527
577
  width: "var(--size-icon-sm)",
528
578
  color: "var(--color-action-primary-bg)"
529
579
  } }),
530
- /* @__PURE__ */ j("span", {
580
+ /* @__PURE__ */ D("span", {
531
581
  style: {
532
582
  fontSize: "var(--font-size-body-sm)",
533
583
  fontWeight: "var(--font-weight-semibold)",
534
584
  color: "var(--color-text-primary)"
535
585
  },
536
- children: Ve(e)
586
+ children: We(e)
537
587
  }),
538
- /* @__PURE__ */ j("span", {
588
+ /* @__PURE__ */ D("span", {
539
589
  style: {
540
590
  fontSize: "var(--font-size-body-sm)",
541
591
  color: "var(--color-text-muted)"
542
592
  },
543
- children: E("bigconsole.dashboards.card.widgets", "widgets")
593
+ children: S("bigconsole.dashboards.card.widgets", "widgets")
544
594
  })
545
595
  ]
546
596
  })
547
597
  ]
548
598
  }),
549
- /* @__PURE__ */ M("div", {
599
+ /* @__PURE__ */ O("div", {
550
600
  style: {
551
601
  display: "flex",
552
602
  alignItems: "center",
@@ -556,78 +606,78 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
556
606
  paddingTop: "var(--space-controlGap)",
557
607
  borderTop: "1px solid var(--color-border-subtle)"
558
608
  },
559
- children: [/* @__PURE__ */ M("div", {
609
+ children: [/* @__PURE__ */ O("div", {
560
610
  style: {
561
611
  display: "flex",
562
612
  alignItems: "center",
563
613
  gap: "var(--space-iconGap)"
564
614
  },
565
- children: [/* @__PURE__ */ j(g, { style: {
615
+ children: [/* @__PURE__ */ D(m, { style: {
566
616
  height: "var(--size-icon-sm)",
567
617
  width: "var(--size-icon-sm)",
568
618
  color: "var(--color-text-muted)"
569
- } }), /* @__PURE__ */ j("span", {
619
+ } }), /* @__PURE__ */ D("span", {
570
620
  style: {
571
621
  fontSize: "var(--font-size-body-sm)",
572
622
  fontWeight: "var(--font-weight-medium)",
573
623
  color: "var(--color-text-muted)"
574
624
  },
575
- children: Be(e.updatedAt)
625
+ children: He(e.updatedAt)
576
626
  })]
577
- }), /* @__PURE__ */ M("div", {
627
+ }), /* @__PURE__ */ O("div", {
578
628
  style: {
579
629
  display: "flex",
580
630
  alignItems: "center",
581
631
  gap: "var(--space-controlGap)"
582
632
  },
583
633
  children: [
584
- /* @__PURE__ */ j(h, {
634
+ /* @__PURE__ */ D(p, {
585
635
  permission: a.DASHBOARD_UPDATE,
586
636
  deniedBehavior: "hide",
587
- children: /* @__PURE__ */ j(T, {
637
+ children: /* @__PURE__ */ D(x, {
588
638
  variant: "ghost",
589
639
  size: "sm",
590
- onClick: (t) => $(e.id, t),
640
+ onClick: (t) => Ie(e.id, t),
591
641
  style: {
592
642
  height: "var(--size-controlHeight-md)",
593
643
  width: "var(--size-controlHeight-md)",
594
644
  padding: 0,
595
645
  borderRadius: "var(--radius-button)"
596
646
  },
597
- title: E("bigconsole.dashboards.actions.editTitle", "Edit Dashboard"),
598
- children: /* @__PURE__ */ j(x, { style: {
647
+ title: S("bigconsole.dashboards.actions.editTitle", "Edit Dashboard"),
648
+ children: /* @__PURE__ */ D(le, { style: {
599
649
  height: "var(--size-icon-sm)",
600
650
  width: "var(--size-icon-sm)"
601
651
  } })
602
652
  })
603
653
  }),
604
- /* @__PURE__ */ j(h, {
654
+ /* @__PURE__ */ D(p, {
605
655
  permission: a.DASHBOARD_CREATE,
606
656
  deniedBehavior: "hide",
607
- children: /* @__PURE__ */ j(T, {
657
+ children: /* @__PURE__ */ D(x, {
608
658
  variant: "ghost",
609
659
  size: "sm",
610
- onClick: (t) => Ie(e.id, e.name, t),
660
+ onClick: (t) => Re(e.id, e.name, t),
611
661
  style: {
612
662
  height: "var(--size-controlHeight-md)",
613
663
  width: "var(--size-controlHeight-md)",
614
664
  padding: 0,
615
665
  borderRadius: "var(--radius-button)"
616
666
  },
617
- title: E("bigconsole.dashboards.actions.cloneTitle", "Clone Dashboard"),
618
- children: /* @__PURE__ */ j(_, { style: {
667
+ title: S("bigconsole.dashboards.actions.cloneTitle", "Clone Dashboard"),
668
+ children: /* @__PURE__ */ D(h, { style: {
619
669
  height: "var(--size-icon-sm)",
620
670
  width: "var(--size-icon-sm)"
621
671
  } })
622
672
  })
623
673
  }),
624
- /* @__PURE__ */ j(h, {
674
+ /* @__PURE__ */ D(p, {
625
675
  permission: a.DASHBOARD_DELETE,
626
676
  deniedBehavior: "hide",
627
- children: /* @__PURE__ */ j(T, {
677
+ children: /* @__PURE__ */ D(x, {
628
678
  variant: "ghost",
629
679
  size: "sm",
630
- onClick: (t) => Fe(e.id, t),
680
+ onClick: (t) => Le(e.id, t),
631
681
  style: {
632
682
  height: "var(--size-controlHeight-md)",
633
683
  width: "var(--size-controlHeight-md)",
@@ -635,8 +685,8 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
635
685
  borderRadius: "var(--radius-button)"
636
686
  },
637
687
  className: "hover:text-status-error-text hover:bg-status-error-bg/10",
638
- title: E("bigconsole.dashboards.actions.deleteTitle", "Delete Dashboard"),
639
- children: /* @__PURE__ */ j(ce, { style: {
688
+ title: S("bigconsole.dashboards.actions.deleteTitle", "Delete Dashboard"),
689
+ children: /* @__PURE__ */ D(fe, { style: {
640
690
  height: "var(--size-icon-sm)",
641
691
  width: "var(--size-icon-sm)"
642
692
  } })
@@ -649,19 +699,19 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
649
699
  })
650
700
  }, e.id))
651
701
  }),
652
- !W && H === "list" && Z.length > 0 && /* @__PURE__ */ j("div", {
702
+ !V && z === "list" && J.length > 0 && /* @__PURE__ */ D("div", {
653
703
  style: {
654
704
  display: "flex",
655
705
  flexDirection: "column",
656
706
  gap: "var(--space-controlGap)"
657
707
  },
658
- children: Ee.map((e) => /* @__PURE__ */ j(D, {
659
- onClick: () => Pe(e.id),
708
+ children: Z.map((e) => /* @__PURE__ */ D(C, {
709
+ onClick: () => Q(e.id),
660
710
  style: { cursor: "pointer" },
661
711
  className: "motion-safe:transition-[box-shadow,border-color] hover:border-[var(--color-border-hover)] hover:shadow-[var(--shadow-elevation-2)]",
662
- children: /* @__PURE__ */ j(O, {
712
+ children: /* @__PURE__ */ D(w, {
663
713
  style: { padding: "var(--space-cardPadding)" },
664
- children: /* @__PURE__ */ M("div", {
714
+ children: /* @__PURE__ */ O("div", {
665
715
  style: {
666
716
  display: "flex",
667
717
  alignItems: "center",
@@ -669,7 +719,7 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
669
719
  flexWrap: "wrap"
670
720
  },
671
721
  children: [
672
- /* @__PURE__ */ j("div", {
722
+ /* @__PURE__ */ D("div", {
673
723
  style: {
674
724
  display: "flex",
675
725
  height: "var(--size-controlHeight-lg)",
@@ -680,7 +730,7 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
680
730
  borderRadius: "var(--radius-button)",
681
731
  backgroundColor: "var(--color-bg-accentSubtle)"
682
732
  },
683
- children: /* @__PURE__ */ j(b, {
733
+ children: /* @__PURE__ */ D(v, {
684
734
  "aria-hidden": "true",
685
735
  style: {
686
736
  height: "var(--size-icon-md)",
@@ -689,40 +739,47 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
689
739
  }
690
740
  })
691
741
  }),
692
- /* @__PURE__ */ M("div", {
742
+ /* @__PURE__ */ O("div", {
693
743
  style: {
694
744
  flex: "1 1 12rem",
695
745
  minWidth: 0
696
746
  },
697
- children: [/* @__PURE__ */ M("div", {
747
+ children: [/* @__PURE__ */ O("div", {
698
748
  style: {
699
749
  display: "flex",
700
750
  alignItems: "center",
701
751
  gap: "var(--space-controlGap)",
702
752
  flexWrap: "wrap"
703
753
  },
704
- children: [/* @__PURE__ */ j("h3", {
705
- style: {
706
- fontWeight: "var(--font-weight-bold)",
707
- fontSize: "var(--font-size-body-md)",
708
- margin: 0,
709
- color: "var(--color-text-primary)",
710
- overflow: "hidden",
711
- textOverflow: "ellipsis",
712
- whiteSpace: "nowrap",
713
- maxWidth: "100%"
714
- },
715
- children: e.name
716
- }), e.category && /* @__PURE__ */ j(w, {
717
- variant: "secondary",
718
- style: {
719
- fontSize: "10px",
720
- fontWeight: "var(--font-weight-semibold)",
721
- textTransform: "uppercase"
722
- },
723
- children: e.category
724
- })]
725
- }), /* @__PURE__ */ j("p", {
754
+ children: [
755
+ /* @__PURE__ */ D("h3", {
756
+ style: {
757
+ fontWeight: "var(--font-weight-bold)",
758
+ fontSize: "var(--font-size-body-md)",
759
+ margin: 0,
760
+ color: "var(--color-text-primary)",
761
+ overflow: "hidden",
762
+ textOverflow: "ellipsis",
763
+ whiteSpace: "nowrap",
764
+ maxWidth: "100%"
765
+ },
766
+ children: e.name
767
+ }),
768
+ e.category && /* @__PURE__ */ D(b, {
769
+ variant: "secondary",
770
+ style: {
771
+ fontSize: "10px",
772
+ fontWeight: "var(--font-weight-semibold)",
773
+ textTransform: "uppercase"
774
+ },
775
+ children: e.category
776
+ }),
777
+ e.status && /* @__PURE__ */ D(N, {
778
+ status: e.status,
779
+ label: Ue(e.status)
780
+ })
781
+ ]
782
+ }), /* @__PURE__ */ D("p", {
726
783
  style: {
727
784
  fontSize: "var(--font-size-body-sm)",
728
785
  lineHeight: "var(--font-lineHeight-normal)",
@@ -732,10 +789,10 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
732
789
  textOverflow: "ellipsis",
733
790
  whiteSpace: "nowrap"
734
791
  },
735
- children: e.description || E("bigconsole.dashboards.card.noDescription", "No description provided")
792
+ children: e.description || S("bigconsole.dashboards.card.noDescription", "No description provided")
736
793
  })]
737
794
  }),
738
- /* @__PURE__ */ M("div", {
795
+ /* @__PURE__ */ O("div", {
739
796
  style: {
740
797
  display: "flex",
741
798
  alignItems: "center",
@@ -743,139 +800,139 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
743
800
  flexWrap: "wrap"
744
801
  },
745
802
  children: [
746
- /* @__PURE__ */ M("div", {
803
+ /* @__PURE__ */ O("div", {
747
804
  style: {
748
805
  display: "flex",
749
806
  alignItems: "center",
750
807
  gap: "var(--space-iconGap)"
751
808
  },
752
809
  children: [
753
- /* @__PURE__ */ j(y, { style: {
810
+ /* @__PURE__ */ D(_, { style: {
754
811
  height: "var(--size-icon-sm)",
755
812
  width: "var(--size-icon-sm)",
756
813
  color: "var(--color-action-primary-bg)"
757
814
  } }),
758
- /* @__PURE__ */ j("span", {
815
+ /* @__PURE__ */ D("span", {
759
816
  style: {
760
817
  fontSize: "var(--font-size-body-sm)",
761
818
  fontWeight: "var(--font-weight-semibold)",
762
819
  color: "var(--color-text-primary)"
763
820
  },
764
- children: He(e)
821
+ children: Ge(e)
765
822
  }),
766
- /* @__PURE__ */ j("span", {
823
+ /* @__PURE__ */ D("span", {
767
824
  style: {
768
825
  fontSize: "var(--font-size-body-sm)",
769
826
  color: "var(--color-text-muted)"
770
827
  },
771
- children: E("bigconsole.dashboards.card.pages", "pages")
828
+ children: S("bigconsole.dashboards.card.pages", "pages")
772
829
  })
773
830
  ]
774
831
  }),
775
- /* @__PURE__ */ M("div", {
832
+ /* @__PURE__ */ O("div", {
776
833
  style: {
777
834
  display: "flex",
778
835
  alignItems: "center",
779
836
  gap: "var(--space-iconGap)"
780
837
  },
781
838
  children: [
782
- /* @__PURE__ */ j(v, { style: {
839
+ /* @__PURE__ */ D(g, { style: {
783
840
  height: "var(--size-icon-sm)",
784
841
  width: "var(--size-icon-sm)",
785
842
  color: "var(--color-action-primary-bg)"
786
843
  } }),
787
- /* @__PURE__ */ j("span", {
844
+ /* @__PURE__ */ D("span", {
788
845
  style: {
789
846
  fontSize: "var(--font-size-body-sm)",
790
847
  fontWeight: "var(--font-weight-semibold)",
791
848
  color: "var(--color-text-primary)"
792
849
  },
793
- children: Ve(e)
850
+ children: We(e)
794
851
  }),
795
- /* @__PURE__ */ j("span", {
852
+ /* @__PURE__ */ D("span", {
796
853
  style: {
797
854
  fontSize: "var(--font-size-body-sm)",
798
855
  color: "var(--color-text-muted)"
799
856
  },
800
- children: E("bigconsole.dashboards.card.widgets", "widgets")
857
+ children: S("bigconsole.dashboards.card.widgets", "widgets")
801
858
  })
802
859
  ]
803
860
  }),
804
- /* @__PURE__ */ M("div", {
861
+ /* @__PURE__ */ O("div", {
805
862
  style: {
806
863
  display: "flex",
807
864
  alignItems: "center",
808
865
  gap: "var(--space-iconGap)"
809
866
  },
810
- children: [/* @__PURE__ */ j(g, { style: {
867
+ children: [/* @__PURE__ */ D(m, { style: {
811
868
  height: "var(--size-icon-sm)",
812
869
  width: "var(--size-icon-sm)",
813
870
  color: "var(--color-text-muted)"
814
- } }), /* @__PURE__ */ j("span", {
871
+ } }), /* @__PURE__ */ D("span", {
815
872
  style: {
816
873
  fontSize: "var(--font-size-body-sm)",
817
874
  fontWeight: "var(--font-weight-medium)",
818
875
  color: "var(--color-text-muted)"
819
876
  },
820
- children: Be(e.updatedAt)
877
+ children: He(e.updatedAt)
821
878
  })]
822
879
  })
823
880
  ]
824
881
  }),
825
- /* @__PURE__ */ M("div", {
882
+ /* @__PURE__ */ O("div", {
826
883
  style: {
827
884
  display: "flex",
828
885
  alignItems: "center",
829
886
  gap: "var(--space-controlGap)"
830
887
  },
831
888
  children: [
832
- /* @__PURE__ */ j(h, {
889
+ /* @__PURE__ */ D(p, {
833
890
  permission: a.DASHBOARD_UPDATE,
834
891
  deniedBehavior: "hide",
835
- children: /* @__PURE__ */ j(T, {
892
+ children: /* @__PURE__ */ D(x, {
836
893
  variant: "ghost",
837
894
  size: "sm",
838
- onClick: (t) => $(e.id, t),
895
+ onClick: (t) => Ie(e.id, t),
839
896
  style: {
840
897
  height: "var(--size-controlHeight-md)",
841
898
  width: "var(--size-controlHeight-md)",
842
899
  padding: 0,
843
900
  borderRadius: "var(--radius-button)"
844
901
  },
845
- title: E("bigconsole.dashboards.actions.editTitle", "Edit Dashboard"),
846
- children: /* @__PURE__ */ j(x, { style: {
902
+ title: S("bigconsole.dashboards.actions.editTitle", "Edit Dashboard"),
903
+ children: /* @__PURE__ */ D(le, { style: {
847
904
  height: "var(--size-icon-sm)",
848
905
  width: "var(--size-icon-sm)"
849
906
  } })
850
907
  })
851
908
  }),
852
- /* @__PURE__ */ j(h, {
909
+ /* @__PURE__ */ D(p, {
853
910
  permission: a.DASHBOARD_CREATE,
854
911
  deniedBehavior: "hide",
855
- children: /* @__PURE__ */ j(T, {
912
+ children: /* @__PURE__ */ D(x, {
856
913
  variant: "ghost",
857
914
  size: "sm",
858
- onClick: (t) => Ie(e.id, e.name, t),
915
+ onClick: (t) => Re(e.id, e.name, t),
859
916
  style: {
860
917
  height: "var(--size-controlHeight-md)",
861
918
  width: "var(--size-controlHeight-md)",
862
919
  padding: 0,
863
920
  borderRadius: "var(--radius-button)"
864
921
  },
865
- title: E("bigconsole.dashboards.actions.cloneTitle", "Clone Dashboard"),
866
- children: /* @__PURE__ */ j(_, { style: {
922
+ title: S("bigconsole.dashboards.actions.cloneTitle", "Clone Dashboard"),
923
+ children: /* @__PURE__ */ D(h, { style: {
867
924
  height: "var(--size-icon-sm)",
868
925
  width: "var(--size-icon-sm)"
869
926
  } })
870
927
  })
871
928
  }),
872
- /* @__PURE__ */ j(h, {
929
+ /* @__PURE__ */ D(p, {
873
930
  permission: a.DASHBOARD_DELETE,
874
931
  deniedBehavior: "hide",
875
- children: /* @__PURE__ */ j(T, {
932
+ children: /* @__PURE__ */ D(x, {
876
933
  variant: "ghost",
877
934
  size: "sm",
878
- onClick: (t) => Fe(e.id, t),
935
+ onClick: (t) => Le(e.id, t),
879
936
  style: {
880
937
  height: "var(--size-controlHeight-md)",
881
938
  width: "var(--size-controlHeight-md)",
@@ -883,8 +940,8 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
883
940
  borderRadius: "var(--radius-button)"
884
941
  },
885
942
  className: "hover:text-status-error-text hover:bg-status-error-bg/10",
886
- title: E("bigconsole.dashboards.actions.deleteTitle", "Delete Dashboard"),
887
- children: /* @__PURE__ */ j(ce, { style: {
943
+ title: S("bigconsole.dashboards.actions.deleteTitle", "Delete Dashboard"),
944
+ children: /* @__PURE__ */ D(fe, { style: {
888
945
  height: "var(--size-icon-sm)",
889
946
  width: "var(--size-icon-sm)"
890
947
  } })
@@ -897,43 +954,56 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
897
954
  })
898
955
  }, e.id))
899
956
  }),
900
- !W && Z.length > P && /* @__PURE__ */ M("nav", {
901
- "aria-label": E("bigconsole.dashboards.pagination.label", "Dashboard pages"),
957
+ !V && J.length > 0 && /* @__PURE__ */ D("p", {
958
+ "data-testid": "dashboards-range",
959
+ style: {
960
+ margin: 0,
961
+ fontSize: "var(--font-size-body-sm)",
962
+ color: "var(--color-text-muted)"
963
+ },
964
+ children: y("bigconsole.dashboards.pagination.range", "Showing {{from}}–{{to}} of {{total}} dashboards", {
965
+ from: X + 1,
966
+ to: X + Z.length,
967
+ total: J.length
968
+ })
969
+ }),
970
+ !V && J.length > A && /* @__PURE__ */ O("nav", {
971
+ "aria-label": S("bigconsole.dashboards.pagination.label", "Dashboard pages"),
902
972
  className: "flex flex-wrap items-center justify-center gap-control-gap border-t border-[var(--color-border-subtle)] pt-control-gap",
903
973
  children: [
904
- /* @__PURE__ */ M(T, {
974
+ /* @__PURE__ */ O(x, {
905
975
  variant: "outline",
906
976
  size: "sm",
907
- onClick: De,
908
- disabled: I <= 1,
909
- "aria-label": E("bigconsole.dashboards.pagination.previous", "Previous"),
977
+ onClick: ke,
978
+ disabled: M <= 1,
979
+ "aria-label": S("bigconsole.dashboards.pagination.previous", "Previous"),
910
980
  style: { minHeight: "var(--size-controlHeight-md)" },
911
- children: [/* @__PURE__ */ j(re, { style: {
981
+ children: [/* @__PURE__ */ D(ae, { style: {
912
982
  marginRight: "var(--space-iconGap)",
913
983
  height: "var(--size-icon-sm)",
914
984
  width: "var(--size-icon-sm)"
915
- } }), E("bigconsole.dashboards.pagination.previous", "Previous")]
985
+ } }), S("bigconsole.dashboards.pagination.previous", "Previous")]
916
986
  }),
917
- /* @__PURE__ */ j("div", {
987
+ /* @__PURE__ */ D("div", {
918
988
  style: {
919
989
  display: "flex",
920
990
  alignItems: "center",
921
991
  gap: "var(--space-iconGap)",
922
992
  flexWrap: "wrap"
923
993
  },
924
- children: he(I, Q).map((e, t) => e === null ? /* @__PURE__ */ j("span", {
994
+ children: ye(M, Y).map((e, t) => e === null ? /* @__PURE__ */ D("span", {
925
995
  "aria-hidden": "true",
926
996
  style: {
927
997
  color: "var(--color-text-muted)",
928
998
  padding: "0 var(--space-iconGap)"
929
999
  },
930
1000
  children: "…"
931
- }, `gap-${t}`) : /* @__PURE__ */ j(T, {
932
- variant: e === I ? "default" : "ghost",
1001
+ }, `gap-${t}`) : /* @__PURE__ */ D(x, {
1002
+ variant: e === M ? "default" : "ghost",
933
1003
  size: "sm",
934
- onClick: () => ke(e),
935
- "aria-current": e === I ? "page" : void 0,
936
- "aria-label": E("bigconsole.dashboards.pagination.page", `Page ${e}`),
1004
+ onClick: () => je(e),
1005
+ "aria-current": e === M ? "page" : void 0,
1006
+ "aria-label": S("bigconsole.dashboards.pagination.page", `Page ${e}`),
937
1007
  style: {
938
1008
  minWidth: "var(--size-controlHeight-md)",
939
1009
  height: "var(--size-controlHeight-md)",
@@ -943,67 +1013,67 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
943
1013
  children: e
944
1014
  }, e))
945
1015
  }),
946
- /* @__PURE__ */ M(T, {
1016
+ /* @__PURE__ */ O(x, {
947
1017
  variant: "outline",
948
1018
  size: "sm",
949
- onClick: Oe,
950
- disabled: I >= Q,
951
- "aria-label": E("bigconsole.dashboards.pagination.next", "Next"),
1019
+ onClick: Ae,
1020
+ disabled: M >= Y,
1021
+ "aria-label": S("bigconsole.dashboards.pagination.next", "Next"),
952
1022
  style: { minHeight: "var(--size-controlHeight-md)" },
953
- children: [E("bigconsole.dashboards.pagination.next", "Next"), /* @__PURE__ */ j(ie, { style: {
1023
+ children: [S("bigconsole.dashboards.pagination.next", "Next"), /* @__PURE__ */ D(oe, { style: {
954
1024
  marginLeft: "var(--space-iconGap)",
955
1025
  height: "var(--size-icon-sm)",
956
1026
  width: "var(--size-icon-sm)"
957
1027
  } })]
958
1028
  }),
959
- /* @__PURE__ */ j("span", {
1029
+ /* @__PURE__ */ D("span", {
960
1030
  style: {
961
1031
  fontSize: "var(--font-size-body-sm)",
962
1032
  color: "var(--color-text-muted)"
963
1033
  },
964
- children: C("bigconsole.dashboards.pagination.pageOf", "Page {{currentPage}} of {{totalPages}}", {
965
- currentPage: I,
966
- totalPages: Q
1034
+ children: y("bigconsole.dashboards.pagination.pageOf", "Page {{currentPage}} of {{totalPages}}", {
1035
+ currentPage: M,
1036
+ totalPages: Y
967
1037
  })
968
1038
  })
969
1039
  ]
970
1040
  }),
971
- !W && Z.length === 0 && /* @__PURE__ */ j(de, {
1041
+ !V && J.length === 0 && /* @__PURE__ */ D(he, {
972
1042
  treatment: "insight",
973
1043
  className: "border-[var(--color-border-seam)]",
974
- children: /* @__PURE__ */ j(fe, {
975
- illustration: k ? "empty-search" : "empty-data",
976
- title: k ? E("bigconsole.dashboards.empty.filteredTitle", "No dashboards found") : E("bigconsole.dashboards.empty.title", "No dashboards yet"),
977
- description: k ? E("bigconsole.dashboards.empty.filteredDescription", "Try adjusting your search terms") : E("bigconsole.dashboards.empty.description", "Get started by creating your first dashboard to visualize your data"),
978
- action: k ? void 0 : /* @__PURE__ */ M("div", {
1044
+ children: /* @__PURE__ */ D(ge, {
1045
+ illustration: T ? "empty-search" : "empty-data",
1046
+ title: T ? S("bigconsole.dashboards.empty.filteredTitle", "No dashboards found") : S("bigconsole.dashboards.empty.title", "No dashboards yet"),
1047
+ description: T ? S("bigconsole.dashboards.empty.filteredDescription", "Try adjusting your search terms") : S("bigconsole.dashboards.empty.description", "Get started by creating your first dashboard to visualize your data"),
1048
+ action: T ? void 0 : /* @__PURE__ */ O("div", {
979
1049
  style: {
980
1050
  display: "flex",
981
1051
  gap: "var(--space-controlGap)",
982
1052
  flexWrap: "wrap",
983
1053
  justifyContent: "center"
984
1054
  },
985
- children: [/* @__PURE__ */ j(h, {
1055
+ children: [/* @__PURE__ */ D(p, {
986
1056
  permission: a.DASHBOARD_CREATE,
987
1057
  deniedBehavior: "hide",
988
- children: /* @__PURE__ */ M(T, {
989
- onClick: Ae,
990
- children: [/* @__PURE__ */ j(S, { style: {
1058
+ children: /* @__PURE__ */ O(x, {
1059
+ onClick: Me,
1060
+ children: [/* @__PURE__ */ D(ue, { style: {
991
1061
  marginRight: "var(--space-iconGap)",
992
1062
  height: "var(--size-icon-sm)",
993
1063
  width: "var(--size-icon-sm)"
994
- } }), E("bigconsole.dashboards.actions.create", "Create Dashboard")]
1064
+ } }), S("bigconsole.dashboards.actions.create", "Create Dashboard")]
995
1065
  })
996
- }), /* @__PURE__ */ j(h, {
1066
+ }), /* @__PURE__ */ D(p, {
997
1067
  permission: a.DASHBOARD_IMPORT,
998
1068
  deniedBehavior: "hide",
999
- children: /* @__PURE__ */ M(T, {
1069
+ children: /* @__PURE__ */ O(x, {
1000
1070
  variant: "outline",
1001
- onClick: Le,
1002
- children: [/* @__PURE__ */ j(le, { style: {
1071
+ onClick: ze,
1072
+ children: [/* @__PURE__ */ D(pe, { style: {
1003
1073
  marginRight: "var(--space-iconGap)",
1004
1074
  height: "var(--size-icon-sm)",
1005
1075
  width: "var(--size-icon-sm)"
1006
- } }), E("bigconsole.dashboards.actions.importDashboard", "Import Dashboard")]
1076
+ } }), S("bigconsole.dashboards.actions.importDashboard", "Import Dashboard")]
1007
1077
  })
1008
1078
  })]
1009
1079
  })
@@ -1012,22 +1082,22 @@ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onC
1012
1082
  ]
1013
1083
  })] })
1014
1084
  }),
1015
- /* @__PURE__ */ j(o, {
1016
- isOpen: _e,
1017
- isCreating: z,
1018
- onClose: Me,
1019
- onCreate: Ne,
1020
- onTemplateInstalled: je
1085
+ /* @__PURE__ */ D(o, {
1086
+ isOpen: xe,
1087
+ isCreating: I,
1088
+ onClose: Pe,
1089
+ onCreate: Fe,
1090
+ onTemplateInstalled: Ne
1021
1091
  }),
1022
- /* @__PURE__ */ j(s, {
1023
- isOpen: ve,
1024
- onClose: Re,
1025
- onSuccess: ze
1092
+ /* @__PURE__ */ D(te, {
1093
+ isOpen: Se,
1094
+ onClose: Be,
1095
+ onSuccess: Ve
1026
1096
  })
1027
1097
  ]
1028
1098
  });
1029
1099
  });
1030
1100
  //#endregion
1031
- export { I as DashboardsPage, I as default };
1101
+ export { P as DashboardsPage, P as default };
1032
1102
 
1033
1103
  //# sourceMappingURL=DashboardsPage.js.map