@burdenoff/microfe-bigconsole 2026.804.2 → 2026.805.2

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 (53) hide show
  1. package/dist/bigconsole/AdminRoot.js +21 -16
  2. package/dist/bigconsole/AdminRoot.js.map +1 -1
  3. package/dist/bigconsole/BigConsoleRoot.js +44 -39
  4. package/dist/bigconsole/BigConsoleRoot.js.map +1 -1
  5. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +115 -100
  6. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -1
  7. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +100 -98
  8. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -1
  9. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +164 -161
  10. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
  11. package/dist/bigconsole/components/datasink/DataSinkCard.js +20 -20
  12. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -1
  13. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +216 -49
  14. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +1 -1
  15. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +96 -90
  16. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
  17. package/dist/bigconsole/components/widgets/WidgetMenu.js +87 -76
  18. package/dist/bigconsole/components/widgets/WidgetMenu.js.map +1 -1
  19. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +120 -118
  20. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -1
  21. package/dist/bigconsole/pages/DashboardBuilderPage.js +113 -104
  22. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  23. package/dist/bigconsole/pages/DashboardViewPage.js +208 -199
  24. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  25. package/dist/bigconsole/pages/DashboardsPage.js +376 -325
  26. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  27. package/dist/bigconsole/pages/DataParsersPage.js +135 -125
  28. package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
  29. package/dist/bigconsole/pages/DataSinkBuilderPage.js +182 -172
  30. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  31. package/dist/bigconsole/pages/DataSinkViewPage.js +233 -198
  32. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  33. package/dist/bigconsole/pages/DataSinksPage.js +281 -268
  34. package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
  35. package/dist/bigconsole/pages/ParserBuilderPage.js +238 -223
  36. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  37. package/dist/bigconsole/pages/ParserViewPage.js +162 -144
  38. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
  39. package/dist/bigconsole/pages/PipelineBuilderPage.js +212 -204
  40. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  41. package/dist/bigconsole/pages/PipelineViewPage.js +191 -183
  42. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  43. package/dist/bigconsole/pages/PipelinesPage.js +128 -103
  44. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  45. package/dist/bigconsole/pages/WorkflowViewPage.js +238 -217
  46. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  47. package/dist/bigconsole/pages/WorkflowsPage.js +116 -102
  48. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  49. package/dist/bigconsole/utils/csv.js +91 -0
  50. package/dist/bigconsole/utils/csv.js.map +1 -0
  51. package/dist/constants/permissions.js +83 -0
  52. package/dist/constants/permissions.js.map +1 -0
  53. package/package.json +2 -2
@@ -3,118 +3,124 @@ import { useAppNavigate as t } from "../contexts/NavigationContext.js";
3
3
  import "../contexts/index.js";
4
4
  import n from "../hooks/useDataSinkOperations.js";
5
5
  import ee from "../hooks/useExportDataSink.js";
6
+ import { BIGCONSOLE_PERMISSIONS as r } from "../../constants/permissions.js";
6
7
  import te from "../components/datasink/DataSinkStatusBadge.js";
7
- import { isNative as r, nativeNotify as i } from "../../utils/nativeBridge.js";
8
+ import { isNative as i, nativeNotify as a } from "../../utils/nativeBridge.js";
8
9
  import ne from "../components/datasink/DataSinkCard.js";
9
10
  import re from "../components/datasink/DataSinkDeleteDialog.js";
10
11
  import ie from "../components/datasink/DataSinkRefreshDialog.js";
11
12
  import ae from "../components/datasink/ImportDataSinkDialog.js";
12
13
  import oe from "../components/datasink/SetupStateBadge.js";
13
- import { memo as a, useCallback as o, useMemo as s, useState as c } from "react";
14
- import { AlertCircle as se, Container as ce, Download as le, Eye as ue, LayoutGrid as de, Pencil as fe, Plus as l, RefreshCw as pe, Search as me, Table2 as he, Trash2 as ge, Upload as _e, X as ve } from "lucide-react";
15
- import { useI18n as ye } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
16
- import { AuroraBackground as be, Badge as xe, Button as u, CTAOverflowMenu as Se, Card as Ce, CardContent as we, GlassCard as d, GradientText as Te, IllustratedEmptyState as f, Input as Ee, PagePurpose as De, Select as p, SelectContent as m, SelectItem as h, SelectTrigger as g, SelectValue as _, Spinner as Oe } from "@burdenoff/fe-libs/ui";
17
- import { getProfileScopedKey as v } from "@burdenoff/fe-libs/shared/utils";
18
- import { Fragment as ke, jsx as y, jsxs as b } from "react/jsx-runtime";
14
+ import { memo as o, useCallback as s, useMemo as c, useState as l } from "react";
15
+ import { AccessDenied as se, PermissionButton as ce } from "@burdenoff/fe-libs/shared/components";
16
+ import { usePermissions as le } from "@burdenoff/fe-libs/shared/providers/shell";
17
+ import { AlertCircle as ue, Container as de, Download as fe, Eye as pe, LayoutGrid as me, Pencil as he, Plus as u, RefreshCw as ge, Search as _e, Table2 as ve, Trash2 as ye, Upload as be, X as xe } from "lucide-react";
18
+ import { useI18n as Se } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
19
+ import { AuroraBackground as Ce, Badge as we, Button as d, CTAOverflowMenu as Te, Card as Ee, CardContent as De, GlassCard as f, GradientText as Oe, IllustratedEmptyState as p, Input as ke, PagePurpose as Ae, Select as m, SelectContent as h, SelectItem as g, SelectTrigger as _, SelectValue as v, Spinner as je } from "@burdenoff/fe-libs/ui";
20
+ import { getProfileScopedKey as y } from "@burdenoff/fe-libs/shared/utils";
21
+ import { Fragment as Me, jsx as b, jsxs as x } from "react/jsx-runtime";
19
22
  //#region src/bigconsole/pages/DataSinksPage.tsx
20
- var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "completed" || e.ttl !== null && e.ttl !== void 0 && e.ttl > 0 || e.fluidGridsWorkflowId && e.data && Object.keys(e.data).length > 0 ? "completed" : e.fluidGridsWorkflowId ? "workflow_running" : "workflow_pending", S = a(function() {
21
- let a = t(), { t: S } = ye(), C = o((e, t) => {
22
- let n = S(e);
23
+ var S = "bigconsole-datasinks-view-mode", Ne = (e) => e.setupState === "completed" || e.ttl !== null && e.ttl !== void 0 && e.ttl > 0 || e.fluidGridsWorkflowId && e.data && Object.keys(e.data).length > 0 ? "completed" : e.fluidGridsWorkflowId ? "workflow_running" : "workflow_pending", C = o(function() {
24
+ let o = t(), { t: C } = Se(), w = s((e, t) => {
25
+ let n = C(e);
23
26
  return n === e ? t : n;
24
- }, [S]), [w, T] = c("all"), [je, E] = c(!1), [D, Me] = c(() => localStorage.getItem(v(x)) || "grid"), O = o((e) => {
25
- Me(e), localStorage.setItem(v(x), e);
26
- }, []), k = e((e) => e.statusFilter), A = e((e) => e.activeFilter), j = e((e) => e.searchQuery), M = e((e) => e.setStatusFilter), N = e((e) => e.setActiveFilter), P = e((e) => e.setSearchQuery), Ne = e((e) => e.deleteDialogOpen), Pe = e((e) => e.refreshDialogOpen), F = e((e) => e.currentDataSink), I = e((e) => e.openDeleteDialog), L = e((e) => e.closeDeleteDialog), R = e((e) => e.openRefreshDialog), z = e((e) => e.closeRefreshDialog), { loading: B, error: V, dataSinks: H, deleteDataSink: U, refreshDataSink: W, refetch: G } = n(), { downloadDataSink: K } = ee(), q = s(() => H.map((e) => ({
27
+ }, [C]), { hasPermission: T, isLoading: Pe } = le(), Fe = T(r.DATASINK_READ), E = T(r.DATASINK_CREATE), D = T(r.DATASINK_UPDATE), O = T(r.DATASINK_DELETE), k = T(r.DATASINK_EXECUTE), [A, j] = l("all"), [Ie, M] = l(!1), [N, Le] = l(() => localStorage.getItem(y(S)) || "grid"), P = s((e) => {
28
+ Le(e), localStorage.setItem(y(S), e);
29
+ }, []), F = e((e) => e.statusFilter), I = e((e) => e.activeFilter), L = e((e) => e.searchQuery), R = e((e) => e.setStatusFilter), z = e((e) => e.setActiveFilter), B = e((e) => e.setSearchQuery), Re = e((e) => e.deleteDialogOpen), ze = e((e) => e.refreshDialogOpen), V = e((e) => e.currentDataSink), H = e((e) => e.openDeleteDialog), U = e((e) => e.closeDeleteDialog), W = e((e) => e.openRefreshDialog), G = e((e) => e.closeRefreshDialog), { loading: K, error: q, dataSinks: J, deleteDataSink: Be, refreshDataSink: Ve, refetch: Y } = n(), { downloadDataSink: He } = ee(), Ue = c(() => J.map((e) => ({
27
30
  dataSink: e,
28
- setupState: Ae(e)
29
- })), [H]), J = s(() => {
30
- let e = [...q];
31
- if (w === "in_progress" ? e = e.filter((e) => e.setupState !== "completed") : w === "completed" && (e = e.filter((e) => e.setupState === "completed")), k !== null && (e = e.filter((e) => e.dataSink.status === k)), A !== null && (e = e.filter((e) => e.dataSink.isActive === A)), j.trim()) {
32
- let t = j.toLowerCase();
31
+ setupState: Ne(e)
32
+ })), [J]), X = c(() => {
33
+ let e = [...Ue];
34
+ if (A === "in_progress" ? e = e.filter((e) => e.setupState !== "completed") : A === "completed" && (e = e.filter((e) => e.setupState === "completed")), F !== null && (e = e.filter((e) => e.dataSink.status === F)), I !== null && (e = e.filter((e) => e.dataSink.isActive === I)), L.trim()) {
35
+ let t = L.toLowerCase();
33
36
  e = e.filter((e) => e.dataSink.name?.toLowerCase().includes(t) || e.dataSink.key.toLowerCase().includes(t) || e.dataSink.description?.toLowerCase().includes(t));
34
37
  }
35
38
  return e.sort((e, t) => new Date(t.dataSink.updatedAt).getTime() - new Date(e.dataSink.updatedAt).getTime());
36
39
  }, [
37
- q,
38
- w,
39
- k,
40
+ Ue,
40
41
  A,
41
- j
42
- ]), Y = o(() => {
43
- a("/datasinks/new");
44
- }, [a]), X = o((e) => {
45
- a(`/datasinks/${e}`);
46
- }, [a]), Z = o((e) => {
47
- a(`/datasinks/${e}/edit`);
48
- }, [a]), Q = o((e) => {
49
- let t = H.find((t) => t.id === e);
50
- t && R(t);
51
- }, [H, R]), Fe = o(async (e) => {
52
- F && (await W({
53
- id: F.id,
42
+ F,
43
+ I,
44
+ L
45
+ ]), We = s(() => {
46
+ o("/datasinks/new");
47
+ }, [o]), Z = s((e) => {
48
+ o(`/datasinks/${e}`);
49
+ }, [o]), Ge = s((e) => {
50
+ o(`/datasinks/${e}/edit`);
51
+ }, [o]), Q = s((e) => {
52
+ let t = J.find((t) => t.id === e);
53
+ t && W(t);
54
+ }, [J, W]), Ke = s(async (e) => {
55
+ V && (await Ve({
56
+ id: V.id,
54
57
  forceRefresh: e
55
- }), z());
58
+ }), G());
56
59
  }, [
57
- F,
58
- W,
59
- z
60
- ]), $ = o((e) => {
61
- let t = H.find((t) => t.id === e);
62
- t && I(t);
63
- }, [H, I]), Ie = o(async () => {
64
- if (F) {
60
+ V,
61
+ Ve,
62
+ G
63
+ ]), qe = s((e) => {
64
+ let t = J.find((t) => t.id === e);
65
+ t && H(t);
66
+ }, [J, H]), Je = s(async () => {
67
+ if (V) {
65
68
  try {
66
- await U(F.id), r() && i("success");
69
+ await Be(V.id), i() && a("success");
67
70
  } catch (e) {
68
- throw r() && i("error"), e;
71
+ throw i() && a("error"), e;
69
72
  }
70
- L();
73
+ U();
71
74
  }
72
75
  }, [
76
+ V,
77
+ Be,
78
+ U
79
+ ]), Ye = s(async (e) => {
80
+ let t = J.find((t) => t.id === e);
81
+ t && await He(e, t.name || t.key);
82
+ }, [J, He]), Xe = s(() => {
83
+ M(!0);
84
+ }, []), Ze = s((e, t, n) => {
85
+ Y();
86
+ }, [Y]), Qe = c(() => A !== "all" || F !== null || I !== null || L.trim() !== "", [
87
+ A,
73
88
  F,
74
- U,
89
+ I,
75
90
  L
76
- ]), Le = o(async (e) => {
77
- let t = H.find((t) => t.id === e);
78
- t && await K(e, t.name || t.key);
79
- }, [H, K]), Re = o(() => {
80
- E(!0);
81
- }, []), ze = o((e, t, n) => {
82
- G();
83
- }, [G]), Be = s(() => w !== "all" || k !== null || A !== null || j.trim() !== "", [
84
- w,
85
- k,
86
- A,
87
- j
88
- ]), Ve = o(() => {
89
- T("all"), M(null), N(null), P("");
91
+ ]), $ = s(() => {
92
+ j("all"), R(null), z(null), B("");
90
93
  }, [
91
- M,
92
- N,
93
- P
94
- ]), He = [
94
+ R,
95
+ z,
96
+ B
97
+ ]), $e = [
95
98
  {
96
99
  value: "all",
97
- label: C("bigconsole.dataSinks.filters.setupState.all", "All")
100
+ label: w("bigconsole.dataSinks.filters.setupState.all", "All")
98
101
  },
99
102
  {
100
103
  value: "in_progress",
101
- label: C("bigconsole.dataSinks.filters.setupState.inProgress", "In Progress")
104
+ label: w("bigconsole.dataSinks.filters.setupState.inProgress", "In Progress")
102
105
  },
103
106
  {
104
107
  value: "completed",
105
- label: C("bigconsole.dataSinks.filters.setupState.completed", "Completed")
108
+ label: w("bigconsole.dataSinks.filters.setupState.completed", "Completed")
106
109
  }
107
110
  ];
108
- return V ? /* @__PURE__ */ y("div", {
111
+ return !Pe && !Fe ? /* @__PURE__ */ b(se, {
112
+ title: w("bigconsole.dataSinks.accessDenied.title", "Access Denied"),
113
+ description: w("bigconsole.dataSinks.accessDenied.description", "You don't have permission to view data sinks.")
114
+ }) : q ? /* @__PURE__ */ b("div", {
109
115
  style: { padding: "var(--space-pagePadding)" },
110
- children: /* @__PURE__ */ y(Ce, {
116
+ children: /* @__PURE__ */ b(Ee, {
111
117
  style: {
112
118
  borderColor: "var(--color-status-error-border)",
113
119
  backgroundColor: "var(--color-status-error-bgSubtle)"
114
120
  },
115
- children: /* @__PURE__ */ y(we, {
121
+ children: /* @__PURE__ */ b(De, {
116
122
  style: { padding: "var(--space-pagePadding)" },
117
- children: /* @__PURE__ */ b("div", {
123
+ children: /* @__PURE__ */ x("div", {
118
124
  style: {
119
125
  display: "flex",
120
126
  flexDirection: "column",
@@ -122,56 +128,56 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
122
128
  textAlign: "center"
123
129
  },
124
130
  children: [
125
- /* @__PURE__ */ y("div", {
131
+ /* @__PURE__ */ b("div", {
126
132
  style: {
127
133
  padding: "var(--space-controlGap)",
128
134
  borderRadius: "50%",
129
135
  backgroundColor: "var(--color-status-error-bgSubtle)",
130
136
  marginBottom: "var(--space-formGap)"
131
137
  },
132
- children: /* @__PURE__ */ y(se, { style: {
138
+ children: /* @__PURE__ */ b(ue, { style: {
133
139
  height: "var(--size-icon-xl)",
134
140
  width: "var(--size-icon-xl)",
135
141
  color: "var(--color-status-error-text)"
136
142
  } })
137
143
  }),
138
- /* @__PURE__ */ y("h3", {
144
+ /* @__PURE__ */ b("h3", {
139
145
  style: {
140
146
  fontSize: "var(--font-size-body-lg)",
141
147
  fontWeight: "var(--font-weight-medium)",
142
148
  color: "var(--color-status-error-text)",
143
149
  marginBottom: "var(--space-controlGap)"
144
150
  },
145
- children: C("bigconsole.dataSinks.error.title", "Failed to load Data Sinks")
151
+ children: w("bigconsole.dataSinks.error.title", "Failed to load Data Sinks")
146
152
  }),
147
- /* @__PURE__ */ y("p", {
153
+ /* @__PURE__ */ b("p", {
148
154
  style: {
149
155
  fontSize: "var(--font-size-body-sm)",
150
156
  color: "var(--color-text-secondary)",
151
157
  marginBottom: "var(--space-formGap)"
152
158
  },
153
- children: V.message
159
+ children: q.message
154
160
  }),
155
- /* @__PURE__ */ y(u, {
161
+ /* @__PURE__ */ b(d, {
156
162
  size: "sm",
157
- onClick: () => G(),
158
- children: C("bigconsole.dataSinks.error.retry", "Try Again")
163
+ onClick: () => Y(),
164
+ children: w("bigconsole.dataSinks.error.retry", "Try Again")
159
165
  })
160
166
  ]
161
167
  })
162
168
  })
163
169
  })
164
- }) : /* @__PURE__ */ b("div", {
170
+ }) : /* @__PURE__ */ x("div", {
165
171
  style: {
166
172
  minHeight: "100vh",
167
173
  backgroundColor: "var(--color-bg-canvas)"
168
174
  },
169
175
  children: [
170
- /* @__PURE__ */ b("div", {
176
+ /* @__PURE__ */ x("div", {
171
177
  className: "relative overflow-hidden border-b border-border-seam bg-gloss-card",
172
- children: [/* @__PURE__ */ y(be, { intensity: "subtle" }), /* @__PURE__ */ y("div", {
178
+ children: [/* @__PURE__ */ b(Ce, { intensity: "subtle" }), /* @__PURE__ */ b("div", {
173
179
  style: { padding: "var(--space-pagePadding)" },
174
- children: /* @__PURE__ */ b("div", {
180
+ children: /* @__PURE__ */ x("div", {
175
181
  style: {
176
182
  display: "flex",
177
183
  alignItems: "center",
@@ -179,7 +185,7 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
179
185
  gap: "var(--space-formGap)",
180
186
  flexWrap: "wrap"
181
187
  },
182
- children: [/* @__PURE__ */ b("div", {
188
+ children: [/* @__PURE__ */ x("div", {
183
189
  style: {
184
190
  display: "flex",
185
191
  alignItems: "center",
@@ -187,7 +193,7 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
187
193
  flex: "1 1 280px",
188
194
  minWidth: 0
189
195
  },
190
- children: [/* @__PURE__ */ y("div", {
196
+ children: [/* @__PURE__ */ b("div", {
191
197
  style: {
192
198
  display: "flex",
193
199
  height: "var(--size-controlHeight-lg)",
@@ -197,62 +203,62 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
197
203
  borderRadius: "var(--radius-card)",
198
204
  backgroundColor: "var(--color-action-primary-bg)"
199
205
  },
200
- children: /* @__PURE__ */ y(ce, { style: {
206
+ children: /* @__PURE__ */ b(de, { style: {
201
207
  height: "var(--size-icon-lg)",
202
208
  width: "var(--size-icon-lg)",
203
209
  color: "var(--color-action-primary-text)"
204
210
  } })
205
- }), /* @__PURE__ */ b("div", {
211
+ }), /* @__PURE__ */ x("div", {
206
212
  style: { minWidth: 0 },
207
- children: [/* @__PURE__ */ y("h1", {
213
+ children: [/* @__PURE__ */ b("h1", {
208
214
  style: {
209
215
  fontSize: "var(--font-size-heading-h4)",
210
216
  fontWeight: "var(--font-weight-bold)",
211
217
  margin: 0,
212
218
  color: "var(--color-text-primary)"
213
219
  },
214
- children: /* @__PURE__ */ y(Te, { children: C("bigconsole.dataSinks.title", "Data Sinks") })
215
- }), /* @__PURE__ */ y("p", {
220
+ children: /* @__PURE__ */ b(Oe, { children: w("bigconsole.dataSinks.title", "Data Sinks") })
221
+ }), /* @__PURE__ */ b("p", {
216
222
  style: {
217
223
  fontSize: "var(--font-size-body-sm)",
218
224
  color: "var(--color-text-secondary)",
219
225
  margin: 0
220
226
  },
221
- children: C("bigconsole.dataSinks.subtitle", "Manage pre-processed data from FluidGrids workflows")
227
+ children: w("bigconsole.dataSinks.subtitle", "Manage pre-processed data from FluidGrids workflows")
222
228
  })]
223
229
  })]
224
- }), /* @__PURE__ */ y(Se, {
225
- primary: {
226
- label: C("bigconsole.dataSinks.actions.create", "Create Data Sink"),
227
- onSelect: Y,
228
- icon: /* @__PURE__ */ y(l, { style: {
230
+ }), /* @__PURE__ */ b(Te, {
231
+ primary: E ? {
232
+ label: w("bigconsole.dataSinks.actions.create", "Create Data Sink"),
233
+ onSelect: We,
234
+ icon: /* @__PURE__ */ b(u, { style: {
229
235
  marginRight: "var(--space-iconGap)",
230
236
  height: "var(--size-icon-sm)",
231
237
  width: "var(--size-icon-sm)"
232
238
  } })
233
- },
234
- actions: [{
235
- label: C("bigconsole.dataSinks.actions.import", "Import"),
236
- onSelect: Re,
237
- icon: /* @__PURE__ */ y(_e, { style: {
239
+ } : void 0,
240
+ actions: E ? [{
241
+ label: w("bigconsole.dataSinks.actions.import", "Import"),
242
+ onSelect: Xe,
243
+ icon: /* @__PURE__ */ b(be, { style: {
238
244
  height: "var(--size-icon-sm)",
239
245
  width: "var(--size-icon-sm)"
240
246
  } })
241
- }]
247
+ }] : []
242
248
  })]
243
249
  })
244
250
  })]
245
251
  }),
246
- /* @__PURE__ */ b("div", {
252
+ /* @__PURE__ */ x("div", {
247
253
  style: { padding: "var(--space-pagePadding)" },
248
254
  children: [
249
- /* @__PURE__ */ y(De, {
255
+ /* @__PURE__ */ b(Ae, {
250
256
  className: "mb-[var(--space-sectionGap)]",
251
257
  children: "Data sinks are the structured destinations that hold your processed data — define a schema once and every pipeline, parser, and workflow can write into it. Dashboards then query sinks directly, so a sink is where your data lives and where your charts read from."
252
258
  }),
253
- /* @__PURE__ */ y("div", {
259
+ /* @__PURE__ */ b("div", {
254
260
  style: { marginBottom: "var(--space-formGap)" },
255
- children: /* @__PURE__ */ y("div", {
261
+ children: /* @__PURE__ */ b("div", {
256
262
  style: {
257
263
  display: "flex",
258
264
  alignItems: "center",
@@ -262,9 +268,9 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
262
268
  borderRadius: "var(--radius-card)",
263
269
  width: "fit-content"
264
270
  },
265
- children: He.map((e) => /* @__PURE__ */ y("button", {
271
+ children: $e.map((e) => /* @__PURE__ */ b("button", {
266
272
  type: "button",
267
- onClick: () => T(e.value),
273
+ onClick: () => j(e.value),
268
274
  style: {
269
275
  padding: "var(--space-controlGap) var(--space-formGap)",
270
276
  fontSize: "var(--font-size-body-sm)",
@@ -273,15 +279,15 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
273
279
  border: "none",
274
280
  cursor: "pointer",
275
281
  transition: "all 0.2s ease",
276
- backgroundColor: w === e.value ? "var(--color-bg-surface)" : "transparent",
277
- color: w === e.value ? "var(--color-text-primary)" : "var(--color-text-secondary)",
278
- boxShadow: w === e.value ? "0 1px 2px rgba(0,0,0,0.05)" : "none"
282
+ backgroundColor: A === e.value ? "var(--color-bg-surface)" : "transparent",
283
+ color: A === e.value ? "var(--color-text-primary)" : "var(--color-text-secondary)",
284
+ boxShadow: A === e.value ? "0 1px 2px rgba(0,0,0,0.05)" : "none"
279
285
  },
280
286
  children: e.label
281
287
  }, e.value))
282
288
  })
283
289
  }),
284
- /* @__PURE__ */ b("div", {
290
+ /* @__PURE__ */ x("div", {
285
291
  style: {
286
292
  display: "flex",
287
293
  alignItems: "center",
@@ -290,14 +296,14 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
290
296
  flexWrap: "wrap"
291
297
  },
292
298
  children: [
293
- /* @__PURE__ */ b("div", {
299
+ /* @__PURE__ */ x("div", {
294
300
  style: {
295
301
  position: "relative",
296
302
  maxWidth: "400px",
297
303
  minWidth: "min(100%, 240px)",
298
304
  flex: "1 1 240px"
299
305
  },
300
- children: [/* @__PURE__ */ y(me, { style: {
306
+ children: [/* @__PURE__ */ b(_e, { style: {
301
307
  position: "absolute",
302
308
  left: "var(--space-controlGap)",
303
309
  top: "50%",
@@ -305,219 +311,226 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
305
311
  height: "var(--size-icon-sm)",
306
312
  width: "var(--size-icon-sm)",
307
313
  color: "var(--color-text-muted)"
308
- } }), /* @__PURE__ */ y(Ee, {
314
+ } }), /* @__PURE__ */ b(ke, {
309
315
  type: "text",
310
- placeholder: C("bigconsole.dataSinks.search.placeholder", "Search data sinks..."),
311
- value: j,
312
- onChange: (e) => P(e.target.value),
316
+ placeholder: w("bigconsole.dataSinks.search.placeholder", "Search data sinks..."),
317
+ value: L,
318
+ onChange: (e) => B(e.target.value),
313
319
  style: {
314
320
  paddingLeft: "var(--size-controlHeight-md)",
315
321
  height: "var(--size-controlHeight-md)"
316
322
  }
317
323
  })]
318
324
  }),
319
- /* @__PURE__ */ b(p, {
320
- value: k || "all",
321
- onValueChange: (e) => M(e === "all" ? null : e),
322
- children: [/* @__PURE__ */ y(g, {
325
+ /* @__PURE__ */ x(m, {
326
+ value: F || "all",
327
+ onValueChange: (e) => R(e === "all" ? null : e),
328
+ children: [/* @__PURE__ */ b(_, {
323
329
  style: { width: "min(100%, 150px)" },
324
- children: /* @__PURE__ */ y(_, { placeholder: C("bigconsole.dataSinks.filters.status.placeholder", "All Statuses") })
325
- }), /* @__PURE__ */ b(m, { children: [
326
- /* @__PURE__ */ y(h, {
330
+ children: /* @__PURE__ */ b(v, { placeholder: w("bigconsole.dataSinks.filters.status.placeholder", "All Statuses") })
331
+ }), /* @__PURE__ */ x(h, { children: [
332
+ /* @__PURE__ */ b(g, {
327
333
  value: "all",
328
- children: C("bigconsole.dataSinks.filters.status.all", "All Statuses")
334
+ children: w("bigconsole.dataSinks.filters.status.all", "All Statuses")
329
335
  }),
330
- /* @__PURE__ */ y(h, {
336
+ /* @__PURE__ */ b(g, {
331
337
  value: "ready",
332
- children: C("bigconsole.dataSinks.filters.status.ready", "Ready")
338
+ children: w("bigconsole.dataSinks.filters.status.ready", "Ready")
333
339
  }),
334
- /* @__PURE__ */ y(h, {
340
+ /* @__PURE__ */ b(g, {
335
341
  value: "error",
336
- children: C("bigconsole.dataSinks.filters.status.error", "Error")
342
+ children: w("bigconsole.dataSinks.filters.status.error", "Error")
337
343
  }),
338
- /* @__PURE__ */ y(h, {
344
+ /* @__PURE__ */ b(g, {
339
345
  value: "stale",
340
- children: C("bigconsole.dataSinks.filters.status.stale", "Stale")
346
+ children: w("bigconsole.dataSinks.filters.status.stale", "Stale")
341
347
  }),
342
- /* @__PURE__ */ y(h, {
348
+ /* @__PURE__ */ b(g, {
343
349
  value: "refreshing",
344
- children: C("bigconsole.dataSinks.filters.status.refreshing", "Refreshing")
350
+ children: w("bigconsole.dataSinks.filters.status.refreshing", "Refreshing")
345
351
  })
346
352
  ] })]
347
353
  }),
348
- /* @__PURE__ */ b(p, {
349
- value: A === null ? "all" : A ? "true" : "false",
350
- onValueChange: (e) => N(e === "all" ? null : e === "true"),
351
- children: [/* @__PURE__ */ y(g, {
354
+ /* @__PURE__ */ x(m, {
355
+ value: I === null ? "all" : I ? "true" : "false",
356
+ onValueChange: (e) => z(e === "all" ? null : e === "true"),
357
+ children: [/* @__PURE__ */ b(_, {
352
358
  style: { width: "min(100%, 130px)" },
353
- children: /* @__PURE__ */ y(_, { placeholder: C("bigconsole.dataSinks.filters.active.placeholder", "All") })
354
- }), /* @__PURE__ */ b(m, { children: [
355
- /* @__PURE__ */ y(h, {
359
+ children: /* @__PURE__ */ b(v, { placeholder: w("bigconsole.dataSinks.filters.active.placeholder", "All") })
360
+ }), /* @__PURE__ */ x(h, { children: [
361
+ /* @__PURE__ */ b(g, {
356
362
  value: "all",
357
- children: C("bigconsole.dataSinks.filters.active.all", "All")
363
+ children: w("bigconsole.dataSinks.filters.active.all", "All")
358
364
  }),
359
- /* @__PURE__ */ y(h, {
365
+ /* @__PURE__ */ b(g, {
360
366
  value: "true",
361
- children: C("bigconsole.dataSinks.filters.active.active", "Active")
367
+ children: w("bigconsole.dataSinks.filters.active.active", "Active")
362
368
  }),
363
- /* @__PURE__ */ y(h, {
369
+ /* @__PURE__ */ b(g, {
364
370
  value: "false",
365
- children: C("bigconsole.dataSinks.filters.active.inactive", "Inactive")
371
+ children: w("bigconsole.dataSinks.filters.active.inactive", "Inactive")
366
372
  })
367
373
  ] })]
368
374
  }),
369
- Be && /* @__PURE__ */ b(u, {
375
+ Qe && /* @__PURE__ */ x(d, {
370
376
  variant: "ghost",
371
377
  size: "sm",
372
- onClick: Ve,
373
- children: [/* @__PURE__ */ y(ve, { style: {
378
+ onClick: $,
379
+ children: [/* @__PURE__ */ b(xe, { style: {
374
380
  marginRight: "var(--space-iconGap)",
375
381
  height: "var(--size-icon-sm)",
376
382
  width: "var(--size-icon-sm)"
377
- } }), C("bigconsole.dataSinks.filters.clear", "Clear Filters")]
383
+ } }), w("bigconsole.dataSinks.filters.clear", "Clear Filters")]
378
384
  }),
379
- /* @__PURE__ */ b("div", {
385
+ /* @__PURE__ */ x("div", {
380
386
  style: {
381
387
  marginLeft: "auto",
382
388
  display: "flex",
383
389
  alignItems: "center",
384
390
  gap: "var(--space-controlGap)"
385
391
  },
386
- children: [/* @__PURE__ */ b(xe, {
392
+ children: [/* @__PURE__ */ x(we, {
387
393
  variant: "secondary",
388
394
  children: [
389
- J.length,
395
+ X.length,
390
396
  " ",
391
- J.length === 1 ? C("bigconsole.dataSinks.count.single", "Data Sink") : C("bigconsole.dataSinks.count.plural", "Data Sinks")
397
+ X.length === 1 ? w("bigconsole.dataSinks.count.single", "Data Sink") : w("bigconsole.dataSinks.count.plural", "Data Sinks")
392
398
  ]
393
- }), /* @__PURE__ */ b("div", {
399
+ }), /* @__PURE__ */ x("div", {
394
400
  style: {
395
401
  display: "flex",
396
402
  borderRadius: "var(--radius-button)",
397
403
  border: "1px solid var(--color-border)",
398
404
  overflow: "hidden"
399
405
  },
400
- children: [/* @__PURE__ */ y("button", {
406
+ children: [/* @__PURE__ */ b("button", {
401
407
  type: "button",
402
- onClick: () => O("grid"),
403
- title: C("bigconsole.dataSinks.view.grid", "Grid view"),
408
+ onClick: () => P("grid"),
409
+ title: w("bigconsole.dataSinks.view.grid", "Grid view"),
404
410
  style: {
405
411
  padding: "6px 8px",
406
412
  border: "none",
407
413
  cursor: "pointer",
408
- backgroundColor: D === "grid" ? "var(--color-bg-sunken)" : "transparent",
409
- color: D === "grid" ? "var(--color-text-primary)" : "var(--color-text-muted)"
414
+ backgroundColor: N === "grid" ? "var(--color-bg-sunken)" : "transparent",
415
+ color: N === "grid" ? "var(--color-text-primary)" : "var(--color-text-muted)"
410
416
  },
411
- children: /* @__PURE__ */ y(de, { size: 16 })
412
- }), /* @__PURE__ */ y("button", {
417
+ children: /* @__PURE__ */ b(me, { size: 16 })
418
+ }), /* @__PURE__ */ b("button", {
413
419
  type: "button",
414
- onClick: () => O("table"),
415
- title: C("bigconsole.dataSinks.view.table", "Table view"),
420
+ onClick: () => P("table"),
421
+ title: w("bigconsole.dataSinks.view.table", "Table view"),
416
422
  style: {
417
423
  padding: "6px 8px",
418
424
  border: "none",
419
425
  borderLeft: "1px solid var(--color-border)",
420
426
  cursor: "pointer",
421
- backgroundColor: D === "table" ? "var(--color-bg-sunken)" : "transparent",
422
- color: D === "table" ? "var(--color-text-primary)" : "var(--color-text-muted)"
427
+ backgroundColor: N === "table" ? "var(--color-bg-sunken)" : "transparent",
428
+ color: N === "table" ? "var(--color-text-primary)" : "var(--color-text-muted)"
423
429
  },
424
- children: /* @__PURE__ */ y(he, { size: 16 })
430
+ children: /* @__PURE__ */ b(ve, { size: 16 })
425
431
  })]
426
432
  })]
427
433
  })
428
434
  ]
429
435
  }),
430
- B && H.length === 0 && /* @__PURE__ */ y("div", {
436
+ K && J.length === 0 && /* @__PURE__ */ b("div", {
431
437
  style: {
432
438
  display: "flex",
433
439
  alignItems: "center",
434
440
  justifyContent: "center",
435
441
  padding: "80px 0"
436
442
  },
437
- children: /* @__PURE__ */ b("div", {
443
+ children: /* @__PURE__ */ x("div", {
438
444
  style: { textAlign: "center" },
439
- children: [/* @__PURE__ */ y(Oe, { style: {
445
+ children: [/* @__PURE__ */ b(je, { style: {
440
446
  height: "var(--size-icon-xl)",
441
447
  width: "var(--size-icon-xl)",
442
448
  margin: "0 auto var(--space-formGap)"
443
- } }), /* @__PURE__ */ y("p", {
449
+ } }), /* @__PURE__ */ b("p", {
444
450
  style: {
445
451
  fontSize: "var(--font-size-body-sm)",
446
452
  color: "var(--color-text-muted)"
447
453
  },
448
- children: C("bigconsole.dataSinks.loading", "Loading data sinks...")
454
+ children: w("bigconsole.dataSinks.loading", "Loading data sinks...")
449
455
  })]
450
456
  })
451
457
  }),
452
- !B && H.length === 0 && /* @__PURE__ */ y(d, {
458
+ !K && J.length === 0 && /* @__PURE__ */ b(f, {
453
459
  treatment: "insight",
454
460
  className: "border-border-seam",
455
- children: /* @__PURE__ */ y(f, {
461
+ children: /* @__PURE__ */ b(p, {
456
462
  illustration: "empty-data",
457
- title: C("bigconsole.dataSinks.empty.title", "No Data Sinks yet"),
458
- description: C("bigconsole.dataSinks.empty.description", "Data Sinks store pre-processed data from FluidGrids workflows for fast access in widgets."),
459
- action: /* @__PURE__ */ b(u, {
460
- onClick: Y,
461
- children: [/* @__PURE__ */ y(l, { style: {
462
- marginRight: "var(--space-iconGap)",
463
- height: "var(--size-icon-sm)",
464
- width: "var(--size-icon-sm)"
465
- } }), C("bigconsole.dataSinks.actions.create", "Create Data Sink")]
463
+ title: w("bigconsole.dataSinks.empty.title", "No Data Sinks yet"),
464
+ description: w("bigconsole.dataSinks.empty.description", "Data Sinks store pre-processed data from FluidGrids workflows for fast access in widgets."),
465
+ action: /* @__PURE__ */ b(ce, {
466
+ permission: r.DATASINK_CREATE,
467
+ deniedBehavior: "disable",
468
+ children: /* @__PURE__ */ x(d, {
469
+ onClick: We,
470
+ children: [/* @__PURE__ */ b(u, { style: {
471
+ marginRight: "var(--space-iconGap)",
472
+ height: "var(--size-icon-sm)",
473
+ width: "var(--size-icon-sm)"
474
+ } }), w("bigconsole.dataSinks.actions.create", "Create Data Sink")]
475
+ })
466
476
  })
467
477
  })
468
478
  }),
469
- !B && J.length === 0 && H.length > 0 && /* @__PURE__ */ y(d, {
479
+ !K && X.length === 0 && J.length > 0 && /* @__PURE__ */ b(f, {
470
480
  treatment: "insight",
471
481
  className: "border-border-seam",
472
- children: /* @__PURE__ */ y(f, {
482
+ children: /* @__PURE__ */ b(p, {
473
483
  illustration: "empty-search",
474
- title: C("bigconsole.dataSinks.empty.filteredTitle", "No matching data sinks"),
475
- description: C("bigconsole.dataSinks.empty.filtered", "No data sinks match your filters"),
476
- action: /* @__PURE__ */ y(u, {
484
+ title: w("bigconsole.dataSinks.empty.filteredTitle", "No matching data sinks"),
485
+ description: w("bigconsole.dataSinks.empty.filtered", "No data sinks match your filters"),
486
+ action: /* @__PURE__ */ b(d, {
477
487
  variant: "ghost",
478
488
  size: "sm",
479
- onClick: Ve,
480
- children: C("bigconsole.dataSinks.filters.clear", "Clear Filters")
489
+ onClick: $,
490
+ children: w("bigconsole.dataSinks.filters.clear", "Clear Filters")
481
491
  })
482
492
  })
483
493
  }),
484
- J.length > 0 && D === "grid" && /* @__PURE__ */ y("div", {
494
+ X.length > 0 && N === "grid" && /* @__PURE__ */ b("div", {
485
495
  style: {
486
496
  display: "grid",
487
497
  gridTemplateColumns: "repeat(auto-fill, minmax(min(100%, 320px), 1fr))",
488
498
  gap: "var(--space-formGap)"
489
499
  },
490
- children: J.map((e) => /* @__PURE__ */ y(ne, {
500
+ children: X.map((e) => /* @__PURE__ */ b(ne, {
491
501
  dataSink: e.dataSink,
492
502
  setupState: e.setupState,
493
- onView: X,
494
- onEdit: Z,
503
+ onView: Z,
504
+ onEdit: Ge,
495
505
  onRefresh: Q,
496
- onExport: Le,
497
- onDelete: $
506
+ onExport: Ye,
507
+ onDelete: qe,
508
+ canEdit: D,
509
+ canRefresh: k,
510
+ canDelete: O
498
511
  }, e.dataSink.id))
499
512
  }),
500
- J.length > 0 && D === "table" && /* @__PURE__ */ y("div", {
513
+ X.length > 0 && N === "table" && /* @__PURE__ */ b("div", {
501
514
  style: {
502
515
  border: "1px solid var(--color-border)",
503
516
  borderRadius: "var(--radius-card)",
504
517
  overflow: "hidden"
505
518
  },
506
- children: /* @__PURE__ */ y("div", {
519
+ children: /* @__PURE__ */ b("div", {
507
520
  style: { overflowX: "auto" },
508
- children: /* @__PURE__ */ b("table", {
521
+ children: /* @__PURE__ */ x("table", {
509
522
  style: {
510
523
  width: "100%",
511
524
  borderCollapse: "collapse",
512
525
  fontSize: "var(--font-size-body-sm)"
513
526
  },
514
- children: [/* @__PURE__ */ y("thead", { children: /* @__PURE__ */ b("tr", {
527
+ children: [/* @__PURE__ */ b("thead", { children: /* @__PURE__ */ x("tr", {
515
528
  style: {
516
529
  backgroundColor: "var(--color-bg-sunken)",
517
530
  borderBottom: "1px solid var(--color-border)"
518
531
  },
519
532
  children: [
520
- /* @__PURE__ */ y("th", {
533
+ /* @__PURE__ */ b("th", {
521
534
  style: {
522
535
  padding: "10px 12px",
523
536
  textAlign: "left",
@@ -525,9 +538,9 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
525
538
  color: "var(--color-text-secondary)",
526
539
  whiteSpace: "nowrap"
527
540
  },
528
- children: C("bigconsole.dataSinks.table.name", "Name")
541
+ children: w("bigconsole.dataSinks.table.name", "Name")
529
542
  }),
530
- /* @__PURE__ */ y("th", {
543
+ /* @__PURE__ */ b("th", {
531
544
  style: {
532
545
  padding: "10px 12px",
533
546
  textAlign: "left",
@@ -535,9 +548,9 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
535
548
  color: "var(--color-text-secondary)",
536
549
  whiteSpace: "nowrap"
537
550
  },
538
- children: C("bigconsole.dataSinks.table.key", "Key")
551
+ children: w("bigconsole.dataSinks.table.key", "Key")
539
552
  }),
540
- /* @__PURE__ */ y("th", {
553
+ /* @__PURE__ */ b("th", {
541
554
  style: {
542
555
  padding: "10px 12px",
543
556
  textAlign: "left",
@@ -545,9 +558,9 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
545
558
  color: "var(--color-text-secondary)",
546
559
  whiteSpace: "nowrap"
547
560
  },
548
- children: C("bigconsole.dataSinks.table.status", "Status")
561
+ children: w("bigconsole.dataSinks.table.status", "Status")
549
562
  }),
550
- /* @__PURE__ */ y("th", {
563
+ /* @__PURE__ */ b("th", {
551
564
  style: {
552
565
  padding: "10px 12px",
553
566
  textAlign: "left",
@@ -555,9 +568,9 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
555
568
  color: "var(--color-text-secondary)",
556
569
  whiteSpace: "nowrap"
557
570
  },
558
- children: C("bigconsole.dataSinks.table.setup", "Setup")
571
+ children: w("bigconsole.dataSinks.table.setup", "Setup")
559
572
  }),
560
- /* @__PURE__ */ y("th", {
573
+ /* @__PURE__ */ b("th", {
561
574
  style: {
562
575
  padding: "10px 12px",
563
576
  textAlign: "center",
@@ -565,9 +578,9 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
565
578
  color: "var(--color-text-secondary)",
566
579
  whiteSpace: "nowrap"
567
580
  },
568
- children: C("bigconsole.dataSinks.table.active", "Active")
581
+ children: w("bigconsole.dataSinks.table.active", "Active")
569
582
  }),
570
- /* @__PURE__ */ y("th", {
583
+ /* @__PURE__ */ b("th", {
571
584
  style: {
572
585
  padding: "10px 12px",
573
586
  textAlign: "left",
@@ -575,9 +588,9 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
575
588
  color: "var(--color-text-secondary)",
576
589
  whiteSpace: "nowrap"
577
590
  },
578
- children: C("bigconsole.dataSinks.table.version", "Version")
591
+ children: w("bigconsole.dataSinks.table.version", "Version")
579
592
  }),
580
- /* @__PURE__ */ y("th", {
593
+ /* @__PURE__ */ b("th", {
581
594
  style: {
582
595
  padding: "10px 12px",
583
596
  textAlign: "left",
@@ -585,9 +598,9 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
585
598
  color: "var(--color-text-secondary)",
586
599
  whiteSpace: "nowrap"
587
600
  },
588
- children: C("bigconsole.dataSinks.table.updated", "Updated")
601
+ children: w("bigconsole.dataSinks.table.updated", "Updated")
589
602
  }),
590
- /* @__PURE__ */ y("th", {
603
+ /* @__PURE__ */ b("th", {
591
604
  style: {
592
605
  padding: "10px 12px",
593
606
  textAlign: "right",
@@ -595,13 +608,13 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
595
608
  color: "var(--color-text-secondary)",
596
609
  whiteSpace: "nowrap"
597
610
  },
598
- children: C("bigconsole.dataSinks.table.actions", "Actions")
611
+ children: w("bigconsole.dataSinks.table.actions", "Actions")
599
612
  })
600
613
  ]
601
- }) }), /* @__PURE__ */ y("tbody", { children: J.map((e) => {
614
+ }) }), /* @__PURE__ */ b("tbody", { children: X.map((e) => {
602
615
  let t = e.dataSink;
603
- return /* @__PURE__ */ b("tr", {
604
- onClick: () => X(t.id),
616
+ return /* @__PURE__ */ x("tr", {
617
+ onClick: () => Z(t.id),
605
618
  style: {
606
619
  borderBottom: "1px solid var(--color-border)",
607
620
  cursor: "pointer",
@@ -614,7 +627,7 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
614
627
  e.currentTarget.style.backgroundColor = "transparent";
615
628
  },
616
629
  children: [
617
- /* @__PURE__ */ y("td", {
630
+ /* @__PURE__ */ b("td", {
618
631
  style: {
619
632
  padding: "10px 12px",
620
633
  fontWeight: "var(--font-weight-medium)",
@@ -626,7 +639,7 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
626
639
  },
627
640
  children: t.name || t.key
628
641
  }),
629
- /* @__PURE__ */ y("td", {
642
+ /* @__PURE__ */ b("td", {
630
643
  style: {
631
644
  padding: "10px 12px",
632
645
  color: "var(--color-text-muted)",
@@ -639,20 +652,20 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
639
652
  },
640
653
  children: t.key
641
654
  }),
642
- /* @__PURE__ */ y("td", {
655
+ /* @__PURE__ */ b("td", {
643
656
  style: { padding: "10px 12px" },
644
- children: /* @__PURE__ */ y(te, { status: t.status })
657
+ children: /* @__PURE__ */ b(te, { status: t.status })
645
658
  }),
646
- /* @__PURE__ */ y("td", {
659
+ /* @__PURE__ */ b("td", {
647
660
  style: { padding: "10px 12px" },
648
- children: /* @__PURE__ */ y(oe, { state: e.setupState })
661
+ children: /* @__PURE__ */ b(oe, { state: e.setupState })
649
662
  }),
650
- /* @__PURE__ */ y("td", {
663
+ /* @__PURE__ */ b("td", {
651
664
  style: {
652
665
  padding: "10px 12px",
653
666
  textAlign: "center"
654
667
  },
655
- children: /* @__PURE__ */ y("span", {
668
+ children: /* @__PURE__ */ b("span", {
656
669
  style: {
657
670
  display: "inline-block",
658
671
  width: 8,
@@ -660,17 +673,17 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
660
673
  borderRadius: "50%",
661
674
  backgroundColor: t.isActive ? "#22c55e" : "var(--color-text-muted)"
662
675
  },
663
- title: t.isActive ? C("bigconsole.dataSinks.badges.active", "Active") : C("bigconsole.dataSinks.badges.inactive", "Inactive")
676
+ title: t.isActive ? w("bigconsole.dataSinks.badges.active", "Active") : w("bigconsole.dataSinks.badges.inactive", "Inactive")
664
677
  })
665
678
  }),
666
- /* @__PURE__ */ b("td", {
679
+ /* @__PURE__ */ x("td", {
667
680
  style: {
668
681
  padding: "10px 12px",
669
682
  color: "var(--color-text-muted)"
670
683
  },
671
684
  children: ["v", t.version ?? 0]
672
685
  }),
673
- /* @__PURE__ */ y("td", {
686
+ /* @__PURE__ */ b("td", {
674
687
  style: {
675
688
  padding: "10px 12px",
676
689
  color: "var(--color-text-muted)",
@@ -678,12 +691,12 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
678
691
  },
679
692
  children: new Date(t.updatedAt).toLocaleDateString()
680
693
  }),
681
- /* @__PURE__ */ y("td", {
694
+ /* @__PURE__ */ b("td", {
682
695
  style: {
683
696
  padding: "10px 12px",
684
697
  textAlign: "right"
685
698
  },
686
- children: /* @__PURE__ */ b("div", {
699
+ children: /* @__PURE__ */ x("div", {
687
700
  style: {
688
701
  display: "flex",
689
702
  gap: 4,
@@ -691,10 +704,10 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
691
704
  },
692
705
  onClick: (e) => e.stopPropagation(),
693
706
  children: [
694
- /* @__PURE__ */ y("button", {
707
+ /* @__PURE__ */ b("button", {
695
708
  type: "button",
696
- title: C("bigconsole.dataSinks.actions.view", "View"),
697
- onClick: () => X(t.id),
709
+ title: w("bigconsole.dataSinks.actions.view", "View"),
710
+ onClick: () => Z(t.id),
698
711
  style: {
699
712
  padding: 4,
700
713
  border: "none",
@@ -703,12 +716,12 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
703
716
  color: "var(--color-text-muted)",
704
717
  borderRadius: 4
705
718
  },
706
- children: /* @__PURE__ */ y(ue, { size: 14 })
719
+ children: /* @__PURE__ */ b(pe, { size: 14 })
707
720
  }),
708
- /* @__PURE__ */ y("button", {
721
+ D && /* @__PURE__ */ b("button", {
709
722
  type: "button",
710
- title: C("bigconsole.dataSinks.actions.edit", "Edit"),
711
- onClick: () => Z(t.id),
723
+ title: w("bigconsole.dataSinks.actions.edit", "Edit"),
724
+ onClick: () => Ge(t.id),
712
725
  style: {
713
726
  padding: 4,
714
727
  border: "none",
@@ -717,11 +730,11 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
717
730
  color: "var(--color-text-muted)",
718
731
  borderRadius: 4
719
732
  },
720
- children: /* @__PURE__ */ y(fe, { size: 14 })
733
+ children: /* @__PURE__ */ b(he, { size: 14 })
721
734
  }),
722
- /* @__PURE__ */ y("button", {
735
+ k && /* @__PURE__ */ b("button", {
723
736
  type: "button",
724
- title: C("bigconsole.dataSinks.actions.refresh", "Refresh"),
737
+ title: w("bigconsole.dataSinks.actions.refresh", "Refresh"),
725
738
  onClick: () => Q(t.id),
726
739
  style: {
727
740
  padding: 4,
@@ -731,12 +744,12 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
731
744
  color: "var(--color-text-muted)",
732
745
  borderRadius: 4
733
746
  },
734
- children: /* @__PURE__ */ y(pe, { size: 14 })
747
+ children: /* @__PURE__ */ b(ge, { size: 14 })
735
748
  }),
736
- /* @__PURE__ */ y("button", {
749
+ /* @__PURE__ */ b("button", {
737
750
  type: "button",
738
- title: C("bigconsole.dataSinks.actions.export", "Export"),
739
- onClick: () => Le(t.id),
751
+ title: w("bigconsole.dataSinks.actions.export", "Export"),
752
+ onClick: () => Ye(t.id),
740
753
  style: {
741
754
  padding: 4,
742
755
  border: "none",
@@ -745,12 +758,12 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
745
758
  color: "var(--color-text-muted)",
746
759
  borderRadius: 4
747
760
  },
748
- children: /* @__PURE__ */ y(le, { size: 14 })
761
+ children: /* @__PURE__ */ b(fe, { size: 14 })
749
762
  }),
750
- /* @__PURE__ */ y("button", {
763
+ O && /* @__PURE__ */ b("button", {
751
764
  type: "button",
752
- title: C("bigconsole.dataSinks.actions.delete", "Delete"),
753
- onClick: () => $(t.id),
765
+ title: w("bigconsole.dataSinks.actions.delete", "Delete"),
766
+ onClick: () => qe(t.id),
754
767
  style: {
755
768
  padding: 4,
756
769
  border: "none",
@@ -759,7 +772,7 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
759
772
  color: "var(--color-text-muted)",
760
773
  borderRadius: 4
761
774
  },
762
- children: /* @__PURE__ */ y(ge, { size: 14 })
775
+ children: /* @__PURE__ */ b(ye, { size: 14 })
763
776
  })
764
777
  ]
765
778
  })
@@ -772,26 +785,26 @@ var x = "bigconsole-datasinks-view-mode", Ae = (e) => e.setupState === "complete
772
785
  })
773
786
  ]
774
787
  }),
775
- F && /* @__PURE__ */ b(ke, { children: [/* @__PURE__ */ y(re, {
776
- dataSink: F,
777
- isOpen: Ne,
778
- onClose: L,
779
- onConfirm: Ie
780
- }), /* @__PURE__ */ y(ie, {
781
- dataSink: F,
782
- isOpen: Pe,
783
- onClose: z,
784
- onConfirm: Fe
788
+ V && /* @__PURE__ */ x(Me, { children: [/* @__PURE__ */ b(re, {
789
+ dataSink: V,
790
+ isOpen: Re,
791
+ onClose: U,
792
+ onConfirm: Je
793
+ }), /* @__PURE__ */ b(ie, {
794
+ dataSink: V,
795
+ isOpen: ze,
796
+ onClose: G,
797
+ onConfirm: Ke
785
798
  })] }),
786
- /* @__PURE__ */ y(ae, {
787
- isOpen: je,
788
- onClose: () => E(!1),
789
- onSuccess: ze
799
+ /* @__PURE__ */ b(ae, {
800
+ isOpen: Ie,
801
+ onClose: () => M(!1),
802
+ onSuccess: Ze
790
803
  })
791
804
  ]
792
805
  });
793
806
  });
794
807
  //#endregion
795
- export { S as DataSinksPage, S as default };
808
+ export { C as DataSinksPage, C as default };
796
809
 
797
810
  //# sourceMappingURL=DataSinksPage.js.map