@burdenoff/microfe-bigconsole 2026.1104.2 → 2026.1104.3

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.
@@ -1,537 +1,555 @@
1
1
  import { useDataSinkStore as e } from "../store/dataSinkStore.js";
2
- import { useAppNavigate as t } from "../contexts/NavigationContext.js";
2
+ import { useAppNavigate as ee } from "../contexts/NavigationContext.js";
3
3
  import "../contexts/index.js";
4
- import { NEW_WORKFLOW_NAV as n } from "../workflowOpen.js";
5
- import { newWorkflowPath as ee } from "../BigConsoleRoutes.js";
4
+ import { NEW_WORKFLOW_NAV as t } from "../workflowOpen.js";
5
+ import { newWorkflowPath as te } from "../BigConsoleRoutes.js";
6
6
  import "../components/common/sectionStyles.js";
7
- import { Section as r, SectionStack as te } from "../components/common/Section.js";
7
+ import { Section as n, SectionStack as ne } from "../components/common/Section.js";
8
8
  import "../components/common/index.js";
9
- import { DataSinkTableViewer as ne } from "../components/datasink/DataSinkTableViewer.js";
10
- import re from "../hooks/useDataSinkOperations.js";
11
- import { BIGCONSOLE_PERMISSIONS as i } from "../../constants/permissions.js";
12
- import { DataSinkStatusBadge as a } from "../components/datasink/DataSinkStatusBadge.js";
13
- import { isNative as o, nativeConfirm as ie, nativeImpact as ae, nativeNotify as s } from "../../utils/nativeBridge.js";
14
- import { hasDataSinkPayload as c } from "../utils/dataSinkPayload.js";
15
- import oe from "../hooks/useDataSinkSubscription.js";
16
- import { formatByteSize as se } from "../utils/format.js";
17
- import { describeSetupGaps as ce, getSetupGaps as le } from "../utils/dataSinkSetup.js";
18
- import { DataSinkDataViewer as ue } from "../components/datasink/DataSinkDataViewer.js";
19
- import { LinkedWorkflowsPanel as de } from "../components/datasink/LinkedWorkflowsPanel.js";
20
- import { LinkedParsersPanel as fe } from "../components/datasink/LinkedParsersPanel.js";
21
- import { WorkflowStatusPanel as pe } from "../components/datasink/WorkflowStatusPanel.js";
22
- import { ExportDataSinkDialog as me } from "../components/datasink/ExportDataSinkDialog.js";
23
- import { ImportDataGuideDialog as he } from "../components/datasink/ImportDataGuideDialog.js";
24
- import { memo as l, useCallback as u, useEffect as ge, useState as d } from "react";
25
- import { useParams as _e } from "react-router";
26
- import { AccessDenied as ve, PermissionButton as f } from "@burdenoff/fe-libs/shared/components";
27
- import { usePermissions as ye } from "@burdenoff/fe-libs/shared/providers/shell";
28
- import { AlertCircle as be, ArrowLeft as p, Bell as xe, Code as Se, Database as m, Download as Ce, Edit as we, Eye as Te, EyeOff as Ee, Grid3X3 as De, Loader2 as h, RefreshCw as Oe, Trash2 as ke, Upload as g } from "lucide-react";
29
- import { Button as _, IllustratedEmptyState as Ae, NextSteps as je, PagePurpose as Me } from "@burdenoff/fe-libs/ui";
30
- import { useI18n as Ne } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
31
- import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
32
- import { formatDistanceToNow as x } from "date-fns";
9
+ import { DataSinkTableViewer as re } from "../components/datasink/DataSinkTableViewer.js";
10
+ import ie from "../hooks/useDataSinkOperations.js";
11
+ import { BIGCONSOLE_PERMISSIONS as r } from "../../constants/permissions.js";
12
+ import { DataSinkStatusBadge as i } from "../components/datasink/DataSinkStatusBadge.js";
13
+ import { isNative as a, nativeConfirm as ae, nativeImpact as oe, nativeNotify as o } from "../../utils/nativeBridge.js";
14
+ import { hasDataSinkPayload as s } from "../utils/dataSinkPayload.js";
15
+ import { readSinkOwner as se } from "../utils/dataSinkOwner.js";
16
+ import ce from "../hooks/useDataSinkSubscription.js";
17
+ import { formatByteSize as le } from "../utils/format.js";
18
+ import { describeSetupGaps as ue, getSetupGaps as de } from "../utils/dataSinkSetup.js";
19
+ import { DataSinkDataViewer as fe } from "../components/datasink/DataSinkDataViewer.js";
20
+ import { LinkedWorkflowsPanel as pe } from "../components/datasink/LinkedWorkflowsPanel.js";
21
+ import { LinkedParsersPanel as me } from "../components/datasink/LinkedParsersPanel.js";
22
+ import { WorkflowStatusPanel as he } from "../components/datasink/WorkflowStatusPanel.js";
23
+ import { ExportDataSinkDialog as ge } from "../components/datasink/ExportDataSinkDialog.js";
24
+ import { ImportDataGuideDialog as _e } from "../components/datasink/ImportDataGuideDialog.js";
25
+ import { memo as c, useCallback as l, useEffect as ve, useState as u } from "react";
26
+ import { useParams as ye } from "react-router";
27
+ import { AccessDenied as be, PermissionButton as d } from "@burdenoff/fe-libs/shared/components";
28
+ import { usePermissions as xe } from "@burdenoff/fe-libs/shared/providers/shell";
29
+ import { AlertCircle as Se, ArrowLeft as f, Bell as Ce, Code as we, Database as p, Download as Te, Edit as Ee, Eye as De, EyeOff as Oe, Grid3X3 as ke, Loader2 as m, RefreshCw as Ae, Trash2 as je, Upload as h } from "lucide-react";
30
+ import { Button as g, IllustratedEmptyState as Me, NextSteps as Ne, PagePurpose as Pe } from "@burdenoff/fe-libs/ui";
31
+ import { useI18n as Fe } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
32
+ import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
33
+ import { formatDistanceToNow as b } from "date-fns";
33
34
  //#region src/bigconsole/pages/DataSinkViewPage.tsx
34
- var S = "focus-visible:ring-inset focus-visible:ring-offset-0", C = l(function() {
35
- let { dataSinkId: l } = _e(), C = t(), { t: w } = Ne(), { hasPermission: Pe, isLoading: Fe } = ye(), Ie = Pe(i.DATASINK_READ), [T, E] = d(!1), [D, O] = d(!1), [k, A] = d(!1), [Le, j] = d(!1), [Re, M] = d(!1), [N, ze] = d(null), [P, F] = d(!1), [I, L] = d("table"), [R, Be] = d(100), [z, Ve] = d(0), [B, He] = d(null), [Ue, We] = d(!1), V = e((e) => l ? e.dataSinks.get(l) : void 0), { loading: Ge, error: H, fetchDataSink: U, getDataSinkData: W, refreshDataSink: G, updateDataSink: K, deleteDataSink: q } = re({ skipFetch: !0 });
36
- oe({
37
- dataSinkId: l,
38
- enabled: !!l
39
- }), ge(() => {
40
- l && U(l);
41
- }, [l, U]);
42
- let J = u(() => {
43
- C("/datasinks");
44
- }, [C]), Y = u(() => {
45
- C(`/datasinks/${l}/edit`);
46
- }, [C, l]), X = u(async () => {
47
- if (l) {
48
- O(!0);
35
+ var x = "focus-visible:ring-inset focus-visible:ring-offset-0", S = c(function() {
36
+ let { dataSinkId: c } = ye(), S = ee(), { t: C } = Fe(), { hasPermission: Ie, isLoading: Le } = xe(), Re = Ie(r.DATASINK_READ), [w, T] = u(!1), [E, D] = u(!1), [O, k] = u(!1), [ze, A] = u(!1), [Be, j] = u(!1), [M, Ve] = u(null), [N, P] = u(!1), [F, I] = u("table"), [L, He] = u(100), [R, Ue] = u(0), [z, We] = u(null), [Ge, Ke] = u(!1), B = e((e) => c ? e.dataSinks.get(c) : void 0), V = se(B?.metadata), { loading: qe, error: H, fetchDataSink: U, getDataSinkData: W, refreshDataSink: G, updateDataSink: K, deleteDataSink: q } = ie({ skipFetch: !0 });
37
+ ce({
38
+ dataSinkId: c,
39
+ enabled: !!c
40
+ }), ve(() => {
41
+ c && U(c);
42
+ }, [c, U]);
43
+ let Je = l(async () => {
44
+ c && await U(c);
45
+ }, [c, U]), J = l(() => {
46
+ S("/datasinks");
47
+ }, [S]), Y = l(() => {
48
+ S(`/datasinks/${c}/edit`);
49
+ }, [S, c]), X = l(async () => {
50
+ if (c) {
51
+ D(!0);
49
52
  try {
50
- await G({ id: l });
53
+ await G({ id: c });
51
54
  } catch {} finally {
52
- O(!1);
55
+ D(!1);
53
56
  }
54
57
  }
55
- }, [l, G]), Ke = u(async () => {
56
- if (!l) return;
57
- let e = await ie({
58
- title: w("bigconsole.dataSinks.view.deleteConfirmTitle", "Delete DataSink?"),
59
- message: w("bigconsole.dataSinks.view.deleteConfirmMessage", "Are you sure you want to delete this DataSink?"),
60
- okButtonTitle: w("bigconsole.dataSinks.view.delete", "Delete"),
61
- cancelButtonTitle: w("bigconsole.dataSinks.view.cancel", "Cancel")
58
+ }, [c, G]), Ye = l(async () => {
59
+ if (!c) return;
60
+ let e = await ae({
61
+ title: C("bigconsole.dataSinks.view.deleteConfirmTitle", "Delete DataSink?"),
62
+ message: C("bigconsole.dataSinks.view.deleteConfirmMessage", "Are you sure you want to delete this DataSink?"),
63
+ okButtonTitle: C("bigconsole.dataSinks.view.delete", "Delete"),
64
+ cancelButtonTitle: C("bigconsole.dataSinks.view.cancel", "Cancel")
62
65
  });
63
- if (e === null ? window.confirm(w("bigconsole.dataSinks.view.deleteConfirmMessage", "Are you sure you want to delete this DataSink?")) : e) {
64
- ae("medium"), A(!0);
66
+ if (e === null ? window.confirm(C("bigconsole.dataSinks.view.deleteConfirmMessage", "Are you sure you want to delete this DataSink?")) : e) {
67
+ oe("medium"), k(!0);
65
68
  try {
66
- await q(l), o() && s("success"), C("/datasinks");
69
+ await q(c), a() && o("success"), S("/datasinks");
67
70
  } catch {
68
- o() && s("error");
71
+ a() && o("error");
69
72
  } finally {
70
- A(!1);
73
+ k(!1);
71
74
  }
72
75
  }
73
76
  }, [
74
- l,
77
+ c,
75
78
  q,
76
- C,
77
- w
78
- ]), Z = u(async (e, t) => {
79
- if (l) {
80
- F(!0);
79
+ S,
80
+ C
81
+ ]), Z = l(async (e, ee) => {
82
+ if (c) {
83
+ P(!0);
81
84
  try {
82
- let n = await W({ id: l }, {
83
- limit: t,
85
+ let t = await W({ id: c }, {
86
+ limit: ee,
84
87
  offset: e
85
88
  });
86
- n && (ze(n.raw || {}), He(typeof n.totalCount == "number" ? n.totalCount : null), We(!!n.hasMore), Ve(e));
89
+ t && (Ve(t.raw || {}), We(typeof t.totalCount == "number" ? t.totalCount : null), Ke(!!t.hasMore), Ue(e));
87
90
  } catch {} finally {
88
- F(!1);
91
+ P(!1);
89
92
  }
90
93
  }
91
- }, [l, W]), Q = u(async () => {
92
- if (l) {
93
- if (T) {
94
- E(!1);
94
+ }, [c, W]), Q = l(async () => {
95
+ if (c) {
96
+ if (w) {
97
+ T(!1);
95
98
  return;
96
99
  }
97
- await Z(0, R), E(!0);
100
+ await Z(0, L), T(!0);
98
101
  }
99
102
  }, [
100
- l,
101
- T,
103
+ c,
104
+ w,
102
105
  Z,
103
- R
104
- ]), qe = u((e) => {
105
- Be(e), Z(0, e);
106
- }, [Z]), Je = u(() => {
106
+ L
107
+ ]), Xe = l((e) => {
108
+ He(e), Z(0, e);
109
+ }, [Z]), Ze = l(() => {
110
+ A(!0);
111
+ }, []), Qe = l(() => {
112
+ A(!1);
113
+ }, []), $e = l(() => {
107
114
  j(!0);
108
- }, []), Ye = u(() => {
115
+ }, []), et = l(() => {
109
116
  j(!1);
110
- }, []), Xe = u(() => {
111
- M(!0);
112
- }, []), Ze = u(() => {
113
- M(!1);
114
- }, []), Qe = u(() => {
115
- M(!1), C(ee(), n);
116
- }, [C]), $e = u(async (e) => {
117
- if (!V || !await K({
118
- id: V.id,
119
- version: V.version,
117
+ }, []), tt = l(() => {
118
+ j(!1), S(te(), t);
119
+ }, [S]), nt = l(async (e) => {
120
+ if (!B || !await K({
121
+ id: B.id,
122
+ version: B.version,
120
123
  data: e
121
124
  })) return !1;
122
125
  try {
123
- await Z(0, R), E(!0);
126
+ await Z(0, L), T(!0);
124
127
  } catch {}
125
128
  return !0;
126
129
  }, [
127
- V,
130
+ B,
128
131
  K,
129
132
  Z,
130
- R
133
+ L
131
134
  ]);
132
- if (Ge && !V) return /* @__PURE__ */ y("div", {
135
+ if (qe && !B) return /* @__PURE__ */ v("div", {
133
136
  className: "flex min-h-[240px] items-center justify-center p-card-padding",
134
- children: /* @__PURE__ */ y(h, { className: "h-icon-lg w-icon-lg animate-spin text-text-secondary" })
137
+ children: /* @__PURE__ */ v(m, { className: "h-icon-lg w-icon-lg animate-spin text-text-secondary" })
135
138
  });
136
- if (H && !V) return /* @__PURE__ */ y("div", {
139
+ if (H && !B) return /* @__PURE__ */ v("div", {
137
140
  className: "p-card-padding",
138
- children: /* @__PURE__ */ y(r, {
141
+ children: /* @__PURE__ */ v(n, {
139
142
  tone: "danger",
140
143
  headingLevel: 2,
141
- title: w("bigconsole.dataSinks.view.loadError", "Failed to load DataSink"),
144
+ title: C("bigconsole.dataSinks.view.loadError", "Failed to load DataSink"),
142
145
  description: H.message,
143
- icon: /* @__PURE__ */ y(be, { className: "h-icon-sm w-icon-sm" }),
144
- actions: /* @__PURE__ */ b(_, {
146
+ icon: /* @__PURE__ */ v(Se, { className: "h-icon-sm w-icon-sm" }),
147
+ actions: /* @__PURE__ */ y(g, {
145
148
  onClick: J,
146
149
  variant: "secondary",
147
150
  size: "sm",
148
- children: [/* @__PURE__ */ y(p, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.goBack", "Go back")]
151
+ children: [/* @__PURE__ */ v(f, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.goBack", "Go back")]
149
152
  })
150
153
  })
151
154
  });
152
- if (!Fe && !Ie) return /* @__PURE__ */ y(ve, {
153
- title: w("bigconsole.dataSinks.view.accessDeniedTitle", "Access Denied"),
154
- description: w("bigconsole.dataSinks.view.accessDeniedDescription", "You don't have permission to view this data sink.")
155
+ if (!Le && !Re) return /* @__PURE__ */ v(be, {
156
+ title: C("bigconsole.dataSinks.view.accessDeniedTitle", "Access Denied"),
157
+ description: C("bigconsole.dataSinks.view.accessDeniedDescription", "You don't have permission to view this data sink.")
155
158
  });
156
- if (!V) return /* @__PURE__ */ y("div", {
159
+ if (!B) return /* @__PURE__ */ v("div", {
157
160
  className: "flex min-h-[240px] items-center justify-center p-card-padding",
158
- children: /* @__PURE__ */ y(Ae, {
161
+ children: /* @__PURE__ */ v(Me, {
159
162
  illustration: "empty-data",
160
- title: w("bigconsole.dataSinks.view.notFoundTitle", "DataSink not found"),
161
- description: w("bigconsole.dataSinks.view.notFoundDescription", "The DataSink you're looking for doesn't exist or has been deleted."),
162
- action: /* @__PURE__ */ b(_, {
163
+ title: C("bigconsole.dataSinks.view.notFoundTitle", "DataSink not found"),
164
+ description: C("bigconsole.dataSinks.view.notFoundDescription", "The DataSink you're looking for doesn't exist or has been deleted."),
165
+ action: /* @__PURE__ */ y(g, {
163
166
  onClick: J,
164
167
  variant: "default",
165
168
  size: "default",
166
- children: [/* @__PURE__ */ y(p, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.goBackToDataSinks", "Go back to DataSinks")]
169
+ children: [/* @__PURE__ */ v(f, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.goBackToDataSinks", "Go back to DataSinks")]
167
170
  })
168
171
  })
169
172
  });
170
- let $ = le(V);
171
- return /* @__PURE__ */ b("div", {
173
+ let $ = de(B);
174
+ return /* @__PURE__ */ y("div", {
172
175
  className: "min-w-0 p-card-padding",
173
176
  children: [
174
- /* @__PURE__ */ b("header", {
177
+ /* @__PURE__ */ y("header", {
175
178
  className: "mb-section-gap flex flex-wrap items-start justify-between gap-form-gap",
176
- children: [/* @__PURE__ */ b("div", {
179
+ children: [/* @__PURE__ */ y("div", {
177
180
  className: "min-w-[min(100%,16rem)] flex-1",
178
181
  children: [
179
- /* @__PURE__ */ b(_, {
182
+ /* @__PURE__ */ y(g, {
180
183
  onClick: J,
181
184
  variant: "ghost",
182
185
  size: "sm",
183
186
  className: "mb-4",
184
- children: [/* @__PURE__ */ y(p, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.backToDataSinks", "Back to DataSinks")]
187
+ children: [/* @__PURE__ */ v(f, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.backToDataSinks", "Back to DataSinks")]
185
188
  }),
186
- /* @__PURE__ */ b("div", {
189
+ /* @__PURE__ */ y("div", {
187
190
  className: "flex flex-wrap items-center gap-2",
188
191
  children: [
189
- /* @__PURE__ */ y("h1", {
192
+ /* @__PURE__ */ v("h1", {
190
193
  className: "break-words text-2xl font-bold text-text-primary",
191
- children: V.name || w("bigconsole.dataSinks.view.untitled", "Untitled")
194
+ children: B.name || C("bigconsole.dataSinks.view.untitled", "Untitled")
192
195
  }),
193
- /* @__PURE__ */ y(a, { status: V.status }),
194
- /* @__PURE__ */ b("span", {
196
+ /* @__PURE__ */ v(i, { status: B.status }),
197
+ /* @__PURE__ */ y("span", {
195
198
  className: "rounded-pill border border-border-subtle px-2 py-1 text-xs text-text-secondary",
196
- children: ["v", V.version]
199
+ children: ["v", B.version]
197
200
  })
198
201
  ]
199
202
  }),
200
- /* @__PURE__ */ y("p", {
203
+ /* @__PURE__ */ v("p", {
201
204
  className: "mt-1 break-all font-mono text-sm text-text-muted",
202
- children: V.key
205
+ children: B.key
203
206
  }),
204
- V.description && /* @__PURE__ */ y("p", {
207
+ B.description && /* @__PURE__ */ v("p", {
205
208
  className: "mt-2 break-words text-sm text-text-secondary",
206
- children: V.description
209
+ children: B.description
207
210
  })
208
211
  ]
209
- }), /* @__PURE__ */ b("div", {
212
+ }), /* @__PURE__ */ y("div", {
210
213
  className: "flex max-w-full flex-wrap items-center gap-2",
211
214
  children: [
212
- /* @__PURE__ */ y(f, {
213
- permission: i.DATASINK_EXECUTE,
215
+ /* @__PURE__ */ v(d, {
216
+ permission: r.DATASINK_EXECUTE,
214
217
  deniedBehavior: "disable",
215
- children: /* @__PURE__ */ b(_, {
218
+ children: /* @__PURE__ */ y(g, {
216
219
  onClick: X,
217
- disabled: D,
220
+ disabled: E,
218
221
  variant: "default",
219
222
  size: "default",
220
- children: [/* @__PURE__ */ y(Oe, { className: `w-4 h-4 mr-2 ${D ? "animate-spin" : ""}` }), D ? w("bigconsole.dataSinks.view.refreshing", "Refreshing...") : w("bigconsole.dataSinks.view.refresh", "Refresh")]
223
+ children: [/* @__PURE__ */ v(Ae, { className: `w-4 h-4 mr-2 ${E ? "animate-spin" : ""}` }), E ? C("bigconsole.dataSinks.view.refreshing", "Refreshing...") : C("bigconsole.dataSinks.view.refresh", "Refresh")]
221
224
  })
222
225
  }),
223
- /* @__PURE__ */ b(_, {
224
- onClick: Xe,
226
+ /* @__PURE__ */ y(g, {
227
+ onClick: $e,
225
228
  variant: "secondary",
226
229
  size: "default",
227
- children: [/* @__PURE__ */ y(g, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.importData", "Import Data")]
230
+ children: [/* @__PURE__ */ v(h, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.importData", "Import Data")]
228
231
  }),
229
- /* @__PURE__ */ b(_, {
230
- onClick: Je,
232
+ /* @__PURE__ */ y(g, {
233
+ onClick: Ze,
231
234
  variant: "secondary",
232
235
  size: "default",
233
- children: [/* @__PURE__ */ y(Ce, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.export", "Export")]
236
+ children: [/* @__PURE__ */ v(Te, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.export", "Export")]
234
237
  }),
235
- /* @__PURE__ */ b(_, {
236
- onClick: () => C(`/datasinks/${l}/alerts`),
238
+ /* @__PURE__ */ y(g, {
239
+ onClick: () => S(`/datasinks/${c}/alerts`),
237
240
  variant: "secondary",
238
241
  size: "default",
239
- children: [/* @__PURE__ */ y(xe, { className: "w-4 h-4 mr-2" }), w("bigconsole.alerts.title", "Alerts")]
242
+ children: [/* @__PURE__ */ v(Ce, { className: "w-4 h-4 mr-2" }), C("bigconsole.alerts.title", "Alerts")]
240
243
  }),
241
- /* @__PURE__ */ y(f, {
242
- permission: i.DATASINK_UPDATE,
244
+ /* @__PURE__ */ v(d, {
245
+ permission: r.DATASINK_UPDATE,
243
246
  deniedBehavior: "disable",
244
- children: /* @__PURE__ */ b(_, {
247
+ children: /* @__PURE__ */ y(g, {
245
248
  onClick: Y,
246
249
  variant: "secondary",
247
250
  size: "default",
248
- children: [/* @__PURE__ */ y(we, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.edit", "Edit")]
251
+ children: [/* @__PURE__ */ v(Ee, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.edit", "Edit")]
249
252
  })
250
253
  }),
251
- /* @__PURE__ */ y(f, {
252
- permission: i.DATASINK_DELETE,
254
+ /* @__PURE__ */ v(d, {
255
+ permission: r.DATASINK_DELETE,
253
256
  deniedBehavior: "hide",
254
- children: /* @__PURE__ */ b(_, {
255
- onClick: Ke,
256
- disabled: k,
257
+ children: /* @__PURE__ */ y(g, {
258
+ onClick: Ye,
259
+ disabled: O,
257
260
  variant: "destructive",
258
261
  size: "default",
259
- children: [/* @__PURE__ */ y(ke, { className: "w-4 h-4 mr-2" }), k ? w("bigconsole.dataSinks.view.deleting", "Deleting...") : w("bigconsole.dataSinks.view.delete", "Delete")]
262
+ children: [/* @__PURE__ */ v(je, { className: "w-4 h-4 mr-2" }), O ? C("bigconsole.dataSinks.view.deleting", "Deleting...") : C("bigconsole.dataSinks.view.delete", "Delete")]
260
263
  })
261
264
  })
262
265
  ]
263
266
  })]
264
267
  }),
265
- /* @__PURE__ */ y(Me, {
268
+ /* @__PURE__ */ v(Pe, {
266
269
  className: "mb-section-gap",
267
- children: w("bigconsole.dataSinks.view.pagePurpose", "A data sink is a structured store that holds your processed data and serves it to dashboards. From here you can inspect its schema and stats, preview the cached rows, refresh it from its linked workflow, or export it.")
270
+ children: C("bigconsole.dataSinks.view.pagePurpose", "A data sink is a structured store that holds your processed data and serves it to dashboards. From here you can inspect its schema and stats, preview the cached rows, refresh it from its linked workflow, or export it.")
268
271
  }),
269
- $.length > 0 && /* @__PURE__ */ b("div", {
272
+ $.length > 0 && /* @__PURE__ */ y("div", {
270
273
  role: "status",
271
274
  className: "mb-section-gap flex flex-wrap items-center justify-between gap-form-gap rounded-input border border-[var(--color-status-warning-border)] bg-[var(--color-status-warning-bgSubtle)] p-3",
272
- children: [/* @__PURE__ */ y("p", {
275
+ children: [/* @__PURE__ */ v("p", {
273
276
  className: "min-w-0 text-sm text-[var(--color-status-warning-text)]",
274
- children: ce($, w)
275
- }), /* @__PURE__ */ y(f, {
276
- permission: i.DATASINK_UPDATE,
277
+ children: ue($, C)
278
+ }), /* @__PURE__ */ v(d, {
279
+ permission: r.DATASINK_UPDATE,
277
280
  deniedBehavior: "disable",
278
- children: /* @__PURE__ */ y(_, {
281
+ children: /* @__PURE__ */ v(g, {
279
282
  onClick: Y,
280
283
  variant: "secondary",
281
284
  size: "sm",
282
- children: w("bigconsole.dataSinks.setup.continueSetup", "Continue setup")
285
+ children: C("bigconsole.dataSinks.setup.continueSetup", "Continue setup")
283
286
  })
284
287
  })]
285
288
  }),
286
- /* @__PURE__ */ b(te, {
289
+ /* @__PURE__ */ y(ne, {
287
290
  className: "mt-section-gap",
288
- children: [/* @__PURE__ */ b("div", {
291
+ children: [/* @__PURE__ */ y("div", {
289
292
  className: "grid min-w-0 gap-section-gap lg:grid-cols-[minmax(0,2fr)_minmax(0,3fr)]",
290
- children: [/* @__PURE__ */ y(r, {
293
+ children: [/* @__PURE__ */ v(n, {
291
294
  headingLevel: 2,
292
- title: w("bigconsole.dataSinks.view.details", "Details"),
295
+ title: C("bigconsole.dataSinks.view.details", "Details"),
293
296
  description: "Cache, refresh and storage settings for this sink.",
294
- children: /* @__PURE__ */ b("dl", {
297
+ children: /* @__PURE__ */ y("dl", {
295
298
  className: "divide-y divide-[var(--color-border-subtle)] text-sm",
296
299
  children: [
297
- /* @__PURE__ */ b("div", {
300
+ /* @__PURE__ */ y("div", {
298
301
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2 first:pt-0",
299
- children: [/* @__PURE__ */ y("dt", {
302
+ children: [/* @__PURE__ */ v("dt", {
300
303
  className: "min-w-0 text-text-secondary",
301
- children: w("bigconsole.dataSinks.view.status", "Status")
302
- }), /* @__PURE__ */ y("dd", { children: /* @__PURE__ */ y(a, {
303
- status: V.status,
304
+ children: C("bigconsole.dataSinks.view.status", "Status")
305
+ }), /* @__PURE__ */ v("dd", { children: /* @__PURE__ */ v(i, {
306
+ status: B.status,
304
307
  size: "sm"
305
308
  }) })]
306
309
  }),
307
- /* @__PURE__ */ b("div", {
310
+ /* @__PURE__ */ y("div", {
308
311
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
309
- children: [/* @__PURE__ */ y("dt", {
312
+ children: [/* @__PURE__ */ v("dt", {
310
313
  className: "min-w-0 text-text-secondary",
311
- children: w("bigconsole.dataSinks.view.cacheTtl", "Cache TTL")
312
- }), /* @__PURE__ */ y("dd", {
314
+ children: C("bigconsole.dataSinks.view.owner", "Owner")
315
+ }), /* @__PURE__ */ v("dd", {
316
+ className: `min-w-0 break-words text-right ${V ? "font-medium text-text-primary" : "text-text-muted"}`,
317
+ "data-testid": "datasink-owner",
318
+ children: V || C("bigconsole.dataSinks.view.ownerNotSet", "Not set")
319
+ })]
320
+ }),
321
+ /* @__PURE__ */ y("div", {
322
+ className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
323
+ children: [/* @__PURE__ */ v("dt", {
324
+ className: "min-w-0 text-text-secondary",
325
+ children: C("bigconsole.dataSinks.view.cacheTtl", "Cache TTL")
326
+ }), /* @__PURE__ */ v("dd", {
313
327
  className: "font-medium text-text-primary",
314
- children: V.ttl ? `${V.ttl}s` : w("bigconsole.dataSinks.view.none", "None")
328
+ children: B.ttl ? `${B.ttl}s` : C("bigconsole.dataSinks.view.none", "None")
315
329
  })]
316
330
  }),
317
- /* @__PURE__ */ b("div", {
331
+ /* @__PURE__ */ y("div", {
318
332
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
319
- children: [/* @__PURE__ */ y("dt", {
333
+ children: [/* @__PURE__ */ v("dt", {
320
334
  className: "min-w-0 text-text-secondary",
321
- children: w("bigconsole.dataSinks.view.refreshType", "Refresh Type")
322
- }), /* @__PURE__ */ y("dd", {
335
+ children: C("bigconsole.dataSinks.view.refreshType", "Refresh Type")
336
+ }), /* @__PURE__ */ v("dd", {
323
337
  className: "font-medium capitalize text-text-primary",
324
- children: V.refresh?.type || w("bigconsole.dataSinks.view.manual", "Manual")
338
+ children: B.refresh?.type || C("bigconsole.dataSinks.view.manual", "Manual")
325
339
  })]
326
340
  }),
327
- /* @__PURE__ */ b("div", {
341
+ /* @__PURE__ */ y("div", {
328
342
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
329
- children: [/* @__PURE__ */ y("dt", {
343
+ children: [/* @__PURE__ */ v("dt", {
330
344
  className: "min-w-0 text-text-secondary",
331
- children: w("bigconsole.dataSinks.view.size", "Size")
332
- }), /* @__PURE__ */ y("dd", {
345
+ children: C("bigconsole.dataSinks.view.size", "Size")
346
+ }), /* @__PURE__ */ v("dd", {
333
347
  className: "font-medium text-text-primary",
334
- children: se(V.sizeBytes || 0)
348
+ children: le(B.sizeBytes || 0)
335
349
  })]
336
350
  }),
337
- /* @__PURE__ */ b("div", {
351
+ /* @__PURE__ */ y("div", {
338
352
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
339
- children: [/* @__PURE__ */ y("dt", {
353
+ children: [/* @__PURE__ */ v("dt", {
340
354
  className: "min-w-0 text-text-secondary",
341
- children: w("bigconsole.dataSinks.view.version", "Version")
342
- }), /* @__PURE__ */ y("dd", {
355
+ children: C("bigconsole.dataSinks.view.version", "Version")
356
+ }), /* @__PURE__ */ v("dd", {
343
357
  className: "font-medium text-text-primary",
344
- children: V.version || 1
358
+ children: B.version || 1
345
359
  })]
346
360
  }),
347
- /* @__PURE__ */ b("div", {
361
+ /* @__PURE__ */ y("div", {
348
362
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
349
- children: [/* @__PURE__ */ y("dt", {
363
+ children: [/* @__PURE__ */ v("dt", {
350
364
  className: "min-w-0 text-text-secondary",
351
- children: w("bigconsole.dataSinks.view.lastRefreshed", "Last Refreshed")
352
- }), /* @__PURE__ */ y("dd", {
365
+ children: C("bigconsole.dataSinks.view.lastRefreshed", "Last Refreshed")
366
+ }), /* @__PURE__ */ v("dd", {
353
367
  className: "font-medium text-text-primary",
354
- children: V.lastRefreshedAt ? x(new Date(V.lastRefreshedAt), { addSuffix: !0 }) : w("bigconsole.dataSinks.view.never", "Never")
368
+ children: B.lastRefreshedAt ? b(new Date(B.lastRefreshedAt), { addSuffix: !0 }) : C("bigconsole.dataSinks.view.never", "Never")
355
369
  })]
356
370
  }),
357
- /* @__PURE__ */ b("div", {
371
+ /* @__PURE__ */ y("div", {
358
372
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2 last:pb-0",
359
- children: [/* @__PURE__ */ y("dt", {
373
+ children: [/* @__PURE__ */ v("dt", {
360
374
  className: "min-w-0 text-text-secondary",
361
- children: w("bigconsole.dataSinks.view.created", "Created")
362
- }), /* @__PURE__ */ y("dd", {
375
+ children: C("bigconsole.dataSinks.view.created", "Created")
376
+ }), /* @__PURE__ */ v("dd", {
363
377
  className: "font-medium text-text-primary",
364
- children: x(new Date(V.createdAt), { addSuffix: !0 })
378
+ children: b(new Date(B.createdAt), { addSuffix: !0 })
365
379
  })]
366
380
  })
367
381
  ]
368
382
  })
369
- }), /* @__PURE__ */ b(r, {
383
+ }), /* @__PURE__ */ y(n, {
370
384
  emphasis: "primary",
371
385
  headingLevel: 2,
372
- title: w("bigconsole.dataSinks.view.dataPreview", "Data Preview"),
386
+ title: C("bigconsole.dataSinks.view.dataPreview", "Data Preview"),
373
387
  description: "The rows this sink is currently serving to dashboards.",
374
- icon: /* @__PURE__ */ y(m, { className: "h-icon-sm w-icon-sm" }),
375
- actions: /* @__PURE__ */ b(v, { children: [T && /* @__PURE__ */ b("div", {
388
+ icon: /* @__PURE__ */ v(p, { className: "h-icon-sm w-icon-sm" }),
389
+ actions: /* @__PURE__ */ y(_, { children: [w && /* @__PURE__ */ y("div", {
376
390
  role: "group",
377
- "aria-label": w("bigconsole.dataSinks.view.dataPreview", "Data Preview"),
391
+ "aria-label": C("bigconsole.dataSinks.view.dataPreview", "Data Preview"),
378
392
  className: "flex items-center overflow-hidden rounded-button border border-[var(--color-border-default)]",
379
- children: [/* @__PURE__ */ y("button", {
393
+ children: [/* @__PURE__ */ v("button", {
380
394
  type: "button",
381
- onClick: () => L("table"),
382
- "aria-pressed": I === "table",
383
- className: `flex h-control-md w-[var(--size-controlHeight-md)] items-center justify-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${S} ${I === "table" ? "bg-bg-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
384
- title: w("bigconsole.dataSinks.view.tableView", "Table view"),
385
- children: /* @__PURE__ */ y(De, { className: "w-4 h-4" })
386
- }), /* @__PURE__ */ y("button", {
395
+ onClick: () => I("table"),
396
+ "aria-pressed": F === "table",
397
+ className: `flex h-control-md w-[var(--size-controlHeight-md)] items-center justify-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${x} ${F === "table" ? "bg-bg-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
398
+ title: C("bigconsole.dataSinks.view.tableView", "Table view"),
399
+ children: /* @__PURE__ */ v(ke, { className: "w-4 h-4" })
400
+ }), /* @__PURE__ */ v("button", {
387
401
  type: "button",
388
- onClick: () => L("json"),
389
- "aria-pressed": I === "json",
390
- className: `flex h-control-md w-[var(--size-controlHeight-md)] items-center justify-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${S} ${I === "json" ? "bg-bg-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
391
- title: w("bigconsole.dataSinks.view.jsonView", "JSON view"),
392
- children: /* @__PURE__ */ y(Se, { className: "w-4 h-4" })
402
+ onClick: () => I("json"),
403
+ "aria-pressed": F === "json",
404
+ className: `flex h-control-md w-[var(--size-controlHeight-md)] items-center justify-center focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${x} ${F === "json" ? "bg-bg-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
405
+ title: C("bigconsole.dataSinks.view.jsonView", "JSON view"),
406
+ children: /* @__PURE__ */ v(we, { className: "w-4 h-4" })
393
407
  })]
394
- }), /* @__PURE__ */ y(_, {
408
+ }), /* @__PURE__ */ v(g, {
395
409
  onClick: Q,
396
- disabled: P,
397
- variant: T ? "secondary" : "default",
410
+ disabled: N,
411
+ variant: w ? "secondary" : "default",
398
412
  size: "sm",
399
- children: P ? /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(h, { className: "w-4 h-4 mr-2 animate-spin" }), w("bigconsole.dataSinks.view.loading", "Loading...")] }) : T ? /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(Ee, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.hideData", "Hide Data")] }) : /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(Te, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.showData", "Show Data")] })
413
+ children: N ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(m, { className: "w-4 h-4 mr-2 animate-spin" }), C("bigconsole.dataSinks.view.loading", "Loading...")] }) : w ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(Oe, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.hideData", "Hide Data")] }) : /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(De, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.showData", "Show Data")] })
400
414
  })] }),
401
- children: [T && N && /* @__PURE__ */ b(v, { children: [y(I === "table" ? ne : ue, {
402
- data: N,
415
+ children: [w && M && /* @__PURE__ */ y(_, { children: [v(F === "table" ? re : fe, {
416
+ data: M,
403
417
  maxHeight: "400px"
404
- }), B !== null && /* @__PURE__ */ b("div", {
418
+ }), z !== null && /* @__PURE__ */ y("div", {
405
419
  className: "mt-form-gap flex flex-wrap items-center justify-between gap-form-gap border-t border-[var(--color-border-subtle)] pt-form-gap",
406
- children: [/* @__PURE__ */ b("label", {
420
+ children: [/* @__PURE__ */ y("label", {
407
421
  className: "flex items-center gap-2 text-sm text-text-secondary",
408
- children: [/* @__PURE__ */ y("span", { children: w("bigconsole.dataSinks.view.rowsPerPage", "Rows per page") }), /* @__PURE__ */ y("select", {
409
- "aria-label": w("bigconsole.dataSinks.view.rowsPerPage", "Rows per page"),
422
+ children: [/* @__PURE__ */ v("span", { children: C("bigconsole.dataSinks.view.rowsPerPage", "Rows per page") }), /* @__PURE__ */ v("select", {
423
+ "aria-label": C("bigconsole.dataSinks.view.rowsPerPage", "Rows per page"),
410
424
  className: "h-control-md rounded-input border border-[var(--color-border-default)] bg-bg-canvas px-2 text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
411
- value: R,
412
- onChange: (e) => qe(Number(e.target.value)),
425
+ value: L,
426
+ onChange: (e) => Xe(Number(e.target.value)),
413
427
  children: [
414
428
  100,
415
429
  500,
416
430
  1e3
417
- ].map((e) => /* @__PURE__ */ y("option", {
431
+ ].map((e) => /* @__PURE__ */ v("option", {
418
432
  value: e,
419
433
  children: e
420
434
  }, e))
421
435
  })]
422
- }), /* @__PURE__ */ b("div", {
436
+ }), /* @__PURE__ */ y("div", {
423
437
  className: "flex flex-wrap items-center gap-control-gap text-sm text-text-secondary",
424
438
  children: [
425
- /* @__PURE__ */ y("span", { children: B === 0 ? w("bigconsole.dataSinks.view.zeroRows", "0 rows") : w("bigconsole.dataSinks.view.rowRange", "{{start}}–{{end}} of {{total}}", {
426
- start: z + 1,
427
- end: Math.min(z + R, B),
428
- total: B
439
+ /* @__PURE__ */ v("span", { children: z === 0 ? C("bigconsole.dataSinks.view.zeroRows", "0 rows") : C("bigconsole.dataSinks.view.rowRange", "{{start}}–{{end}} of {{total}}", {
440
+ start: R + 1,
441
+ end: Math.min(R + L, z),
442
+ total: z
429
443
  }) }),
430
- /* @__PURE__ */ y(_, {
444
+ /* @__PURE__ */ v(g, {
431
445
  variant: "secondary",
432
446
  size: "sm",
433
- disabled: z === 0 || P,
434
- onClick: () => void Z(Math.max(0, z - R), R),
435
- children: w("bigconsole.dataSinks.view.previous", "Previous")
447
+ disabled: R === 0 || N,
448
+ onClick: () => void Z(Math.max(0, R - L), L),
449
+ children: C("bigconsole.dataSinks.view.previous", "Previous")
436
450
  }),
437
- /* @__PURE__ */ y(_, {
451
+ /* @__PURE__ */ v(g, {
438
452
  variant: "secondary",
439
453
  size: "sm",
440
- disabled: !Ue || P,
441
- onClick: () => void Z(z + R, R),
442
- children: w("bigconsole.dataSinks.view.next", "Next")
454
+ disabled: !Ge || N,
455
+ onClick: () => void Z(R + L, L),
456
+ children: C("bigconsole.dataSinks.view.next", "Next")
443
457
  })
444
458
  ]
445
459
  })]
446
- })] }), !T && (c(V) ? /* @__PURE__ */ b("p", {
460
+ })] }), !w && (s(B) ? /* @__PURE__ */ y("p", {
447
461
  className: "flex items-center gap-icon-gap text-sm text-text-secondary",
448
- children: [/* @__PURE__ */ y(m, {
462
+ children: [/* @__PURE__ */ v(p, {
449
463
  "aria-hidden": "true",
450
464
  className: "h-icon-sm w-icon-sm shrink-0 text-text-muted"
451
- }), w("bigconsole.dataSinks.view.showDataHint", "Click \"Show Data\" to preview the cached data.")]
452
- }) : /* @__PURE__ */ b("div", {
465
+ }), C("bigconsole.dataSinks.view.showDataHint", "Click \"Show Data\" to preview the cached data.")]
466
+ }) : /* @__PURE__ */ y("div", {
453
467
  className: "flex flex-col items-center gap-form-gap py-form-gap text-center",
454
468
  children: [
455
- /* @__PURE__ */ y(m, {
469
+ /* @__PURE__ */ v(p, {
456
470
  "aria-hidden": "true",
457
471
  className: "h-icon-lg w-icon-lg text-text-muted"
458
472
  }),
459
- /* @__PURE__ */ y("p", {
473
+ /* @__PURE__ */ v("p", {
460
474
  className: "text-sm text-text-secondary",
461
- children: w("bigconsole.dataSinks.view.noDataYet", "This data sink has no data yet. Upload a CSV or build a workflow to import data.")
475
+ children: C("bigconsole.dataSinks.view.noDataYet", "This data sink has no data yet. Upload a CSV or build a workflow to import data.")
462
476
  }),
463
- /* @__PURE__ */ b(_, {
464
- onClick: Xe,
477
+ /* @__PURE__ */ y(g, {
478
+ onClick: $e,
465
479
  variant: "default",
466
480
  size: "sm",
467
- children: [/* @__PURE__ */ y(g, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.importData", "Import Data")]
481
+ children: [/* @__PURE__ */ v(h, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.importData", "Import Data")]
468
482
  })
469
483
  ]
470
484
  }))]
471
485
  })]
472
- }), /* @__PURE__ */ b("div", {
486
+ }), /* @__PURE__ */ y("div", {
473
487
  className: "grid min-w-0 gap-section-gap md:grid-cols-2",
474
488
  children: [
475
- V.fluidGridsWorkflowId && /* @__PURE__ */ y(pe, {
476
- workflowId: V.fluidGridsWorkflowId,
477
- executionId: V.fluidGridsWorkflowExecutionId || void 0,
478
- lastRefreshedAt: V.lastRefreshedAt || void 0,
479
- setupState: V.setupState,
480
- status: V.status,
489
+ B.fluidGridsWorkflowId && /* @__PURE__ */ v(he, {
490
+ workflowId: B.fluidGridsWorkflowId,
491
+ executionId: B.fluidGridsWorkflowExecutionId || void 0,
492
+ lastRefreshedAt: B.lastRefreshedAt || void 0,
493
+ setupState: B.setupState,
494
+ status: B.status,
481
495
  onRerunWorkflow: X,
482
- disabled: D,
483
- isRerunning: D
496
+ disabled: E,
497
+ isRerunning: E
498
+ }),
499
+ /* @__PURE__ */ v(pe, {
500
+ workflowLinks: B.workflowLinks,
501
+ dataSinkKey: B.key,
502
+ onLinked: Je
484
503
  }),
485
- /* @__PURE__ */ y(de, { workflowLinks: V.workflowLinks }),
486
- /* @__PURE__ */ y(fe, { dataSinkKey: V.key })
504
+ /* @__PURE__ */ v(me, { dataSinkKey: B.key })
487
505
  ]
488
506
  })]
489
507
  }),
490
- /* @__PURE__ */ y(je, {
508
+ /* @__PURE__ */ v(Ne, {
491
509
  storageKey: "bigconsole-datasink-view",
492
510
  steps: [
493
511
  {
494
512
  id: "preview",
495
- label: w("bigconsole.dataSinks.view.nextSteps.previewLabel", "Preview the data"),
496
- description: w("bigconsole.dataSinks.view.nextSteps.previewDescription", "Open the cached rows to confirm the sink holds what you expect."),
513
+ label: C("bigconsole.dataSinks.view.nextSteps.previewLabel", "Preview the data"),
514
+ description: C("bigconsole.dataSinks.view.nextSteps.previewDescription", "Open the cached rows to confirm the sink holds what you expect."),
497
515
  onClick: Q
498
516
  },
499
517
  {
500
518
  id: "refresh",
501
- label: w("bigconsole.dataSinks.view.nextSteps.refreshLabel", "Refresh from source"),
502
- description: w("bigconsole.dataSinks.view.nextSteps.refreshDescription", "Re-run the linked workflow to pull the latest data."),
519
+ label: C("bigconsole.dataSinks.view.nextSteps.refreshLabel", "Refresh from source"),
520
+ description: C("bigconsole.dataSinks.view.nextSteps.refreshDescription", "Re-run the linked workflow to pull the latest data."),
503
521
  onClick: X
504
522
  },
505
523
  {
506
524
  id: "build-dashboard",
507
- label: w("bigconsole.dataSinks.view.nextSteps.dashboardLabel", "Visualize it on a dashboard"),
508
- description: w("bigconsole.dataSinks.view.nextSteps.dashboardDescription", "Add widgets that query this sink to see your data live."),
509
- onClick: () => C("/dashboards")
525
+ label: C("bigconsole.dataSinks.view.nextSteps.dashboardLabel", "Visualize it on a dashboard"),
526
+ description: C("bigconsole.dataSinks.view.nextSteps.dashboardDescription", "Add widgets that query this sink to see your data live."),
527
+ onClick: () => S("/dashboards")
510
528
  },
511
529
  {
512
530
  id: "export",
513
- label: w("bigconsole.dataSinks.view.nextSteps.exportLabel", "Export the data"),
514
- description: w("bigconsole.dataSinks.view.nextSteps.exportDescription", "Download the contents for use elsewhere."),
515
- onClick: Je
531
+ label: C("bigconsole.dataSinks.view.nextSteps.exportLabel", "Export the data"),
532
+ description: C("bigconsole.dataSinks.view.nextSteps.exportDescription", "Download the contents for use elsewhere."),
533
+ onClick: Ze
516
534
  }
517
535
  ]
518
536
  }),
519
- /* @__PURE__ */ y(me, {
520
- isOpen: Le,
521
- dataSinkId: l || null,
522
- dataSinkName: V.name || V.key,
523
- onClose: Ye
537
+ /* @__PURE__ */ v(ge, {
538
+ isOpen: ze,
539
+ dataSinkId: c || null,
540
+ dataSinkName: B.name || B.key,
541
+ onClose: Qe
524
542
  }),
525
- /* @__PURE__ */ y(he, {
526
- isOpen: Re,
527
- dataSinkName: V.name || V.key,
528
- hasExistingData: c(V),
529
- onClose: Ze,
530
- onGoToWorkflows: Qe,
531
- onImportCsv: $e
543
+ /* @__PURE__ */ v(_e, {
544
+ isOpen: Be,
545
+ dataSinkName: B.name || B.key,
546
+ hasExistingData: s(B),
547
+ onClose: et,
548
+ onGoToWorkflows: tt,
549
+ onImportCsv: nt
532
550
  })
533
551
  ]
534
552
  });
535
553
  });
536
554
  //#endregion
537
- export { C as DataSinkViewPage, C as default };
555
+ export { S as DataSinkViewPage, S as default };