@burdenoff/microfe-bigconsole 2026.1012.4 → 2026.1012.5
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.
- package/dist/bigconsole/BigConsoleRoutes.js +149 -140
- package/dist/bigconsole/assistant/assistantProduct.js +4 -1
- package/dist/bigconsole/assistant/displayCopy.d.ts +32 -0
- package/dist/bigconsole/assistant/pageContext.d.ts +14 -0
- package/dist/bigconsole/assistant/pageContext.js +6 -1
- package/dist/bigconsole/assistant/pageControls.d.ts +81 -0
- package/dist/bigconsole/assistant/pageControls.js +169 -0
- package/dist/bigconsole/assistant/previewControl.d.ts +16 -0
- package/dist/bigconsole/assistant/previewControl.js +10 -0
- package/dist/bigconsole/assistant/recordAdapters.js +27 -26
- package/dist/bigconsole/assistant/usePreviewControl.d.ts +2 -0
- package/dist/bigconsole/assistant/usePreviewControl.js +20 -0
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +9 -9
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +31 -31
- package/dist/bigconsole/components/common/SortBySelect.d.ts +11 -0
- package/dist/bigconsole/components/common/SortBySelect.js +29 -0
- package/dist/bigconsole/components/common/index.d.ts +1 -0
- package/dist/bigconsole/components/common/index.js +1 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +44 -44
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +36 -36
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +59 -59
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +15 -15
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +41 -41
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +34 -34
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +153 -153
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +21 -21
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +134 -134
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -101
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +31 -31
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +15 -15
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.js +46 -46
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +37 -37
- package/dist/bigconsole/components/datasink/AlertRuleEditor.js +66 -66
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
- package/dist/bigconsole/components/datasink/DataSinkCard.js +51 -50
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +47 -47
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +91 -91
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
- package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
- package/dist/bigconsole/components/parser/ImportParserDialog.js +120 -120
- package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +10 -10
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +77 -76
- package/dist/bigconsole/components/preview/AiPreviewPanel.js +96 -95
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +4 -4
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +93 -93
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +507 -499
- package/dist/bigconsole/components/widgets/advanced/AdvancedWidgetConfig.js +14 -14
- package/dist/bigconsole/components/widgets/advanced/AdvancedWidgets.js +68 -67
- package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.d.ts +7 -0
- package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.js +12 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +4 -4
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
- package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
- package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
- package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +15 -15
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +15 -15
- package/dist/bigconsole/constants/backendErrors.js +94 -0
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +10 -10
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +67 -67
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +14 -0
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +32 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +23 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.js +138 -113
- package/dist/bigconsole/hooks/useDrilldown.js +3 -3
- package/dist/bigconsole/hooks/useGlobalFilters.js +3 -3
- package/dist/bigconsole/pages/AdminPage.js +130 -130
- package/dist/bigconsole/pages/DashboardBuilderPage.js +72 -60
- package/dist/bigconsole/pages/DashboardViewPage.js +244 -221
- package/dist/bigconsole/pages/DashboardsPage.js +269 -221
- package/dist/bigconsole/pages/DataParsersPage.js +180 -157
- package/dist/bigconsole/pages/DataSinkAlertsPage.js +62 -55
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +252 -234
- package/dist/bigconsole/pages/DataSinkViewPage.js +1 -1
- package/dist/bigconsole/pages/DataSinksPage.js +335 -299
- package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
- package/dist/bigconsole/pages/InsightsPage.js +279 -265
- package/dist/bigconsole/pages/OverviewPage.js +47 -47
- package/dist/bigconsole/pages/ParserBuilderPage.js +229 -213
- package/dist/bigconsole/pages/ParserViewPage.js +97 -97
- package/dist/bigconsole/pages/PipelineBuilderPage.js +256 -214
- package/dist/bigconsole/pages/PipelineViewPage.js +146 -146
- package/dist/bigconsole/pages/PipelinesPage.js +107 -88
- package/dist/bigconsole/pages/SettingsPage.js +179 -173
- package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
- package/dist/bigconsole/pages/WorkflowViewPage.js +1 -1
- package/dist/bigconsole/pages/WorkflowsPage.js +141 -141
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +12 -12
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +69 -69
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
- package/dist/bigconsole/store/widgetStore.d.ts +12 -0
- package/dist/bigconsole/store/widgetStore.js +3 -1
- package/dist/bigconsole/utils/backendError.d.ts +18 -0
- package/dist/bigconsole/utils/backendError.js +42 -0
- package/dist/bigconsole/utils/dashboardList.d.ts +28 -0
- package/dist/bigconsole/utils/dashboardList.js +15 -0
- package/dist/bigconsole/utils/dataSinkList.d.ts +15 -0
- package/dist/bigconsole/utils/dataSinkList.js +15 -0
- package/dist/bigconsole/utils/formDirty.d.ts +82 -0
- package/dist/bigconsole/utils/formDirty.js +21 -0
- package/dist/bigconsole/utils/insightsDraft.d.ts +29 -0
- package/dist/bigconsole/utils/insightsDraft.js +8 -0
- package/dist/bigconsole/utils/layoutBaseline.d.ts +130 -0
- package/dist/bigconsole/utils/layoutBaseline.js +96 -0
- package/dist/bigconsole/utils/listSort.d.ts +80 -0
- package/dist/bigconsole/utils/listSort.js +85 -0
- package/dist/bigconsole/utils/widgetFormDirty.d.ts +16 -0
- package/dist/bigconsole/utils/widgetFormDirty.js +13 -0
- package/dist/bigconsole/workflowOpen.js +15 -14
- package/package.json +3 -3
|
@@ -3,13 +3,12 @@ import "../common/index.js";
|
|
|
3
3
|
import t from "./DataSinkStatusBadge.js";
|
|
4
4
|
import { formatByteSize as n } from "../../utils/format.js";
|
|
5
5
|
import { memo as r, useCallback as i } from "react";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { useI18n as a } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
7
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
8
|
+
import { formatDistanceToNow as c } from "date-fns";
|
|
8
9
|
//#region src/bigconsole/components/datasink/DataSinkCard.tsx
|
|
9
|
-
var
|
|
10
|
-
let
|
|
11
|
-
t.stopPropagation(), l?.(e.id);
|
|
12
|
-
}, [e.id, l]), y = i((t) => {
|
|
10
|
+
var l = `inline-flex min-h-[var(--size-controlHeight-md)] items-center justify-center rounded-button px-3 py-1.5 text-xs font-medium motion-safe:transition-colors ${e}`, u = r(function({ dataSink: e, setupState: r, onView: u, onEdit: d, onRefresh: f, onExport: p, onDelete: m, onContinueSetup: h, canEdit: g = !0, canRefresh: _ = !0, canDelete: v = !0 }) {
|
|
11
|
+
let y = i((t) => {
|
|
13
12
|
t.stopPropagation(), u?.(e.id);
|
|
14
13
|
}, [e.id, u]), b = i((t) => {
|
|
15
14
|
t.stopPropagation(), d?.(e.id);
|
|
@@ -19,58 +18,60 @@ var c = `inline-flex min-h-[var(--size-controlHeight-md)] items-center justify-c
|
|
|
19
18
|
t.stopPropagation(), p?.(e.id);
|
|
20
19
|
}, [e.id, p]), C = i((t) => {
|
|
21
20
|
t.stopPropagation(), m?.(e.id);
|
|
22
|
-
}, [e.id, m]), w = (
|
|
23
|
-
|
|
21
|
+
}, [e.id, m]), w = i((t) => {
|
|
22
|
+
t.stopPropagation(), h?.(e.id);
|
|
23
|
+
}, [e.id, h]), { t: T } = a(), E = (r ?? e.setupState) === "completed", D = e.lastRefreshedAt ? c(new Date(e.lastRefreshedAt), { addSuffix: !0 }) : T("bigconsole.dataSinks.view.never", "Never");
|
|
24
|
+
return /* @__PURE__ */ s("article", {
|
|
24
25
|
className: "\n min-w-0\n cursor-pointer\n rounded-card\n border border-transparent\n bg-bg-sunken\n p-card-padding\n hover:border-[var(--color-action-primary-bg)]\n motion-safe:transition-colors\n ",
|
|
25
|
-
onClick:
|
|
26
|
+
onClick: y,
|
|
26
27
|
children: [
|
|
27
|
-
/* @__PURE__ */
|
|
28
|
+
/* @__PURE__ */ s("div", {
|
|
28
29
|
className: "mb-3 flex items-start justify-between gap-icon-gap",
|
|
29
|
-
children: [/* @__PURE__ */
|
|
30
|
+
children: [/* @__PURE__ */ s("div", {
|
|
30
31
|
className: "min-w-0 flex-1",
|
|
31
|
-
children: [/* @__PURE__ */
|
|
32
|
+
children: [/* @__PURE__ */ o("h3", {
|
|
32
33
|
className: "truncate text-sm font-semibold text-text-primary",
|
|
33
34
|
children: e.name || "Untitled data sink"
|
|
34
|
-
}), /* @__PURE__ */
|
|
35
|
+
}), /* @__PURE__ */ o("p", {
|
|
35
36
|
className: "mt-0.5 truncate font-mono text-xs text-text-secondary",
|
|
36
37
|
children: e.key
|
|
37
38
|
})]
|
|
38
|
-
}), /* @__PURE__ */
|
|
39
|
+
}), /* @__PURE__ */ o(t, {
|
|
39
40
|
status: e.status,
|
|
40
41
|
size: "sm"
|
|
41
42
|
})]
|
|
42
43
|
}),
|
|
43
|
-
e.description && /* @__PURE__ */
|
|
44
|
+
e.description && /* @__PURE__ */ o("p", {
|
|
44
45
|
className: "mb-3 line-clamp-2 text-xs text-text-secondary",
|
|
45
46
|
children: e.description
|
|
46
47
|
}),
|
|
47
|
-
/* @__PURE__ */
|
|
48
|
+
/* @__PURE__ */ s("div", {
|
|
48
49
|
className: "mb-3 flex flex-wrap items-center gap-x-4 gap-y-1 text-xs text-text-secondary",
|
|
49
50
|
children: [
|
|
50
|
-
/* @__PURE__ */
|
|
51
|
+
/* @__PURE__ */ s("span", {
|
|
51
52
|
className: "flex items-center gap-1",
|
|
52
|
-
children: [/* @__PURE__ */
|
|
53
|
+
children: [/* @__PURE__ */ o("svg", {
|
|
53
54
|
className: "w-3.5 h-3.5",
|
|
54
55
|
fill: "none",
|
|
55
56
|
stroke: "currentColor",
|
|
56
57
|
viewBox: "0 0 24 24",
|
|
57
|
-
children: /* @__PURE__ */
|
|
58
|
+
children: /* @__PURE__ */ o("path", {
|
|
58
59
|
strokeLinecap: "round",
|
|
59
60
|
strokeLinejoin: "round",
|
|
60
61
|
strokeWidth: 2,
|
|
61
62
|
d: "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"
|
|
62
63
|
})
|
|
63
|
-
}),
|
|
64
|
+
}), D]
|
|
64
65
|
}),
|
|
65
|
-
/* @__PURE__ */
|
|
66
|
+
/* @__PURE__ */ s("span", {
|
|
66
67
|
className: "flex items-center gap-1",
|
|
67
68
|
title: "Stored payload size",
|
|
68
|
-
children: [/* @__PURE__ */
|
|
69
|
+
children: [/* @__PURE__ */ o("svg", {
|
|
69
70
|
className: "w-3.5 h-3.5",
|
|
70
71
|
fill: "none",
|
|
71
72
|
stroke: "currentColor",
|
|
72
73
|
viewBox: "0 0 24 24",
|
|
73
|
-
children: /* @__PURE__ */
|
|
74
|
+
children: /* @__PURE__ */ o("path", {
|
|
74
75
|
strokeLinecap: "round",
|
|
75
76
|
strokeLinejoin: "round",
|
|
76
77
|
strokeWidth: 2,
|
|
@@ -78,15 +79,15 @@ var c = `inline-flex min-h-[var(--size-controlHeight-md)] items-center justify-c
|
|
|
78
79
|
})
|
|
79
80
|
}), n(e.sizeBytes)]
|
|
80
81
|
}),
|
|
81
|
-
e.linkedWorkflowCount !== void 0 && e.linkedWorkflowCount > 0 && /* @__PURE__ */
|
|
82
|
+
e.linkedWorkflowCount !== void 0 && e.linkedWorkflowCount > 0 && /* @__PURE__ */ s("span", {
|
|
82
83
|
className: "flex items-center gap-1",
|
|
83
84
|
children: [
|
|
84
|
-
/* @__PURE__ */
|
|
85
|
+
/* @__PURE__ */ o("svg", {
|
|
85
86
|
className: "w-3.5 h-3.5",
|
|
86
87
|
fill: "none",
|
|
87
88
|
stroke: "currentColor",
|
|
88
89
|
viewBox: "0 0 24 24",
|
|
89
|
-
children: /* @__PURE__ */
|
|
90
|
+
children: /* @__PURE__ */ o("path", {
|
|
90
91
|
strokeLinecap: "round",
|
|
91
92
|
strokeLinejoin: "round",
|
|
92
93
|
strokeWidth: 2,
|
|
@@ -100,50 +101,50 @@ var c = `inline-flex min-h-[var(--size-controlHeight-md)] items-center justify-c
|
|
|
100
101
|
})
|
|
101
102
|
]
|
|
102
103
|
}),
|
|
103
|
-
!
|
|
104
|
+
!E && /* @__PURE__ */ s("div", {
|
|
104
105
|
className: "mb-3 flex items-center justify-between gap-icon-gap rounded-input border border-[var(--color-status-warning-border)] bg-[var(--color-status-warning-bgSubtle)] p-2",
|
|
105
|
-
children: [/* @__PURE__ */
|
|
106
|
+
children: [/* @__PURE__ */ o("span", {
|
|
106
107
|
className: "text-xs text-[var(--color-status-warning-text)]",
|
|
107
108
|
children: "Setup incomplete"
|
|
108
|
-
}), /* @__PURE__ */
|
|
109
|
+
}), /* @__PURE__ */ o("button", {
|
|
109
110
|
type: "button",
|
|
110
|
-
onClick:
|
|
111
|
+
onClick: w,
|
|
111
112
|
className: "rounded-button px-1 text-xs font-medium text-text-link hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
|
|
112
113
|
children: "Continue"
|
|
113
114
|
})]
|
|
114
115
|
}),
|
|
115
|
-
/* @__PURE__ */
|
|
116
|
+
/* @__PURE__ */ s("div", {
|
|
116
117
|
className: "flex flex-wrap items-center gap-2 border-t border-[var(--color-border-subtle)] pt-2",
|
|
117
118
|
children: [
|
|
118
|
-
/* @__PURE__ */
|
|
119
|
-
type: "button",
|
|
120
|
-
onClick: v,
|
|
121
|
-
className: `${c} flex-1 bg-bg-surface text-text-primary hover:bg-bg-elevated`,
|
|
122
|
-
children: "View"
|
|
123
|
-
}),
|
|
124
|
-
h && /* @__PURE__ */ a("button", {
|
|
119
|
+
/* @__PURE__ */ o("button", {
|
|
125
120
|
type: "button",
|
|
126
121
|
onClick: y,
|
|
127
|
-
className: `${
|
|
128
|
-
children: "
|
|
122
|
+
className: `${l} flex-1 bg-bg-surface text-text-primary hover:bg-bg-elevated`,
|
|
123
|
+
children: T("bigconsole.dataSinks.actions.view", "View")
|
|
129
124
|
}),
|
|
130
|
-
g && /* @__PURE__ */
|
|
125
|
+
g && /* @__PURE__ */ o("button", {
|
|
131
126
|
type: "button",
|
|
132
127
|
onClick: b,
|
|
133
|
-
className: `${
|
|
134
|
-
children: "
|
|
128
|
+
className: `${l} text-text-secondary hover:bg-bg-surface hover:text-text-primary`,
|
|
129
|
+
children: T("bigconsole.dataSinks.actions.edit", "Edit")
|
|
135
130
|
}),
|
|
136
|
-
|
|
131
|
+
_ && /* @__PURE__ */ o("button", {
|
|
137
132
|
type: "button",
|
|
138
133
|
onClick: x,
|
|
139
|
-
className: `${
|
|
140
|
-
children: "
|
|
134
|
+
className: `${l} text-text-secondary hover:bg-bg-surface hover:text-text-primary`,
|
|
135
|
+
children: T("bigconsole.dataSinks.actions.refresh", "Refresh")
|
|
141
136
|
}),
|
|
142
|
-
|
|
137
|
+
p && /* @__PURE__ */ o("button", {
|
|
143
138
|
type: "button",
|
|
144
139
|
onClick: S,
|
|
145
|
-
className: `${
|
|
146
|
-
children: "
|
|
140
|
+
className: `${l} text-text-secondary hover:bg-bg-surface hover:text-text-primary`,
|
|
141
|
+
children: T("bigconsole.dataSinks.actions.export", "Export")
|
|
142
|
+
}),
|
|
143
|
+
v && /* @__PURE__ */ o("button", {
|
|
144
|
+
type: "button",
|
|
145
|
+
onClick: C,
|
|
146
|
+
className: `${l} text-status-error-text hover:bg-[var(--color-status-error-bgSubtle)]`,
|
|
147
|
+
children: T("bigconsole.dataSinks.actions.delete", "Delete")
|
|
147
148
|
})
|
|
148
149
|
]
|
|
149
150
|
})
|
|
@@ -151,4 +152,4 @@ var c = `inline-flex min-h-[var(--size-controlHeight-md)] items-center justify-c
|
|
|
151
152
|
});
|
|
152
153
|
});
|
|
153
154
|
//#endregion
|
|
154
|
-
export {
|
|
155
|
+
export { u as default };
|
|
@@ -3,11 +3,11 @@ import { Section as t } from "../common/Section.js";
|
|
|
3
3
|
import "../common/index.js";
|
|
4
4
|
import { useModalFocusTrap as n } from "../../hooks/useModalFocusTrap.js";
|
|
5
5
|
import { memo as r, useCallback as i, useId as a, useRef as o } from "react";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { useI18n as s } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
7
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
8
8
|
//#region src/bigconsole/components/datasink/DataSinkDeleteDialog.tsx
|
|
9
9
|
var u = `min-h-[var(--size-controlHeight-md)] rounded-button px-4 py-2 text-sm font-medium disabled:cursor-not-allowed disabled:opacity-50 motion-safe:transition-colors ${e}`, d = r(function({ dataSink: e, isOpen: r, onClose: d, onConfirm: f, isDeleting: p = !1 }) {
|
|
10
|
-
let { t: m } =
|
|
10
|
+
let { t: m } = s(), h = a(), g = a(), _ = o(null), v = o(null);
|
|
11
11
|
n({
|
|
12
12
|
isOpen: r,
|
|
13
13
|
panelRef: _,
|
|
@@ -19,10 +19,10 @@ var u = `min-h-[var(--size-controlHeight-md)] rounded-button px-4 py-2 text-sm f
|
|
|
19
19
|
let y = i((e) => {
|
|
20
20
|
e.target === e.currentTarget && !p && d();
|
|
21
21
|
}, [p, d]);
|
|
22
|
-
return r ? /* @__PURE__ */
|
|
22
|
+
return r ? /* @__PURE__ */ c("div", {
|
|
23
23
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-bg-overlay)] p-4",
|
|
24
24
|
onClick: y,
|
|
25
|
-
children: /* @__PURE__ */
|
|
25
|
+
children: /* @__PURE__ */ l("div", {
|
|
26
26
|
ref: _,
|
|
27
27
|
role: "dialog",
|
|
28
28
|
"aria-modal": "true",
|
|
@@ -31,63 +31,63 @@ var u = `min-h-[var(--size-controlHeight-md)] rounded-button px-4 py-2 text-sm f
|
|
|
31
31
|
tabIndex: -1,
|
|
32
32
|
className: "flex max-h-[90vh] w-full max-w-md flex-col rounded-card border border-[var(--color-border-subtle)] bg-bg-surface shadow-[var(--shadow-elevation-3)] focus:outline-none",
|
|
33
33
|
children: [
|
|
34
|
-
/* @__PURE__ */
|
|
34
|
+
/* @__PURE__ */ c("div", {
|
|
35
35
|
className: "border-b border-[var(--color-border-subtle)] p-form-gap sm:p-card-padding",
|
|
36
|
-
children: /* @__PURE__ */
|
|
36
|
+
children: /* @__PURE__ */ c("h2", {
|
|
37
37
|
id: h,
|
|
38
38
|
className: "text-lg font-semibold text-text-primary",
|
|
39
39
|
children: m("bigconsole.dataSinks.deleteDialog.title", "Delete DataSink")
|
|
40
40
|
})
|
|
41
41
|
}),
|
|
42
|
-
/* @__PURE__ */
|
|
42
|
+
/* @__PURE__ */ l("div", {
|
|
43
43
|
className: "min-w-0 flex-1 space-y-form-gap overflow-y-auto p-form-gap sm:p-card-padding",
|
|
44
44
|
children: [
|
|
45
|
-
/* @__PURE__ */
|
|
45
|
+
/* @__PURE__ */ c("p", {
|
|
46
46
|
id: g,
|
|
47
47
|
className: "text-sm text-text-primary",
|
|
48
48
|
children: m("bigconsole.dataSinks.deleteDialog.confirmMessage", "Are you sure you want to delete this DataSink?")
|
|
49
49
|
}),
|
|
50
|
-
/* @__PURE__ */
|
|
50
|
+
/* @__PURE__ */ l(t, {
|
|
51
51
|
emphasis: "muted",
|
|
52
52
|
padding: "compact",
|
|
53
53
|
headingLevel: 3,
|
|
54
54
|
title: "Data sink",
|
|
55
55
|
headerClassName: "mb-control-gap",
|
|
56
|
-
children: [/* @__PURE__ */
|
|
56
|
+
children: [/* @__PURE__ */ c("p", {
|
|
57
57
|
className: "text-sm font-medium text-text-primary",
|
|
58
58
|
children: e.name || m("bigconsole.dataSinks.deleteDialog.untitledName", "Untitled DataSink")
|
|
59
|
-
}), /* @__PURE__ */
|
|
59
|
+
}), /* @__PURE__ */ c("p", {
|
|
60
60
|
className: "mt-1 break-all font-mono text-xs text-text-secondary",
|
|
61
61
|
children: e.key
|
|
62
62
|
})]
|
|
63
63
|
}),
|
|
64
|
-
e.linkedWorkflowCount && e.linkedWorkflowCount > 0 ? /* @__PURE__ */
|
|
64
|
+
e.linkedWorkflowCount && e.linkedWorkflowCount > 0 ? /* @__PURE__ */ c(t, {
|
|
65
65
|
tone: "warning",
|
|
66
66
|
padding: "compact",
|
|
67
67
|
headingLevel: 3,
|
|
68
68
|
title: "Workflow links will be removed",
|
|
69
69
|
headerClassName: "mb-control-gap",
|
|
70
|
-
children: /* @__PURE__ */
|
|
70
|
+
children: /* @__PURE__ */ c("p", {
|
|
71
71
|
className: "text-sm text-[var(--color-status-warning-text)]",
|
|
72
72
|
children: e.linkedWorkflowCount === 1 ? m("bigconsole.dataSinks.deleteDialog.linkedWorkflowWarningSingular", "This DataSink is linked to {{count}} workflow. Deleting it will remove these links.", { count: e.linkedWorkflowCount }) : m("bigconsole.dataSinks.deleteDialog.linkedWorkflowWarningPlural", "This DataSink is linked to {{count}} workflows. Deleting it will remove these links.", { count: e.linkedWorkflowCount })
|
|
73
73
|
})
|
|
74
74
|
}) : null,
|
|
75
|
-
/* @__PURE__ */
|
|
75
|
+
/* @__PURE__ */ c("p", {
|
|
76
76
|
className: "text-sm text-status-error-text",
|
|
77
77
|
children: m("bigconsole.dataSinks.deleteDialog.cannotBeUndone", "This action cannot be undone.")
|
|
78
78
|
})
|
|
79
79
|
]
|
|
80
80
|
}),
|
|
81
|
-
/* @__PURE__ */
|
|
81
|
+
/* @__PURE__ */ l("div", {
|
|
82
82
|
className: "flex flex-wrap items-center justify-end gap-control-gap border-t border-[var(--color-border-subtle)] p-form-gap sm:p-card-padding",
|
|
83
|
-
children: [/* @__PURE__ */
|
|
83
|
+
children: [/* @__PURE__ */ c("button", {
|
|
84
84
|
ref: v,
|
|
85
85
|
type: "button",
|
|
86
86
|
onClick: d,
|
|
87
87
|
disabled: p,
|
|
88
88
|
className: `${u} bg-bg-sunken text-text-primary hover:bg-bg-elevated`,
|
|
89
89
|
children: m("bigconsole.dataSinks.deleteDialog.cancelButton", "Cancel")
|
|
90
|
-
}), /* @__PURE__ */
|
|
90
|
+
}), /* @__PURE__ */ c("button", {
|
|
91
91
|
type: "button",
|
|
92
92
|
onClick: f,
|
|
93
93
|
disabled: p,
|
|
@@ -2,86 +2,86 @@ import { SECTION_FOCUS_RING as e } from "../common/sectionStyles.js";
|
|
|
2
2
|
import { Section as t } from "../common/Section.js";
|
|
3
3
|
import "../common/index.js";
|
|
4
4
|
import { memo as n, useCallback as r, useState as i } from "react";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { useI18n as a } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
6
|
+
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
7
7
|
//#region src/bigconsole/components/datasink/DataSinkRefreshDialog.tsx
|
|
8
8
|
var c = `min-h-[var(--size-controlHeight-md)] rounded-button px-4 py-2 text-sm font-medium disabled:cursor-not-allowed disabled:opacity-50 motion-safe:transition-colors ${e}`, l = n(function({ dataSink: n, isOpen: l, onClose: u, onConfirm: d, isRefreshing: f = !1 }) {
|
|
9
|
-
let { t: p } =
|
|
9
|
+
let { t: p } = a(), [m, h] = i(!1), g = r((e) => {
|
|
10
10
|
e.target === e.currentTarget && !f && u();
|
|
11
11
|
}, [f, u]), _ = (e) => new Date(e).toLocaleString(), v = r(() => {
|
|
12
12
|
d(m);
|
|
13
13
|
}, [d, m]);
|
|
14
|
-
return l ? /* @__PURE__ */
|
|
14
|
+
return l ? /* @__PURE__ */ o("div", {
|
|
15
15
|
className: "fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-bg-overlay)] p-4",
|
|
16
16
|
onClick: g,
|
|
17
17
|
role: "dialog",
|
|
18
18
|
"aria-modal": "true",
|
|
19
19
|
"aria-labelledby": "refresh-dialog-title",
|
|
20
|
-
children: /* @__PURE__ */
|
|
20
|
+
children: /* @__PURE__ */ s("div", {
|
|
21
21
|
className: "flex max-h-[90vh] w-full max-w-md flex-col rounded-card border border-[var(--color-border-subtle)] bg-bg-surface shadow-[var(--shadow-elevation-3)]",
|
|
22
22
|
children: [
|
|
23
|
-
/* @__PURE__ */
|
|
23
|
+
/* @__PURE__ */ o("div", {
|
|
24
24
|
className: "border-b border-[var(--color-border-subtle)] p-form-gap sm:p-card-padding",
|
|
25
|
-
children: /* @__PURE__ */
|
|
25
|
+
children: /* @__PURE__ */ o("h2", {
|
|
26
26
|
id: "refresh-dialog-title",
|
|
27
27
|
className: "text-lg font-semibold text-text-primary",
|
|
28
28
|
children: p("bigconsole.dataSinks.refreshDialog.title", "Refresh DataSink")
|
|
29
29
|
})
|
|
30
30
|
}),
|
|
31
|
-
/* @__PURE__ */
|
|
31
|
+
/* @__PURE__ */ s("div", {
|
|
32
32
|
className: "min-w-0 flex-1 space-y-form-gap overflow-y-auto p-form-gap sm:p-card-padding",
|
|
33
|
-
children: [/* @__PURE__ */
|
|
33
|
+
children: [/* @__PURE__ */ s(t, {
|
|
34
34
|
emphasis: "muted",
|
|
35
35
|
padding: "compact",
|
|
36
36
|
headingLevel: 3,
|
|
37
37
|
title: "Data sink",
|
|
38
38
|
headerClassName: "mb-control-gap",
|
|
39
39
|
children: [
|
|
40
|
-
/* @__PURE__ */
|
|
40
|
+
/* @__PURE__ */ o("p", {
|
|
41
41
|
className: "text-sm font-medium text-text-primary",
|
|
42
42
|
children: n.name || p("bigconsole.dataSinks.refreshDialog.untitledName", "Untitled DataSink")
|
|
43
43
|
}),
|
|
44
|
-
/* @__PURE__ */
|
|
44
|
+
/* @__PURE__ */ o("p", {
|
|
45
45
|
className: "mt-1 break-all font-mono text-xs text-text-secondary",
|
|
46
46
|
children: n.key
|
|
47
47
|
}),
|
|
48
|
-
n.lastRefreshedAt && /* @__PURE__ */
|
|
48
|
+
n.lastRefreshedAt && /* @__PURE__ */ o("p", {
|
|
49
49
|
className: "mt-2 text-xs text-text-secondary",
|
|
50
50
|
children: p("bigconsole.dataSinks.refreshDialog.lastRefreshed", "Last refreshed: {{date}}", { date: _(n.lastRefreshedAt) })
|
|
51
51
|
})
|
|
52
52
|
]
|
|
53
|
-
}), /* @__PURE__ */
|
|
53
|
+
}), /* @__PURE__ */ s(t, {
|
|
54
54
|
emphasis: "bare",
|
|
55
55
|
padding: "none",
|
|
56
56
|
headingLevel: 3,
|
|
57
57
|
title: "Options",
|
|
58
58
|
headerClassName: "mb-control-gap",
|
|
59
|
-
children: [/* @__PURE__ */
|
|
59
|
+
children: [/* @__PURE__ */ s("label", {
|
|
60
60
|
className: "flex min-h-[var(--size-controlHeight-md)] cursor-pointer items-center gap-2",
|
|
61
|
-
children: [/* @__PURE__ */
|
|
61
|
+
children: [/* @__PURE__ */ o("input", {
|
|
62
62
|
type: "checkbox",
|
|
63
63
|
checked: m,
|
|
64
64
|
onChange: (e) => h(e.target.checked),
|
|
65
65
|
className: `h-4 w-4 rounded ${e}`
|
|
66
|
-
}), /* @__PURE__ */
|
|
66
|
+
}), /* @__PURE__ */ o("span", {
|
|
67
67
|
className: "text-sm text-text-primary",
|
|
68
68
|
children: p("bigconsole.dataSinks.refreshDialog.forceRefreshLabel", "Force refresh (bypass cache)")
|
|
69
69
|
})]
|
|
70
|
-
}), /* @__PURE__ */
|
|
70
|
+
}), /* @__PURE__ */ o("p", {
|
|
71
71
|
className: "mt-1 text-xs text-text-secondary",
|
|
72
72
|
children: p("bigconsole.dataSinks.refreshDialog.forceRefreshDescription", "Force refresh will re-fetch all data from the source, ignoring any cached values.")
|
|
73
73
|
})]
|
|
74
74
|
})]
|
|
75
75
|
}),
|
|
76
|
-
/* @__PURE__ */
|
|
76
|
+
/* @__PURE__ */ s("div", {
|
|
77
77
|
className: "flex flex-wrap items-center justify-end gap-control-gap border-t border-[var(--color-border-subtle)] p-form-gap sm:p-card-padding",
|
|
78
|
-
children: [/* @__PURE__ */
|
|
78
|
+
children: [/* @__PURE__ */ o("button", {
|
|
79
79
|
type: "button",
|
|
80
80
|
onClick: u,
|
|
81
81
|
disabled: f,
|
|
82
82
|
className: `${c} bg-bg-sunken text-text-primary hover:bg-bg-elevated`,
|
|
83
83
|
children: p("bigconsole.dataSinks.refreshDialog.cancelButton", "Cancel")
|
|
84
|
-
}), /* @__PURE__ */
|
|
84
|
+
}), /* @__PURE__ */ o("button", {
|
|
85
85
|
type: "button",
|
|
86
86
|
onClick: v,
|
|
87
87
|
disabled: f,
|
|
@@ -2,11 +2,11 @@ import { parseCsv as e } from "../../utils/csv.js";
|
|
|
2
2
|
import { memo as t, useCallback as n, useEffect as r, useRef as i, useState as a } from "react";
|
|
3
3
|
import { AlertTriangle as o, ArrowRight as s, FileUp as c, Loader2 as l, Upload as u, Workflow as d } from "lucide-react";
|
|
4
4
|
import { Button as f, Dialog as p, DialogContent as m, DialogDescription as h, DialogFooter as g, DialogHeader as _, DialogTitle as v } from "@burdenoff/fe-libs/ui";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { useI18n as y } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
6
|
+
import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
7
7
|
//#region src/bigconsole/components/datasink/ImportDataGuideDialog.tsx
|
|
8
8
|
var C = 6, w = 1e7, T = 5e4, E = t(function({ isOpen: t, dataSinkName: E, hasExistingData: D, onClose: O, onGoToWorkflows: k, onImportCsv: A }) {
|
|
9
|
-
let { t: j } =
|
|
9
|
+
let { t: j } = y(), M = i(null), N = i(0), [P, F] = a(null), [I, L] = a(null), [R, z] = a(null), [B, V] = a(null), [H, U] = a(!1), W = n(() => {
|
|
10
10
|
N.current += 1, F(null), L(null), z(null), V(null), U(!1);
|
|
11
11
|
}, []);
|
|
12
12
|
r(() => {
|
|
@@ -53,71 +53,71 @@ var C = 6, w = 1e7, T = 5e4, E = t(function({ isOpen: t, dataSinkName: E, hasExi
|
|
|
53
53
|
O,
|
|
54
54
|
j
|
|
55
55
|
]), q = n(() => M.current?.click(), []), J = I?.columns.slice(0, C) ?? [], Y = I ? I.columns.length - J.length : 0;
|
|
56
|
-
return /* @__PURE__ */
|
|
56
|
+
return /* @__PURE__ */ x(p, {
|
|
57
57
|
open: t,
|
|
58
58
|
onOpenChange: (e) => !e && !H && O(),
|
|
59
|
-
children: /* @__PURE__ */
|
|
59
|
+
children: /* @__PURE__ */ S(m, {
|
|
60
60
|
className: "sm:max-w-lg",
|
|
61
61
|
children: [
|
|
62
|
-
/* @__PURE__ */
|
|
62
|
+
/* @__PURE__ */ S(_, { children: [/* @__PURE__ */ S("div", {
|
|
63
63
|
className: "flex items-center gap-3",
|
|
64
|
-
children: [/* @__PURE__ */
|
|
64
|
+
children: [/* @__PURE__ */ x("div", {
|
|
65
65
|
className: "flex size-10 items-center justify-center rounded-lg bg-action-primary-bg/10",
|
|
66
|
-
children: /* @__PURE__ */
|
|
67
|
-
}), /* @__PURE__ */
|
|
68
|
-
}), /* @__PURE__ */
|
|
69
|
-
/* @__PURE__ */
|
|
66
|
+
children: /* @__PURE__ */ x(u, { className: "size-5 text-action-primary-bg" })
|
|
67
|
+
}), /* @__PURE__ */ x(v, { children: j("bigconsole.dataSinks.importGuide.title", "Import data") })]
|
|
68
|
+
}), /* @__PURE__ */ x(h, { children: E ? j("bigconsole.dataSinks.importGuide.descriptionNamed", "Add data to “{{name}}”", { name: E }) : j("bigconsole.dataSinks.importGuide.description", "Add data to this data sink") })] }),
|
|
69
|
+
/* @__PURE__ */ S("div", {
|
|
70
70
|
className: "py-2 space-y-5",
|
|
71
71
|
children: [
|
|
72
|
-
/* @__PURE__ */
|
|
72
|
+
/* @__PURE__ */ S("section", {
|
|
73
73
|
className: "space-y-3",
|
|
74
|
-
children: [/* @__PURE__ */
|
|
74
|
+
children: [/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("h3", {
|
|
75
75
|
className: "text-sm font-semibold text-text-primary",
|
|
76
76
|
children: j("bigconsole.dataSinks.importGuide.buildWorkflowHeading", "Build a workflow")
|
|
77
|
-
}), /* @__PURE__ */
|
|
77
|
+
}), /* @__PURE__ */ x("p", {
|
|
78
78
|
className: "text-sm text-text-secondary leading-relaxed",
|
|
79
79
|
children: j("bigconsole.dataSinks.importGuide.buildWorkflowBody", "The recommended way to keep this data sink up to date — build a repeatable, scheduled pipeline that fetches from your source (an API, database, or app) and writes into this data sink on every run.")
|
|
80
|
-
})] }), /* @__PURE__ */
|
|
80
|
+
})] }), /* @__PURE__ */ S(f, {
|
|
81
81
|
variant: "default",
|
|
82
82
|
onClick: k,
|
|
83
83
|
disabled: H,
|
|
84
84
|
className: "w-full",
|
|
85
85
|
children: [
|
|
86
|
-
/* @__PURE__ */
|
|
86
|
+
/* @__PURE__ */ x(d, { className: "size-4" }),
|
|
87
87
|
j("bigconsole.dataSinks.importGuide.goToWorkflows", "Go to Workflows"),
|
|
88
|
-
/* @__PURE__ */
|
|
88
|
+
/* @__PURE__ */ x(s, { className: "size-4" })
|
|
89
89
|
]
|
|
90
90
|
})]
|
|
91
91
|
}),
|
|
92
|
-
A && /* @__PURE__ */
|
|
92
|
+
A && /* @__PURE__ */ S("div", {
|
|
93
93
|
className: "flex items-center gap-3",
|
|
94
94
|
children: [
|
|
95
|
-
/* @__PURE__ */
|
|
96
|
-
/* @__PURE__ */
|
|
95
|
+
/* @__PURE__ */ x("span", { className: "h-px flex-1 bg-border-subtle" }),
|
|
96
|
+
/* @__PURE__ */ x("span", {
|
|
97
97
|
className: "text-xs font-medium uppercase tracking-wide text-text-tertiary",
|
|
98
98
|
children: j("bigconsole.dataSinks.importGuide.or", "Or")
|
|
99
99
|
}),
|
|
100
|
-
/* @__PURE__ */
|
|
100
|
+
/* @__PURE__ */ x("span", { className: "h-px flex-1 bg-border-subtle" })
|
|
101
101
|
]
|
|
102
102
|
}),
|
|
103
|
-
A && /* @__PURE__ */
|
|
103
|
+
A && /* @__PURE__ */ S("section", {
|
|
104
104
|
className: "space-y-3",
|
|
105
105
|
children: [
|
|
106
|
-
/* @__PURE__ */
|
|
106
|
+
/* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("h3", {
|
|
107
107
|
className: "text-sm font-semibold text-text-primary",
|
|
108
108
|
children: j("bigconsole.dataSinks.importGuide.uploadCsvHeading", "Upload a CSV file")
|
|
109
|
-
}), /* @__PURE__ */
|
|
109
|
+
}), /* @__PURE__ */ x("p", {
|
|
110
110
|
className: "text-sm text-text-secondary leading-relaxed",
|
|
111
111
|
children: j("bigconsole.dataSinks.importGuide.uploadCsvBody", "For a quick, one-off import, upload a spreadsheet export and it becomes available to your dashboards right away.")
|
|
112
112
|
})] }),
|
|
113
|
-
D && /* @__PURE__ */
|
|
113
|
+
D && /* @__PURE__ */ S("div", {
|
|
114
114
|
className: "flex items-start gap-2 rounded-lg border border-status-warning-border bg-status-warning-bg px-3 py-2",
|
|
115
|
-
children: [/* @__PURE__ */
|
|
115
|
+
children: [/* @__PURE__ */ x(o, { className: "size-4 shrink-0 text-status-warning-text mt-0.5" }), /* @__PURE__ */ x("p", {
|
|
116
116
|
className: "text-sm text-status-warning-text",
|
|
117
117
|
children: j("bigconsole.dataSinks.importGuide.hasExistingDataWarning", "This data sink already has data — importing a CSV will replace it.")
|
|
118
118
|
})]
|
|
119
119
|
}),
|
|
120
|
-
/* @__PURE__ */
|
|
120
|
+
/* @__PURE__ */ x("input", {
|
|
121
121
|
ref: M,
|
|
122
122
|
type: "file",
|
|
123
123
|
accept: ".csv,text/csv",
|
|
@@ -125,39 +125,39 @@ var C = 6, w = 1e7, T = 5e4, E = t(function({ isOpen: t, dataSinkName: E, hasExi
|
|
|
125
125
|
onChange: G,
|
|
126
126
|
"aria-label": j("bigconsole.dataSinks.importGuide.fileInputAriaLabel", "Choose a CSV file to import")
|
|
127
127
|
}),
|
|
128
|
-
!I && /* @__PURE__ */
|
|
128
|
+
!I && /* @__PURE__ */ S("button", {
|
|
129
129
|
type: "button",
|
|
130
130
|
onClick: q,
|
|
131
131
|
className: "flex w-full flex-col items-center justify-center gap-2 rounded-lg border border-dashed border-border-default bg-bg-sunken px-4 py-6 text-center transition-colors hover:border-action-primary-bg hover:bg-action-primary-bg/5",
|
|
132
132
|
children: [
|
|
133
|
-
/* @__PURE__ */
|
|
134
|
-
/* @__PURE__ */
|
|
133
|
+
/* @__PURE__ */ x(c, { className: "size-6 text-text-tertiary" }),
|
|
134
|
+
/* @__PURE__ */ x("span", {
|
|
135
135
|
className: "text-sm font-medium text-text-primary",
|
|
136
136
|
children: P ? j("bigconsole.dataSinks.importGuide.chooseDifferentCsv", "Choose a different CSV file") : j("bigconsole.dataSinks.importGuide.chooseCsv", "Choose a CSV file")
|
|
137
137
|
}),
|
|
138
|
-
/* @__PURE__ */
|
|
138
|
+
/* @__PURE__ */ x("span", {
|
|
139
139
|
className: "text-xs text-text-tertiary",
|
|
140
140
|
children: j("bigconsole.dataSinks.importGuide.firstRowHint", "The first row is used as column names.")
|
|
141
141
|
})
|
|
142
142
|
]
|
|
143
143
|
}),
|
|
144
|
-
R && /* @__PURE__ */
|
|
144
|
+
R && /* @__PURE__ */ x("div", {
|
|
145
145
|
className: "rounded-lg border border-status-error-border bg-status-error-bg px-3 py-2",
|
|
146
|
-
children: /* @__PURE__ */
|
|
146
|
+
children: /* @__PURE__ */ x("p", {
|
|
147
147
|
className: "text-sm text-status-error-text",
|
|
148
148
|
children: R
|
|
149
149
|
})
|
|
150
150
|
}),
|
|
151
|
-
I && /* @__PURE__ */
|
|
151
|
+
I && /* @__PURE__ */ S("div", {
|
|
152
152
|
className: "space-y-3 rounded-lg border border-border-default bg-bg-sunken p-4",
|
|
153
153
|
children: [
|
|
154
|
-
/* @__PURE__ */
|
|
154
|
+
/* @__PURE__ */ S("div", {
|
|
155
155
|
className: "flex items-center justify-between gap-3",
|
|
156
|
-
children: [/* @__PURE__ */
|
|
156
|
+
children: [/* @__PURE__ */ x("span", {
|
|
157
157
|
className: "truncate text-sm font-medium text-text-primary",
|
|
158
158
|
title: P ?? void 0,
|
|
159
159
|
children: P
|
|
160
|
-
}), /* @__PURE__ */
|
|
160
|
+
}), /* @__PURE__ */ x("button", {
|
|
161
161
|
type: "button",
|
|
162
162
|
onClick: q,
|
|
163
163
|
disabled: H,
|
|
@@ -165,12 +165,12 @@ var C = 6, w = 1e7, T = 5e4, E = t(function({ isOpen: t, dataSinkName: E, hasExi
|
|
|
165
165
|
children: j("bigconsole.dataSinks.importGuide.changeFile", "Change file")
|
|
166
166
|
})]
|
|
167
167
|
}),
|
|
168
|
-
/* @__PURE__ */
|
|
168
|
+
/* @__PURE__ */ S("p", {
|
|
169
169
|
className: "text-sm text-text-secondary",
|
|
170
170
|
children: [
|
|
171
171
|
j("bigconsole.dataSinks.importGuide.readyToImportPrefix", "Ready to import"),
|
|
172
172
|
" ",
|
|
173
|
-
/* @__PURE__ */
|
|
173
|
+
/* @__PURE__ */ x("strong", {
|
|
174
174
|
className: "text-text-primary",
|
|
175
175
|
children: I.rows.length
|
|
176
176
|
}),
|
|
@@ -178,7 +178,7 @@ var C = 6, w = 1e7, T = 5e4, E = t(function({ isOpen: t, dataSinkName: E, hasExi
|
|
|
178
178
|
I.rows.length === 1 ? j("bigconsole.dataSinks.importGuide.rowSingular", "row") : j("bigconsole.dataSinks.importGuide.rowPlural", "rows"),
|
|
179
179
|
" ",
|
|
180
180
|
"× ",
|
|
181
|
-
/* @__PURE__ */
|
|
181
|
+
/* @__PURE__ */ x("strong", {
|
|
182
182
|
className: "text-text-primary",
|
|
183
183
|
children: I.columns.length
|
|
184
184
|
}),
|
|
@@ -187,25 +187,25 @@ var C = 6, w = 1e7, T = 5e4, E = t(function({ isOpen: t, dataSinkName: E, hasExi
|
|
|
187
187
|
"."
|
|
188
188
|
]
|
|
189
189
|
}),
|
|
190
|
-
/* @__PURE__ */
|
|
190
|
+
/* @__PURE__ */ S("div", {
|
|
191
191
|
className: "flex flex-wrap gap-1.5",
|
|
192
|
-
children: [J.map((e) => /* @__PURE__ */
|
|
192
|
+
children: [J.map((e) => /* @__PURE__ */ x("span", {
|
|
193
193
|
className: "rounded-full bg-bg-surface px-2 py-0.5 text-xs text-text-secondary border border-border-subtle",
|
|
194
194
|
children: e
|
|
195
|
-
}, e)), Y > 0 && /* @__PURE__ */
|
|
195
|
+
}, e)), Y > 0 && /* @__PURE__ */ x("span", {
|
|
196
196
|
className: "rounded-full px-2 py-0.5 text-xs text-text-tertiary",
|
|
197
197
|
children: j("bigconsole.dataSinks.importGuide.moreColumns", "+{{count}} more", { count: Y })
|
|
198
198
|
})]
|
|
199
199
|
}),
|
|
200
|
-
B && /* @__PURE__ */
|
|
200
|
+
B && /* @__PURE__ */ x("p", {
|
|
201
201
|
className: "text-sm text-status-error-text",
|
|
202
202
|
children: B
|
|
203
203
|
}),
|
|
204
|
-
/* @__PURE__ */
|
|
204
|
+
/* @__PURE__ */ x(f, {
|
|
205
205
|
onClick: K,
|
|
206
206
|
disabled: H,
|
|
207
207
|
className: "w-full",
|
|
208
|
-
children: H ? /* @__PURE__ */
|
|
208
|
+
children: H ? /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(l, { className: "size-4 animate-spin" }), j("bigconsole.dataSinks.importGuide.importing", "Importing…")] }) : /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(u, { className: "size-4" }), I.rows.length === 1 ? j("bigconsole.dataSinks.importGuide.importRowSingular", "Import {{count}} row", { count: I.rows.length }) : j("bigconsole.dataSinks.importGuide.importRowPlural", "Import {{count}} rows", { count: I.rows.length })] })
|
|
209
209
|
})
|
|
210
210
|
]
|
|
211
211
|
})
|
|
@@ -213,7 +213,7 @@ var C = 6, w = 1e7, T = 5e4, E = t(function({ isOpen: t, dataSinkName: E, hasExi
|
|
|
213
213
|
})
|
|
214
214
|
]
|
|
215
215
|
}),
|
|
216
|
-
/* @__PURE__ */
|
|
216
|
+
/* @__PURE__ */ x(g, { children: /* @__PURE__ */ x(f, {
|
|
217
217
|
variant: "outline",
|
|
218
218
|
onClick: O,
|
|
219
219
|
disabled: H,
|