@burdenoff/microfe-bigconsole 2026.1011.10 → 2026.1012.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 (161) hide show
  1. package/README.md +19 -0
  2. package/dist/bigconsole/BigConsoleRoot.js +88 -82
  3. package/dist/bigconsole/BigConsoleRoutes.js +163 -136
  4. package/dist/bigconsole/assistant/assistantProduct.js +1 -4
  5. package/dist/bigconsole/assistant/pageContext.d.ts +0 -14
  6. package/dist/bigconsole/assistant/pageContext.js +1 -6
  7. package/dist/bigconsole/assistant/recordAdapters.js +26 -27
  8. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +31 -31
  9. package/dist/bigconsole/components/common/index.d.ts +0 -1
  10. package/dist/bigconsole/components/common/index.js +0 -1
  11. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +44 -44
  12. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +36 -36
  13. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +59 -59
  14. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +58 -57
  15. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
  16. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +41 -41
  17. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
  18. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +34 -34
  19. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +110 -110
  20. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +21 -21
  21. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
  22. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +164 -173
  23. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -101
  24. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +31 -31
  25. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +15 -15
  26. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
  27. package/dist/bigconsole/components/dashboard/WidgetPalette.js +165 -163
  28. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +37 -37
  29. package/dist/bigconsole/components/datasink/AlertRuleEditor.js +66 -66
  30. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
  31. package/dist/bigconsole/components/datasink/DataSinkCard.js +50 -51
  32. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
  33. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
  34. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +47 -47
  35. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +91 -91
  36. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
  37. package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
  38. package/dist/bigconsole/components/parser/ImportParserDialog.js +120 -120
  39. package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
  40. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +10 -10
  41. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +76 -77
  42. package/dist/bigconsole/components/preview/AiPreviewPanel.js +95 -96
  43. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +4 -4
  44. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +93 -93
  45. package/dist/bigconsole/components/widgets/PropertiesPanel.js +499 -507
  46. package/dist/bigconsole/components/widgets/WidgetRegistry.js +0 -1
  47. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +4 -4
  48. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
  49. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
  50. package/dist/bigconsole/components/widgets/custom/CustomWidget.js +73 -131
  51. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
  52. package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
  53. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
  54. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
  55. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts +28 -9
  56. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +115 -42
  57. package/dist/bigconsole/components/widgets/iframe-widget/framePolicy.d.ts +20 -0
  58. package/dist/bigconsole/components/widgets/iframe-widget/framePolicy.js +10 -0
  59. package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts +2 -1
  60. package/dist/bigconsole/components/widgets/iframe-widget/index.js +3 -2
  61. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
  62. package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
  63. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
  64. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
  65. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
  66. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
  67. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
  68. package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
  69. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +110 -27
  70. package/dist/bigconsole/components/widgets/text-widget/textData.d.ts +6 -0
  71. package/dist/bigconsole/components/widgets/text-widget/textData.js +17 -14
  72. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
  73. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +15 -15
  74. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +15 -15
  75. package/dist/bigconsole/context/BigConsoleContext.d.ts +10 -0
  76. package/dist/bigconsole/context/BigConsoleContext.js +47 -30
  77. package/dist/bigconsole/context/index.d.ts +1 -1
  78. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +58 -49
  79. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +74 -72
  80. package/dist/bigconsole/customWidget/proposalPreview.d.ts +5 -0
  81. package/dist/bigconsole/customWidget/proposalPreview.js +31 -0
  82. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +0 -23
  83. package/dist/bigconsole/hooks/useDataSinkAlerts.js +113 -138
  84. package/dist/bigconsole/hooks/useDataSinkOperations.d.ts +7 -0
  85. package/dist/bigconsole/hooks/useDataSinkOperations.js +109 -98
  86. package/dist/bigconsole/hooks/useDataSinkSubscription.js +0 -1
  87. package/dist/bigconsole/hooks/useDrilldown.js +68 -67
  88. package/dist/bigconsole/hooks/useExportDataSink.js +1 -1
  89. package/dist/bigconsole/hooks/useGlobalFilters.js +3 -3
  90. package/dist/bigconsole/hooks/useImportDataSink.js +102 -90
  91. package/dist/bigconsole/pages/AdminPage.js +130 -130
  92. package/dist/bigconsole/pages/DashboardBuilderPage.js +60 -72
  93. package/dist/bigconsole/pages/DashboardViewPage.js +235 -258
  94. package/dist/bigconsole/pages/DashboardsPage.js +221 -269
  95. package/dist/bigconsole/pages/DataParsersPage.js +157 -180
  96. package/dist/bigconsole/pages/DataSinkAlertsPage.js +55 -62
  97. package/dist/bigconsole/pages/DataSinkBuilderPage.js +318 -295
  98. package/dist/bigconsole/pages/DataSinkViewPage.js +256 -255
  99. package/dist/bigconsole/pages/DataSinksPage.js +216 -251
  100. package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
  101. package/dist/bigconsole/pages/InsightsPage.js +265 -279
  102. package/dist/bigconsole/pages/OverviewPage.js +47 -47
  103. package/dist/bigconsole/pages/ParserBuilderPage.js +213 -229
  104. package/dist/bigconsole/pages/ParserViewPage.js +97 -97
  105. package/dist/bigconsole/pages/PipelineBuilderPage.js +214 -256
  106. package/dist/bigconsole/pages/PipelineViewPage.js +146 -146
  107. package/dist/bigconsole/pages/PipelinesPage.js +88 -107
  108. package/dist/bigconsole/pages/SettingsPage.js +173 -179
  109. package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
  110. package/dist/bigconsole/pages/WorkflowViewPage.js +1 -1
  111. package/dist/bigconsole/pages/WorkflowsPage.js +141 -141
  112. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +12 -12
  113. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +235 -122
  114. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts +6 -1
  115. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +151 -151
  116. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
  117. package/dist/bigconsole/renderers/adapters/adaptiveCardContent.d.ts +29 -0
  118. package/dist/bigconsole/renderers/adapters/adaptiveCardContent.js +51 -0
  119. package/dist/bigconsole/store/widgetStore.d.ts +0 -12
  120. package/dist/bigconsole/store/widgetStore.js +1 -3
  121. package/dist/bigconsole/types/index.d.ts +17 -2
  122. package/dist/bigconsole/utils/backendError.d.ts +0 -18
  123. package/dist/bigconsole/utils/dataSinkPayload.d.ts +48 -0
  124. package/dist/bigconsole/utils/dataSinkPayload.js +38 -0
  125. package/dist/bigconsole/utils/index.d.ts +2 -0
  126. package/dist/bigconsole/utils/safeUrl.d.ts +79 -0
  127. package/dist/bigconsole/utils/safeUrl.js +93 -0
  128. package/dist/bigconsole/utils/sanitizeHtml.d.ts +16 -0
  129. package/dist/bigconsole/utils/sanitizeHtml.js +67 -0
  130. package/dist/bigconsole/workflowOpen.js +14 -15
  131. package/dist/generated/wspace-operations.d.ts +138 -8
  132. package/dist/generated/wspace-operations.js +281 -240
  133. package/dist/node_modules/dompurify/dist/purify.es.js +800 -0
  134. package/package.json +9 -5
  135. package/dist/bigconsole/assistant/displayCopy.d.ts +0 -32
  136. package/dist/bigconsole/assistant/pageControls.d.ts +0 -81
  137. package/dist/bigconsole/assistant/pageControls.js +0 -169
  138. package/dist/bigconsole/assistant/previewControl.d.ts +0 -16
  139. package/dist/bigconsole/assistant/previewControl.js +0 -10
  140. package/dist/bigconsole/assistant/usePreviewControl.d.ts +0 -2
  141. package/dist/bigconsole/assistant/usePreviewControl.js +0 -20
  142. package/dist/bigconsole/components/common/SortBySelect.d.ts +0 -11
  143. package/dist/bigconsole/components/common/SortBySelect.js +0 -29
  144. package/dist/bigconsole/constants/backendErrors.js +0 -94
  145. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +0 -14
  146. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +0 -32
  147. package/dist/bigconsole/utils/backendError.js +0 -42
  148. package/dist/bigconsole/utils/dashboardList.d.ts +0 -28
  149. package/dist/bigconsole/utils/dashboardList.js +0 -15
  150. package/dist/bigconsole/utils/dataSinkList.d.ts +0 -15
  151. package/dist/bigconsole/utils/dataSinkList.js +0 -15
  152. package/dist/bigconsole/utils/formDirty.d.ts +0 -82
  153. package/dist/bigconsole/utils/formDirty.js +0 -21
  154. package/dist/bigconsole/utils/insightsDraft.d.ts +0 -29
  155. package/dist/bigconsole/utils/insightsDraft.js +0 -8
  156. package/dist/bigconsole/utils/layoutBaseline.d.ts +0 -130
  157. package/dist/bigconsole/utils/layoutBaseline.js +0 -96
  158. package/dist/bigconsole/utils/listSort.d.ts +0 -80
  159. package/dist/bigconsole/utils/listSort.js +0 -85
  160. package/dist/bigconsole/utils/widgetFormDirty.d.ts +0 -16
  161. package/dist/bigconsole/utils/widgetFormDirty.js +0 -13
@@ -11,6 +11,7 @@ import re from "../hooks/useDataSinkOperations.js";
11
11
  import { BIGCONSOLE_PERMISSIONS as i } from "../../constants/permissions.js";
12
12
  import a from "../components/datasink/DataSinkStatusBadge.js";
13
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";
14
15
  import oe from "../hooks/useDataSinkSubscription.js";
15
16
  import { formatByteSize as se } from "../utils/format.js";
16
17
  import ce from "../components/datasink/DataSinkDataViewer.js";
@@ -19,495 +20,495 @@ import ue from "../components/datasink/LinkedParsersPanel.js";
19
20
  import de from "../components/datasink/WorkflowStatusPanel.js";
20
21
  import fe from "../components/datasink/ExportDataSinkDialog.js";
21
22
  import pe from "../components/datasink/ImportDataGuideDialog.js";
22
- import { memo as c, useCallback as l, useEffect as me, useState as u } from "react";
23
+ import { memo as l, useCallback as u, useEffect as me, useState as d } from "react";
23
24
  import { useParams as he } from "react-router";
24
- import { AccessDenied as ge, PermissionButton as d } from "@burdenoff/fe-libs/shared/components";
25
+ import { AccessDenied as ge, PermissionButton as f } from "@burdenoff/fe-libs/shared/components";
25
26
  import { usePermissions as _e } from "@burdenoff/fe-libs/shared/providers/shell";
26
- import { AlertCircle as ve, ArrowLeft as f, Bell as ye, Code as be, Database as p, Download as xe, Edit as Se, Eye as Ce, EyeOff as we, Grid3X3 as Te, Loader2 as m, RefreshCw as Ee, Trash2 as De, Upload as h } from "lucide-react";
27
- import { Button as g, IllustratedEmptyState as Oe, NextSteps as ke, PagePurpose as Ae } from "@burdenoff/fe-libs/ui";
27
+ import { AlertCircle as ve, ArrowLeft as p, Bell as ye, Code as be, Database as m, Download as xe, Edit as Se, Eye as Ce, EyeOff as we, Grid3X3 as Te, Loader2 as h, RefreshCw as Ee, Trash2 as De, Upload as g } from "lucide-react";
28
+ import { Button as _, IllustratedEmptyState as Oe, NextSteps as ke, PagePurpose as Ae } from "@burdenoff/fe-libs/ui";
29
+ import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
28
30
  import { useI18n as je } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
29
- import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
30
- import { formatDistanceToNow as b } from "date-fns";
31
+ import { formatDistanceToNow as x } from "date-fns";
31
32
  //#region src/bigconsole/pages/DataSinkViewPage.tsx
32
- var x = "focus-visible:ring-inset focus-visible:ring-offset-0", S = c(function() {
33
- let { dataSinkId: c } = he(), S = t(), { t: C } = je(), { hasPermission: Me, isLoading: Ne } = _e(), Pe = Me(i.DATASINK_READ), [w, T] = u(!1), [E, D] = u(!1), [O, k] = u(!1), [Fe, A] = u(!1), [Ie, j] = u(!1), [M, Le] = u(null), [N, P] = u(!1), [F, I] = u("table"), [L, Re] = u(100), [R, ze] = u(0), [z, Be] = u(null), [Ve, He] = u(!1), B = e((e) => c ? e.dataSinks.get(c) : void 0), { loading: Ue, error: V, fetchDataSink: H, getDataSinkData: U, refreshDataSink: W, updateDataSink: G, deleteDataSink: K } = re({ skipFetch: !0 });
33
+ var S = "focus-visible:ring-inset focus-visible:ring-offset-0", C = l(function() {
34
+ let { dataSinkId: l } = he(), C = t(), { t: w } = je(), { hasPermission: Me, isLoading: Ne } = _e(), Pe = Me(i.DATASINK_READ), [T, E] = d(!1), [D, O] = d(!1), [k, A] = d(!1), [Fe, j] = d(!1), [Ie, M] = d(!1), [N, Le] = d(null), [P, F] = d(!1), [I, L] = d("table"), [R, Re] = d(100), [z, ze] = d(0), [B, Be] = d(null), [Ve, He] = d(!1), V = e((e) => l ? e.dataSinks.get(l) : void 0), { loading: Ue, error: H, fetchDataSink: U, getDataSinkData: W, refreshDataSink: G, updateDataSink: K, deleteDataSink: q } = re({ skipFetch: !0 });
34
35
  oe({
35
- dataSinkId: c,
36
- enabled: !!c
36
+ dataSinkId: l,
37
+ enabled: !!l
37
38
  }), me(() => {
38
- c && H(c);
39
- }, [c, H]);
40
- let q = l(() => {
41
- S("/datasinks");
42
- }, [S]), We = l(() => {
43
- S(`/datasinks/${c}/edit`);
44
- }, [S, c]), J = l(async () => {
45
- if (c) {
46
- D(!0);
39
+ l && U(l);
40
+ }, [l, U]);
41
+ let J = u(() => {
42
+ C("/datasinks");
43
+ }, [C]), We = u(() => {
44
+ C(`/datasinks/${l}/edit`);
45
+ }, [C, l]), Y = u(async () => {
46
+ if (l) {
47
+ O(!0);
47
48
  try {
48
- await W({ id: c });
49
+ await G({ id: l });
49
50
  } catch {} finally {
50
- D(!1);
51
+ O(!1);
51
52
  }
52
53
  }
53
- }, [c, W]), Ge = l(async () => {
54
- if (!c) return;
54
+ }, [l, G]), Ge = u(async () => {
55
+ if (!l) return;
55
56
  let e = await ie({
56
- title: C("bigconsole.dataSinks.view.deleteConfirmTitle", "Delete DataSink?"),
57
- message: C("bigconsole.dataSinks.view.deleteConfirmMessage", "Are you sure you want to delete this DataSink?"),
58
- okButtonTitle: C("bigconsole.dataSinks.view.delete", "Delete"),
59
- cancelButtonTitle: C("bigconsole.dataSinks.view.cancel", "Cancel")
57
+ title: w("bigconsole.dataSinks.view.deleteConfirmTitle", "Delete DataSink?"),
58
+ message: w("bigconsole.dataSinks.view.deleteConfirmMessage", "Are you sure you want to delete this DataSink?"),
59
+ okButtonTitle: w("bigconsole.dataSinks.view.delete", "Delete"),
60
+ cancelButtonTitle: w("bigconsole.dataSinks.view.cancel", "Cancel")
60
61
  });
61
- if (e === null ? window.confirm(C("bigconsole.dataSinks.view.deleteConfirmMessage", "Are you sure you want to delete this DataSink?")) : e) {
62
- ae("medium"), k(!0);
62
+ if (e === null ? window.confirm(w("bigconsole.dataSinks.view.deleteConfirmMessage", "Are you sure you want to delete this DataSink?")) : e) {
63
+ ae("medium"), A(!0);
63
64
  try {
64
- await K(c), o() && s("success"), S("/datasinks");
65
+ await q(l), o() && s("success"), C("/datasinks");
65
66
  } catch {
66
67
  o() && s("error");
67
68
  } finally {
68
- k(!1);
69
+ A(!1);
69
70
  }
70
71
  }
71
72
  }, [
72
- c,
73
- K,
74
- S,
75
- C
76
- ]), Y = l(async (e, t) => {
77
- if (c) {
78
- P(!0);
73
+ l,
74
+ q,
75
+ C,
76
+ w
77
+ ]), X = u(async (e, t) => {
78
+ if (l) {
79
+ F(!0);
79
80
  try {
80
- let n = await U({ id: c }, {
81
+ let n = await W({ id: l }, {
81
82
  limit: t,
82
83
  offset: e
83
84
  });
84
85
  n && (Le(n.raw || {}), Be(typeof n.totalCount == "number" ? n.totalCount : null), He(!!n.hasMore), ze(e));
85
86
  } catch {} finally {
86
- P(!1);
87
+ F(!1);
87
88
  }
88
89
  }
89
- }, [c, U]), X = l(async () => {
90
- if (c) {
91
- if (w) {
92
- T(!1);
90
+ }, [l, W]), Z = u(async () => {
91
+ if (l) {
92
+ if (T) {
93
+ E(!1);
93
94
  return;
94
95
  }
95
- await Y(0, L), T(!0);
96
+ await X(0, R), E(!0);
96
97
  }
97
98
  }, [
98
- c,
99
- w,
100
- Y,
101
- L
102
- ]), Ke = l((e) => {
103
- Re(e), Y(0, e);
104
- }, [Y]), Z = l(() => {
105
- A(!0);
106
- }, []), Q = l(() => {
107
- A(!1);
108
- }, []), $ = l(() => {
99
+ l,
100
+ T,
101
+ X,
102
+ R
103
+ ]), Ke = u((e) => {
104
+ Re(e), X(0, e);
105
+ }, [X]), Q = u(() => {
109
106
  j(!0);
110
- }, []), qe = l(() => {
107
+ }, []), qe = u(() => {
111
108
  j(!1);
112
- }, []), Je = l(() => {
113
- j(!1), S(ee(), n);
114
- }, [S]), Ye = l(async (e) => {
115
- if (!B || !await G({
116
- id: B.id,
117
- version: B.version,
109
+ }, []), $ = u(() => {
110
+ M(!0);
111
+ }, []), Je = u(() => {
112
+ M(!1);
113
+ }, []), Ye = u(() => {
114
+ M(!1), C(ee(), n);
115
+ }, [C]), Xe = u(async (e) => {
116
+ if (!V || !await K({
117
+ id: V.id,
118
+ version: V.version,
118
119
  data: e
119
120
  })) return !1;
120
121
  try {
121
- await Y(0, L), T(!0);
122
+ await X(0, R), E(!0);
122
123
  } catch {}
123
124
  return !0;
124
125
  }, [
125
- B,
126
- G,
127
- Y,
128
- L
126
+ V,
127
+ K,
128
+ X,
129
+ R
129
130
  ]);
130
- return Ue && !B ? /* @__PURE__ */ v("div", {
131
+ return Ue && !V ? /* @__PURE__ */ y("div", {
131
132
  className: "flex min-h-[240px] items-center justify-center p-card-padding",
132
- children: /* @__PURE__ */ v(m, { className: "h-icon-lg w-icon-lg animate-spin text-text-secondary" })
133
- }) : V && !B ? /* @__PURE__ */ v("div", {
133
+ children: /* @__PURE__ */ y(h, { className: "h-icon-lg w-icon-lg animate-spin text-text-secondary" })
134
+ }) : H && !V ? /* @__PURE__ */ y("div", {
134
135
  className: "p-card-padding",
135
- children: /* @__PURE__ */ v(r, {
136
+ children: /* @__PURE__ */ y(r, {
136
137
  tone: "danger",
137
138
  headingLevel: 2,
138
- title: C("bigconsole.dataSinks.view.loadError", "Failed to load DataSink"),
139
- description: V.message,
140
- icon: /* @__PURE__ */ v(ve, { className: "h-icon-sm w-icon-sm" }),
141
- actions: /* @__PURE__ */ y(g, {
142
- onClick: q,
139
+ title: w("bigconsole.dataSinks.view.loadError", "Failed to load DataSink"),
140
+ description: H.message,
141
+ icon: /* @__PURE__ */ y(ve, { className: "h-icon-sm w-icon-sm" }),
142
+ actions: /* @__PURE__ */ b(_, {
143
+ onClick: J,
143
144
  variant: "secondary",
144
145
  size: "sm",
145
- children: [/* @__PURE__ */ v(f, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.goBack", "Go back")]
146
+ children: [/* @__PURE__ */ y(p, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.goBack", "Go back")]
146
147
  })
147
148
  })
148
- }) : !Ne && !Pe ? /* @__PURE__ */ v(ge, {
149
- title: C("bigconsole.dataSinks.view.accessDeniedTitle", "Access Denied"),
150
- description: C("bigconsole.dataSinks.view.accessDeniedDescription", "You don't have permission to view this data sink.")
151
- }) : B ? /* @__PURE__ */ y("div", {
149
+ }) : !Ne && !Pe ? /* @__PURE__ */ y(ge, {
150
+ title: w("bigconsole.dataSinks.view.accessDeniedTitle", "Access Denied"),
151
+ description: w("bigconsole.dataSinks.view.accessDeniedDescription", "You don't have permission to view this data sink.")
152
+ }) : V ? /* @__PURE__ */ b("div", {
152
153
  className: "min-w-0 p-card-padding",
153
154
  children: [
154
- /* @__PURE__ */ y("header", {
155
+ /* @__PURE__ */ b("header", {
155
156
  className: "mb-section-gap flex flex-col gap-form-gap sm:flex-row sm:items-start sm:justify-between",
156
- children: [/* @__PURE__ */ y("div", {
157
+ children: [/* @__PURE__ */ b("div", {
157
158
  className: "min-w-0 flex-1",
158
159
  children: [
159
- /* @__PURE__ */ y(g, {
160
- onClick: q,
160
+ /* @__PURE__ */ b(_, {
161
+ onClick: J,
161
162
  variant: "ghost",
162
163
  size: "sm",
163
164
  className: "mb-4",
164
- children: [/* @__PURE__ */ v(f, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.backToDataSinks", "Back to DataSinks")]
165
+ children: [/* @__PURE__ */ y(p, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.backToDataSinks", "Back to DataSinks")]
165
166
  }),
166
- /* @__PURE__ */ y("div", {
167
+ /* @__PURE__ */ b("div", {
167
168
  className: "flex flex-wrap items-center gap-2",
168
169
  children: [
169
- /* @__PURE__ */ v("h1", {
170
+ /* @__PURE__ */ y("h1", {
170
171
  className: "text-2xl font-bold text-text-primary",
171
- children: B.name || C("bigconsole.dataSinks.view.untitled", "Untitled")
172
+ children: V.name || w("bigconsole.dataSinks.view.untitled", "Untitled")
172
173
  }),
173
- /* @__PURE__ */ v(a, { status: B.status }),
174
- /* @__PURE__ */ y("span", {
174
+ /* @__PURE__ */ y(a, { status: V.status }),
175
+ /* @__PURE__ */ b("span", {
175
176
  className: "rounded-pill border border-border-subtle px-2 py-1 text-xs text-text-secondary",
176
- children: ["v", B.version]
177
+ children: ["v", V.version]
177
178
  })
178
179
  ]
179
180
  }),
180
- /* @__PURE__ */ v("p", {
181
+ /* @__PURE__ */ y("p", {
181
182
  className: "mt-1 break-all font-mono text-sm text-text-muted",
182
- children: B.key
183
+ children: V.key
183
184
  }),
184
- B.description && /* @__PURE__ */ v("p", {
185
+ V.description && /* @__PURE__ */ y("p", {
185
186
  className: "mt-2 text-sm text-text-secondary",
186
- children: B.description
187
+ children: V.description
187
188
  })
188
189
  ]
189
- }), /* @__PURE__ */ y("div", {
190
+ }), /* @__PURE__ */ b("div", {
190
191
  className: "flex flex-wrap items-center gap-2",
191
192
  children: [
192
- /* @__PURE__ */ v(d, {
193
+ /* @__PURE__ */ y(f, {
193
194
  permission: i.DATASINK_EXECUTE,
194
195
  deniedBehavior: "disable",
195
- children: /* @__PURE__ */ y(g, {
196
- onClick: J,
197
- disabled: E,
196
+ children: /* @__PURE__ */ b(_, {
197
+ onClick: Y,
198
+ disabled: D,
198
199
  variant: "default",
199
200
  size: "default",
200
- children: [/* @__PURE__ */ v(Ee, { className: `w-4 h-4 mr-2 ${E ? "animate-spin" : ""}` }), E ? C("bigconsole.dataSinks.view.refreshing", "Refreshing...") : C("bigconsole.dataSinks.view.refresh", "Refresh")]
201
+ children: [/* @__PURE__ */ y(Ee, { className: `w-4 h-4 mr-2 ${D ? "animate-spin" : ""}` }), D ? w("bigconsole.dataSinks.view.refreshing", "Refreshing...") : w("bigconsole.dataSinks.view.refresh", "Refresh")]
201
202
  })
202
203
  }),
203
- /* @__PURE__ */ y(g, {
204
+ /* @__PURE__ */ b(_, {
204
205
  onClick: $,
205
206
  variant: "secondary",
206
207
  size: "default",
207
- children: [/* @__PURE__ */ v(h, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.importData", "Import Data")]
208
+ children: [/* @__PURE__ */ y(g, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.importData", "Import Data")]
208
209
  }),
209
- /* @__PURE__ */ y(g, {
210
- onClick: Z,
210
+ /* @__PURE__ */ b(_, {
211
+ onClick: Q,
211
212
  variant: "secondary",
212
213
  size: "default",
213
- children: [/* @__PURE__ */ v(xe, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.export", "Export")]
214
+ children: [/* @__PURE__ */ y(xe, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.export", "Export")]
214
215
  }),
215
- /* @__PURE__ */ y(g, {
216
- onClick: () => S(`/datasinks/${c}/alerts`),
216
+ /* @__PURE__ */ b(_, {
217
+ onClick: () => C(`/datasinks/${l}/alerts`),
217
218
  variant: "secondary",
218
219
  size: "default",
219
- children: [/* @__PURE__ */ v(ye, { className: "w-4 h-4 mr-2" }), C("bigconsole.alerts.title", "Alerts")]
220
+ children: [/* @__PURE__ */ y(ye, { className: "w-4 h-4 mr-2" }), w("bigconsole.alerts.title", "Alerts")]
220
221
  }),
221
- /* @__PURE__ */ v(d, {
222
+ /* @__PURE__ */ y(f, {
222
223
  permission: i.DATASINK_UPDATE,
223
224
  deniedBehavior: "disable",
224
- children: /* @__PURE__ */ y(g, {
225
+ children: /* @__PURE__ */ b(_, {
225
226
  onClick: We,
226
227
  variant: "secondary",
227
228
  size: "default",
228
- children: [/* @__PURE__ */ v(Se, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.edit", "Edit")]
229
+ children: [/* @__PURE__ */ y(Se, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.edit", "Edit")]
229
230
  })
230
231
  }),
231
- /* @__PURE__ */ v(d, {
232
+ /* @__PURE__ */ y(f, {
232
233
  permission: i.DATASINK_DELETE,
233
234
  deniedBehavior: "hide",
234
- children: /* @__PURE__ */ y(g, {
235
+ children: /* @__PURE__ */ b(_, {
235
236
  onClick: Ge,
236
- disabled: O,
237
+ disabled: k,
237
238
  variant: "destructive",
238
239
  size: "default",
239
- children: [/* @__PURE__ */ v(De, { className: "w-4 h-4 mr-2" }), O ? C("bigconsole.dataSinks.view.deleting", "Deleting...") : C("bigconsole.dataSinks.view.delete", "Delete")]
240
+ children: [/* @__PURE__ */ y(De, { className: "w-4 h-4 mr-2" }), k ? w("bigconsole.dataSinks.view.deleting", "Deleting...") : w("bigconsole.dataSinks.view.delete", "Delete")]
240
241
  })
241
242
  })
242
243
  ]
243
244
  })]
244
245
  }),
245
- /* @__PURE__ */ v(Ae, {
246
+ /* @__PURE__ */ y(Ae, {
246
247
  className: "mb-section-gap",
247
- 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.")
248
+ 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.")
248
249
  }),
249
- /* @__PURE__ */ y(te, {
250
+ /* @__PURE__ */ b(te, {
250
251
  className: "mt-section-gap",
251
- children: [/* @__PURE__ */ y("div", {
252
+ children: [/* @__PURE__ */ b("div", {
252
253
  className: "grid min-w-0 gap-section-gap lg:grid-cols-[minmax(0,2fr)_minmax(0,3fr)]",
253
- children: [/* @__PURE__ */ v(r, {
254
+ children: [/* @__PURE__ */ y(r, {
254
255
  headingLevel: 2,
255
- title: C("bigconsole.dataSinks.view.details", "Details"),
256
+ title: w("bigconsole.dataSinks.view.details", "Details"),
256
257
  description: "Cache, refresh and storage settings for this sink.",
257
- children: /* @__PURE__ */ y("dl", {
258
+ children: /* @__PURE__ */ b("dl", {
258
259
  className: "divide-y divide-[var(--color-border-subtle)] text-sm",
259
260
  children: [
260
- /* @__PURE__ */ y("div", {
261
+ /* @__PURE__ */ b("div", {
261
262
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2 first:pt-0",
262
- children: [/* @__PURE__ */ v("dt", {
263
+ children: [/* @__PURE__ */ y("dt", {
263
264
  className: "min-w-0 text-text-secondary",
264
- children: C("bigconsole.dataSinks.view.status", "Status")
265
- }), /* @__PURE__ */ v("dd", { children: /* @__PURE__ */ v(a, {
266
- status: B.status,
265
+ children: w("bigconsole.dataSinks.view.status", "Status")
266
+ }), /* @__PURE__ */ y("dd", { children: /* @__PURE__ */ y(a, {
267
+ status: V.status,
267
268
  size: "sm"
268
269
  }) })]
269
270
  }),
270
- /* @__PURE__ */ y("div", {
271
+ /* @__PURE__ */ b("div", {
271
272
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
272
- children: [/* @__PURE__ */ v("dt", {
273
+ children: [/* @__PURE__ */ y("dt", {
273
274
  className: "min-w-0 text-text-secondary",
274
- children: C("bigconsole.dataSinks.view.cacheTtl", "Cache TTL")
275
- }), /* @__PURE__ */ v("dd", {
275
+ children: w("bigconsole.dataSinks.view.cacheTtl", "Cache TTL")
276
+ }), /* @__PURE__ */ y("dd", {
276
277
  className: "font-medium text-text-primary",
277
- children: B.ttl ? `${B.ttl}s` : C("bigconsole.dataSinks.view.none", "None")
278
+ children: V.ttl ? `${V.ttl}s` : w("bigconsole.dataSinks.view.none", "None")
278
279
  })]
279
280
  }),
280
- /* @__PURE__ */ y("div", {
281
+ /* @__PURE__ */ b("div", {
281
282
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
282
- children: [/* @__PURE__ */ v("dt", {
283
+ children: [/* @__PURE__ */ y("dt", {
283
284
  className: "min-w-0 text-text-secondary",
284
- children: C("bigconsole.dataSinks.view.refreshType", "Refresh Type")
285
- }), /* @__PURE__ */ v("dd", {
285
+ children: w("bigconsole.dataSinks.view.refreshType", "Refresh Type")
286
+ }), /* @__PURE__ */ y("dd", {
286
287
  className: "font-medium capitalize text-text-primary",
287
- children: B.refresh?.type || C("bigconsole.dataSinks.view.manual", "Manual")
288
+ children: V.refresh?.type || w("bigconsole.dataSinks.view.manual", "Manual")
288
289
  })]
289
290
  }),
290
- /* @__PURE__ */ y("div", {
291
+ /* @__PURE__ */ b("div", {
291
292
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
292
- children: [/* @__PURE__ */ v("dt", {
293
+ children: [/* @__PURE__ */ y("dt", {
293
294
  className: "min-w-0 text-text-secondary",
294
- children: C("bigconsole.dataSinks.view.size", "Size")
295
- }), /* @__PURE__ */ v("dd", {
295
+ children: w("bigconsole.dataSinks.view.size", "Size")
296
+ }), /* @__PURE__ */ y("dd", {
296
297
  className: "font-medium text-text-primary",
297
- children: se(B.sizeBytes || 0)
298
+ children: se(V.sizeBytes || 0)
298
299
  })]
299
300
  }),
300
- /* @__PURE__ */ y("div", {
301
+ /* @__PURE__ */ b("div", {
301
302
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
302
- children: [/* @__PURE__ */ v("dt", {
303
+ children: [/* @__PURE__ */ y("dt", {
303
304
  className: "min-w-0 text-text-secondary",
304
- children: C("bigconsole.dataSinks.view.version", "Version")
305
- }), /* @__PURE__ */ v("dd", {
305
+ children: w("bigconsole.dataSinks.view.version", "Version")
306
+ }), /* @__PURE__ */ y("dd", {
306
307
  className: "font-medium text-text-primary",
307
- children: B.version || 1
308
+ children: V.version || 1
308
309
  })]
309
310
  }),
310
- /* @__PURE__ */ y("div", {
311
+ /* @__PURE__ */ b("div", {
311
312
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2",
312
- children: [/* @__PURE__ */ v("dt", {
313
+ children: [/* @__PURE__ */ y("dt", {
313
314
  className: "min-w-0 text-text-secondary",
314
- children: C("bigconsole.dataSinks.view.lastRefreshed", "Last Refreshed")
315
- }), /* @__PURE__ */ v("dd", {
315
+ children: w("bigconsole.dataSinks.view.lastRefreshed", "Last Refreshed")
316
+ }), /* @__PURE__ */ y("dd", {
316
317
  className: "font-medium text-text-primary",
317
- children: B.lastRefreshedAt ? b(new Date(B.lastRefreshedAt), { addSuffix: !0 }) : C("bigconsole.dataSinks.view.never", "Never")
318
+ children: V.lastRefreshedAt ? x(new Date(V.lastRefreshedAt), { addSuffix: !0 }) : w("bigconsole.dataSinks.view.never", "Never")
318
319
  })]
319
320
  }),
320
- /* @__PURE__ */ y("div", {
321
+ /* @__PURE__ */ b("div", {
321
322
  className: "flex flex-wrap items-center justify-between gap-x-form-gap gap-y-1 py-2 last:pb-0",
322
- children: [/* @__PURE__ */ v("dt", {
323
+ children: [/* @__PURE__ */ y("dt", {
323
324
  className: "min-w-0 text-text-secondary",
324
- children: C("bigconsole.dataSinks.view.created", "Created")
325
- }), /* @__PURE__ */ v("dd", {
325
+ children: w("bigconsole.dataSinks.view.created", "Created")
326
+ }), /* @__PURE__ */ y("dd", {
326
327
  className: "font-medium text-text-primary",
327
- children: b(new Date(B.createdAt), { addSuffix: !0 })
328
+ children: x(new Date(V.createdAt), { addSuffix: !0 })
328
329
  })]
329
330
  })
330
331
  ]
331
332
  })
332
- }), /* @__PURE__ */ y(r, {
333
+ }), /* @__PURE__ */ b(r, {
333
334
  emphasis: "primary",
334
335
  headingLevel: 2,
335
- title: C("bigconsole.dataSinks.view.dataPreview", "Data Preview"),
336
+ title: w("bigconsole.dataSinks.view.dataPreview", "Data Preview"),
336
337
  description: "The rows this sink is currently serving to dashboards.",
337
- icon: /* @__PURE__ */ v(p, { className: "h-icon-sm w-icon-sm" }),
338
- actions: /* @__PURE__ */ y(_, { children: [w && /* @__PURE__ */ y("div", {
338
+ icon: /* @__PURE__ */ y(m, { className: "h-icon-sm w-icon-sm" }),
339
+ actions: /* @__PURE__ */ b(v, { children: [T && /* @__PURE__ */ b("div", {
339
340
  role: "group",
340
- "aria-label": C("bigconsole.dataSinks.view.dataPreview", "Data Preview"),
341
+ "aria-label": w("bigconsole.dataSinks.view.dataPreview", "Data Preview"),
341
342
  className: "flex items-center overflow-hidden rounded-button border border-[var(--color-border-default)]",
342
- children: [/* @__PURE__ */ v("button", {
343
+ children: [/* @__PURE__ */ y("button", {
343
344
  type: "button",
344
- onClick: () => I("table"),
345
- "aria-pressed": F === "table",
346
- 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"}`,
347
- title: C("bigconsole.dataSinks.view.tableView", "Table view"),
348
- children: /* @__PURE__ */ v(Te, { className: "w-4 h-4" })
349
- }), /* @__PURE__ */ v("button", {
345
+ onClick: () => L("table"),
346
+ "aria-pressed": I === "table",
347
+ 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"}`,
348
+ title: w("bigconsole.dataSinks.view.tableView", "Table view"),
349
+ children: /* @__PURE__ */ y(Te, { className: "w-4 h-4" })
350
+ }), /* @__PURE__ */ y("button", {
350
351
  type: "button",
351
- onClick: () => I("json"),
352
- "aria-pressed": F === "json",
353
- 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"}`,
354
- title: C("bigconsole.dataSinks.view.jsonView", "JSON view"),
355
- children: /* @__PURE__ */ v(be, { className: "w-4 h-4" })
352
+ onClick: () => L("json"),
353
+ "aria-pressed": I === "json",
354
+ 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"}`,
355
+ title: w("bigconsole.dataSinks.view.jsonView", "JSON view"),
356
+ children: /* @__PURE__ */ y(be, { className: "w-4 h-4" })
356
357
  })]
357
- }), /* @__PURE__ */ v(g, {
358
- onClick: X,
359
- disabled: N,
360
- variant: w ? "secondary" : "default",
358
+ }), /* @__PURE__ */ y(_, {
359
+ onClick: Z,
360
+ disabled: P,
361
+ variant: T ? "secondary" : "default",
361
362
  size: "sm",
362
- 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(we, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.hideData", "Hide Data")] }) : /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(Ce, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.showData", "Show Data")] })
363
+ 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(we, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.hideData", "Hide Data")] }) : /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(Ce, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.showData", "Show Data")] })
363
364
  })] }),
364
- children: [w && M && /* @__PURE__ */ y(_, { children: [v(F === "table" ? ne : ce, {
365
- data: M,
365
+ children: [T && N && /* @__PURE__ */ b(v, { children: [y(I === "table" ? ne : ce, {
366
+ data: N,
366
367
  maxHeight: "400px"
367
- }), z !== null && /* @__PURE__ */ y("div", {
368
+ }), B !== null && /* @__PURE__ */ b("div", {
368
369
  className: "mt-form-gap flex flex-wrap items-center justify-between gap-form-gap border-t border-[var(--color-border-subtle)] pt-form-gap",
369
- children: [/* @__PURE__ */ y("label", {
370
+ children: [/* @__PURE__ */ b("label", {
370
371
  className: "flex items-center gap-2 text-sm text-text-secondary",
371
- children: [/* @__PURE__ */ v("span", { children: C("bigconsole.dataSinks.view.rowsPerPage", "Rows per page") }), /* @__PURE__ */ v("select", {
372
- "aria-label": C("bigconsole.dataSinks.view.rowsPerPage", "Rows per page"),
372
+ children: [/* @__PURE__ */ y("span", { children: w("bigconsole.dataSinks.view.rowsPerPage", "Rows per page") }), /* @__PURE__ */ y("select", {
373
+ "aria-label": w("bigconsole.dataSinks.view.rowsPerPage", "Rows per page"),
373
374
  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",
374
- value: L,
375
+ value: R,
375
376
  onChange: (e) => Ke(Number(e.target.value)),
376
377
  children: [
377
378
  100,
378
379
  500,
379
380
  1e3
380
- ].map((e) => /* @__PURE__ */ v("option", {
381
+ ].map((e) => /* @__PURE__ */ y("option", {
381
382
  value: e,
382
383
  children: e
383
384
  }, e))
384
385
  })]
385
- }), /* @__PURE__ */ y("div", {
386
+ }), /* @__PURE__ */ b("div", {
386
387
  className: "flex flex-wrap items-center gap-control-gap text-sm text-text-secondary",
387
388
  children: [
388
- /* @__PURE__ */ v("span", { children: z === 0 ? C("bigconsole.dataSinks.view.zeroRows", "0 rows") : C("bigconsole.dataSinks.view.rowRange", "{{start}}–{{end}} of {{total}}", {
389
- start: R + 1,
390
- end: Math.min(R + L, z),
391
- total: z
389
+ /* @__PURE__ */ y("span", { children: B === 0 ? w("bigconsole.dataSinks.view.zeroRows", "0 rows") : w("bigconsole.dataSinks.view.rowRange", "{{start}}–{{end}} of {{total}}", {
390
+ start: z + 1,
391
+ end: Math.min(z + R, B),
392
+ total: B
392
393
  }) }),
393
- /* @__PURE__ */ v(g, {
394
+ /* @__PURE__ */ y(_, {
394
395
  variant: "secondary",
395
396
  size: "sm",
396
- disabled: R === 0 || N,
397
- onClick: () => void Y(Math.max(0, R - L), L),
398
- children: C("bigconsole.dataSinks.view.previous", "Previous")
397
+ disabled: z === 0 || P,
398
+ onClick: () => void X(Math.max(0, z - R), R),
399
+ children: w("bigconsole.dataSinks.view.previous", "Previous")
399
400
  }),
400
- /* @__PURE__ */ v(g, {
401
+ /* @__PURE__ */ y(_, {
401
402
  variant: "secondary",
402
403
  size: "sm",
403
- disabled: !Ve || N,
404
- onClick: () => void Y(R + L, L),
405
- children: C("bigconsole.dataSinks.view.next", "Next")
404
+ disabled: !Ve || P,
405
+ onClick: () => void X(z + R, R),
406
+ children: w("bigconsole.dataSinks.view.next", "Next")
406
407
  })
407
408
  ]
408
409
  })]
409
- })] }), !w && (B.sizeBytes > 0 || B.data && Object.keys(B.data).length > 0 ? /* @__PURE__ */ y("p", {
410
+ })] }), !T && (c(V) ? /* @__PURE__ */ b("p", {
410
411
  className: "flex items-center gap-icon-gap text-sm text-text-secondary",
411
- children: [/* @__PURE__ */ v(p, {
412
+ children: [/* @__PURE__ */ y(m, {
412
413
  "aria-hidden": "true",
413
414
  className: "h-icon-sm w-icon-sm shrink-0 text-text-muted"
414
- }), C("bigconsole.dataSinks.view.showDataHint", "Click \"Show Data\" to preview the cached data.")]
415
- }) : /* @__PURE__ */ y("div", {
415
+ }), w("bigconsole.dataSinks.view.showDataHint", "Click \"Show Data\" to preview the cached data.")]
416
+ }) : /* @__PURE__ */ b("div", {
416
417
  className: "flex flex-col items-center gap-form-gap py-form-gap text-center",
417
418
  children: [
418
- /* @__PURE__ */ v(p, {
419
+ /* @__PURE__ */ y(m, {
419
420
  "aria-hidden": "true",
420
421
  className: "h-icon-lg w-icon-lg text-text-muted"
421
422
  }),
422
- /* @__PURE__ */ v("p", {
423
+ /* @__PURE__ */ y("p", {
423
424
  className: "text-sm text-text-secondary",
424
- children: C("bigconsole.dataSinks.view.noDataYet", "This data sink has no data yet. Upload a CSV or build a workflow to import data.")
425
+ children: w("bigconsole.dataSinks.view.noDataYet", "This data sink has no data yet. Upload a CSV or build a workflow to import data.")
425
426
  }),
426
- /* @__PURE__ */ y(g, {
427
+ /* @__PURE__ */ b(_, {
427
428
  onClick: $,
428
429
  variant: "default",
429
430
  size: "sm",
430
- children: [/* @__PURE__ */ v(h, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.importData", "Import Data")]
431
+ children: [/* @__PURE__ */ y(g, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.importData", "Import Data")]
431
432
  })
432
433
  ]
433
434
  }))]
434
435
  })]
435
- }), /* @__PURE__ */ y("div", {
436
+ }), /* @__PURE__ */ b("div", {
436
437
  className: "grid min-w-0 gap-section-gap md:grid-cols-2",
437
438
  children: [
438
- B.fluidGridsWorkflowId && /* @__PURE__ */ v(de, {
439
- workflowId: B.fluidGridsWorkflowId,
440
- executionId: B.fluidGridsWorkflowExecutionId || void 0,
441
- lastRefreshedAt: B.lastRefreshedAt || void 0,
442
- setupState: B.setupState,
443
- status: B.status,
444
- onRerunWorkflow: J,
445
- disabled: E,
446
- isRerunning: E
439
+ V.fluidGridsWorkflowId && /* @__PURE__ */ y(de, {
440
+ workflowId: V.fluidGridsWorkflowId,
441
+ executionId: V.fluidGridsWorkflowExecutionId || void 0,
442
+ lastRefreshedAt: V.lastRefreshedAt || void 0,
443
+ setupState: V.setupState,
444
+ status: V.status,
445
+ onRerunWorkflow: Y,
446
+ disabled: D,
447
+ isRerunning: D
447
448
  }),
448
- /* @__PURE__ */ v(le, { workflowLinks: B.workflowLinks }),
449
- /* @__PURE__ */ v(ue, { dataSinkKey: B.key })
449
+ /* @__PURE__ */ y(le, { workflowLinks: V.workflowLinks }),
450
+ /* @__PURE__ */ y(ue, { dataSinkKey: V.key })
450
451
  ]
451
452
  })]
452
453
  }),
453
- /* @__PURE__ */ v(ke, {
454
+ /* @__PURE__ */ y(ke, {
454
455
  storageKey: "bigconsole-datasink-view",
455
456
  steps: [
456
457
  {
457
458
  id: "preview",
458
- label: C("bigconsole.dataSinks.view.nextSteps.previewLabel", "Preview the data"),
459
- description: C("bigconsole.dataSinks.view.nextSteps.previewDescription", "Open the cached rows to confirm the sink holds what you expect."),
460
- onClick: X
459
+ label: w("bigconsole.dataSinks.view.nextSteps.previewLabel", "Preview the data"),
460
+ description: w("bigconsole.dataSinks.view.nextSteps.previewDescription", "Open the cached rows to confirm the sink holds what you expect."),
461
+ onClick: Z
461
462
  },
462
463
  {
463
464
  id: "refresh",
464
- label: C("bigconsole.dataSinks.view.nextSteps.refreshLabel", "Refresh from source"),
465
- description: C("bigconsole.dataSinks.view.nextSteps.refreshDescription", "Re-run the linked workflow to pull the latest data."),
466
- onClick: J
465
+ label: w("bigconsole.dataSinks.view.nextSteps.refreshLabel", "Refresh from source"),
466
+ description: w("bigconsole.dataSinks.view.nextSteps.refreshDescription", "Re-run the linked workflow to pull the latest data."),
467
+ onClick: Y
467
468
  },
468
469
  {
469
470
  id: "build-dashboard",
470
- label: C("bigconsole.dataSinks.view.nextSteps.dashboardLabel", "Visualize it on a dashboard"),
471
- description: C("bigconsole.dataSinks.view.nextSteps.dashboardDescription", "Add widgets that query this sink to see your data live."),
472
- onClick: () => S("/dashboards")
471
+ label: w("bigconsole.dataSinks.view.nextSteps.dashboardLabel", "Visualize it on a dashboard"),
472
+ description: w("bigconsole.dataSinks.view.nextSteps.dashboardDescription", "Add widgets that query this sink to see your data live."),
473
+ onClick: () => C("/dashboards")
473
474
  },
474
475
  {
475
476
  id: "export",
476
- label: C("bigconsole.dataSinks.view.nextSteps.exportLabel", "Export the data"),
477
- description: C("bigconsole.dataSinks.view.nextSteps.exportDescription", "Download the contents for use elsewhere."),
478
- onClick: Z
477
+ label: w("bigconsole.dataSinks.view.nextSteps.exportLabel", "Export the data"),
478
+ description: w("bigconsole.dataSinks.view.nextSteps.exportDescription", "Download the contents for use elsewhere."),
479
+ onClick: Q
479
480
  }
480
481
  ]
481
482
  }),
482
- /* @__PURE__ */ v(fe, {
483
+ /* @__PURE__ */ y(fe, {
483
484
  isOpen: Fe,
484
- dataSinkId: c || null,
485
- dataSinkName: B.name || B.key,
486
- onClose: Q
485
+ dataSinkId: l || null,
486
+ dataSinkName: V.name || V.key,
487
+ onClose: qe
487
488
  }),
488
- /* @__PURE__ */ v(pe, {
489
+ /* @__PURE__ */ y(pe, {
489
490
  isOpen: Ie,
490
- dataSinkName: B.name || B.key,
491
- hasExistingData: B.sizeBytes > 0 || !!(B.data && Object.keys(B.data).length > 0),
492
- onClose: qe,
493
- onGoToWorkflows: Je,
494
- onImportCsv: Ye
491
+ dataSinkName: V.name || V.key,
492
+ hasExistingData: c(V),
493
+ onClose: Je,
494
+ onGoToWorkflows: Ye,
495
+ onImportCsv: Xe
495
496
  })
496
497
  ]
497
- }) : /* @__PURE__ */ v("div", {
498
+ }) : /* @__PURE__ */ y("div", {
498
499
  className: "flex min-h-[240px] items-center justify-center p-card-padding",
499
- children: /* @__PURE__ */ v(Oe, {
500
+ children: /* @__PURE__ */ y(Oe, {
500
501
  illustration: "empty-data",
501
- title: C("bigconsole.dataSinks.view.notFoundTitle", "DataSink not found"),
502
- description: C("bigconsole.dataSinks.view.notFoundDescription", "The DataSink you're looking for doesn't exist or has been deleted."),
503
- action: /* @__PURE__ */ y(g, {
504
- onClick: q,
502
+ title: w("bigconsole.dataSinks.view.notFoundTitle", "DataSink not found"),
503
+ description: w("bigconsole.dataSinks.view.notFoundDescription", "The DataSink you're looking for doesn't exist or has been deleted."),
504
+ action: /* @__PURE__ */ b(_, {
505
+ onClick: J,
505
506
  variant: "default",
506
507
  size: "default",
507
- children: [/* @__PURE__ */ v(f, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.goBackToDataSinks", "Go back to DataSinks")]
508
+ children: [/* @__PURE__ */ y(p, { className: "w-4 h-4 mr-2" }), w("bigconsole.dataSinks.view.goBackToDataSinks", "Go back to DataSinks")]
508
509
  })
509
510
  })
510
511
  });
511
512
  });
512
513
  //#endregion
513
- export { S as DataSinkViewPage, S as default };
514
+ export { C as DataSinkViewPage, C as default };