@burdenoff/microfe-bigconsole 2026.924.1 → 2026.924.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.
- package/dist/bigconsole/BigConsoleRoutes.js +137 -138
- package/dist/bigconsole/BigConsoleRoutes.js.map +1 -1
- package/dist/bigconsole/assistant/previewController.js +10 -10
- package/dist/bigconsole/assistant/useAssistantPanelShowsPreview.js +25 -0
- package/dist/bigconsole/assistant/useAssistantPanelShowsPreview.js.map +1 -0
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js +17 -17
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +32 -32
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +52 -52
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +7 -7
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.js +53 -0
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.js.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +60 -60
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +21 -21
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +36 -36
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +38 -38
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +121 -121
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +22 -22
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +53 -53
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.js +47 -47
- package/dist/bigconsole/components/dashboard/index.js +1 -0
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +30 -29
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +1 -1
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +48 -48
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +103 -103
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
- package/dist/bigconsole/components/overview/DashboardGuide.js +214 -0
- package/dist/bigconsole/components/overview/DashboardGuide.js.map +1 -0
- package/dist/bigconsole/components/overview/DataHealthCard.js +97 -0
- package/dist/bigconsole/components/overview/DataHealthCard.js.map +1 -0
- package/dist/bigconsole/components/overview/OverviewQuickActions.js +32 -0
- package/dist/bigconsole/components/overview/OverviewQuickActions.js.map +1 -0
- package/dist/bigconsole/components/overview/OverviewStatCard.js +57 -0
- package/dist/bigconsole/components/overview/OverviewStatCard.js.map +1 -0
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.js +107 -0
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.js.map +1 -0
- package/dist/bigconsole/components/overview/dashboardGuideSteps.js +119 -0
- package/dist/bigconsole/components/overview/dashboardGuideSteps.js.map +1 -0
- package/dist/bigconsole/components/overview/index.js +8 -0
- package/dist/bigconsole/components/overview/overviewModel.js +119 -0
- package/dist/bigconsole/components/overview/overviewModel.js.map +1 -0
- package/dist/bigconsole/components/overview/useOverviewData.js +48 -0
- package/dist/bigconsole/components/overview/useOverviewData.js.map +1 -0
- package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
- package/dist/bigconsole/components/parser/ImportParserDialog.js +127 -127
- package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
- package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
- package/dist/bigconsole/components/preview/AiPreviewContent.js +5 -5
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +62 -61
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -1
- package/dist/bigconsole/components/preview/AiPreviewPanel.js +82 -81
- package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -1
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +13 -13
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +70 -70
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +28 -28
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +25 -25
- 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 +21 -21
- 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/customWidget/CustomWidgetBuilderSheet.js +10 -10
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +68 -68
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
- package/dist/bigconsole/pages/AdminPage.js +136 -136
- package/dist/bigconsole/pages/DashboardBuilderPage.js +10 -10
- package/dist/bigconsole/pages/DashboardViewPage.js +61 -61
- package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
- package/dist/bigconsole/pages/DashboardsPage.js +327 -348
- package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
- package/dist/bigconsole/pages/DataParsersPage.js +5 -5
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +10 -10
- package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinkViewPage.js +83 -83
- package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinksPage.js +11 -11
- package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
- package/dist/bigconsole/pages/InsightsPage.js +315 -315
- package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
- package/dist/bigconsole/pages/OverviewPage.js +244 -0
- package/dist/bigconsole/pages/OverviewPage.js.map +1 -0
- package/dist/bigconsole/pages/ParserBuilderPage.js +5 -5
- package/dist/bigconsole/pages/ParserViewPage.js +98 -98
- package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.js +8 -8
- package/dist/bigconsole/pages/PipelineViewPage.js +46 -46
- package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelinesPage.js +80 -80
- package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
- package/dist/bigconsole/pages/SettingsPage.js +70 -70
- package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
- package/dist/bigconsole/pages/WorkflowViewPage.js +200 -200
- package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
- package/dist/bigconsole/pages/WorkflowsPage.js +78 -78
- package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +79 -79
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
- package/dist/bigconsole/utils/createDialogParam.js +14 -0
- package/dist/bigconsole/utils/createDialogParam.js.map +1 -0
- package/dist/generated/global-operations.js +1 -1
- package/dist/generated/wspace-operations.js +285 -222
- package/dist/generated/wspace-operations.js.map +1 -1
- package/dist/shared/hooks/useTr.js +10 -7
- package/dist/shared/hooks/useTr.js.map +1 -1
- package/package.json +1 -1
- package/dist/bigconsole/pages/HomePage.js +0 -318
- package/dist/bigconsole/pages/HomePage.js.map +0 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useEffect as e, useState as t } from "react";
|
|
2
|
+
//#region src/bigconsole/assistant/useAssistantPanelShowsPreview.ts
|
|
3
|
+
var n = "[data-assistant-panel]", r = "data-assistant-overlay", i = "preview";
|
|
4
|
+
function a(e = document) {
|
|
5
|
+
return e.querySelector(n)?.getAttribute(r) === i;
|
|
6
|
+
}
|
|
7
|
+
function o() {
|
|
8
|
+
let [n, i] = t(() => typeof document > "u" ? !1 : a());
|
|
9
|
+
return e(() => {
|
|
10
|
+
if (typeof document > "u") return;
|
|
11
|
+
let e = () => i(a());
|
|
12
|
+
e();
|
|
13
|
+
let t = new MutationObserver(e);
|
|
14
|
+
return t.observe(document.body, {
|
|
15
|
+
subtree: !0,
|
|
16
|
+
childList: !0,
|
|
17
|
+
attributes: !0,
|
|
18
|
+
attributeFilter: [r]
|
|
19
|
+
}), () => t.disconnect();
|
|
20
|
+
}, []), n;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { o as useAssistantPanelShowsPreview };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=useAssistantPanelShowsPreview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAssistantPanelShowsPreview.js","names":[],"sources":["../../../src/bigconsole/assistant/useAssistantPanelShowsPreview.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\n/**\n * Is the shared assistant panel currently showing the preview ITSELF?\n *\n * ★★★ WHY THIS EXISTS. The preview has three surfaces — the rich page panel,\n * the mini page panel, and fe-libs' in-chat overlay — and only one may show per\n * run. BigConsole already arbitrates its own two (`richMounted`), but nothing\n * arbitrated against the third: fe-libs renders the SAME controller via\n * `controller.render()` inside its overlay, driven by its own local state, so\n * opening the overlay left the page surface up as well.\n *\n * Measured on app.bigconsole.com 2026-09-24, one Build run, one click of the\n * panel's \"Build preview\" toggle:\n * before -> page surface [283,145,1109,270], no overlay\n * after -> page surface STILL [283,145,1109,270]\n * plus the same preview again at [897,166,518,160] inside the\n * overlay, inside the assistant panel\n * Two live surfaces for one run, side by side, showing the same build.\n *\n * ★★ IT READS THE ATTRIBUTE fe-libs ALREADY PUBLISHES, rather than adding a\n * contract. `AIAssistantPanel` writes `data-assistant-overlay=\"preview\"` on its\n * root for exactly this kind of cross-package coordination — the same mechanism\n * `assistantPanelOwnsEscape` reads to decide who owns the Escape key. Verified\n * live before building on it: the attribute is absent before the toggle and\n * `\"preview\"` after.\n *\n * ★ A MutationObserver, not a poll or a render-time read. The attribute changes\n * from inside fe-libs' own state, on a node this package does not own and does\n * not re-render with, so there is no React signal to hang it on.\n */\nconst PANEL_SELECTOR = '[data-assistant-panel]';\nconst OVERLAY_ATTR = 'data-assistant-overlay';\nconst PREVIEW = 'preview';\n\n/** Reads the current answer from the DOM. Safe to call before any panel mounts. */\nexport function panelShowsPreviewNow(doc: Pick<Document, 'querySelector'> = document): boolean {\n return doc.querySelector(PANEL_SELECTOR)?.getAttribute(OVERLAY_ATTR) === PREVIEW;\n}\n\nexport function useAssistantPanelShowsPreview(): boolean {\n const [showing, setShowing] = useState(() => (typeof document === 'undefined' ? false : panelShowsPreviewNow()));\n\n useEffect(() => {\n if (typeof document === 'undefined') return;\n const read = () => setShowing(panelShowsPreviewNow());\n read();\n // ★ `subtree` is required: the panel mounts and unmounts below <body>, so an\n // observer bound to attributes alone would never see a panel that appears\n // after this hook runs — which is the common case, since the page surface\n // exists before the user opens the assistant.\n const observer = new MutationObserver(read);\n observer.observe(document.body, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: [OVERLAY_ATTR],\n });\n return () => observer.disconnect();\n }, []);\n\n return showing;\n}\n"],"mappings":";;AA+BA,IAAM,IAAiB,0BACjB,IAAe,0BACf,IAAU;AAGhB,SAAgB,EAAqB,IAAuC,UAAmB;AAC7F,QAAO,EAAI,cAAc,EAAe,EAAE,aAAa,EAAa,KAAK;;AAG3E,SAAgB,IAAyC;CACvD,IAAM,CAAC,GAAS,KAAc,QAAgB,OAAO,WAAa,MAAc,KAAQ,GAAsB,CAAE;AAoBhH,QAlBA,QAAgB;AACd,MAAI,OAAO,WAAa,IAAa;EACrC,IAAM,UAAa,EAAW,GAAsB,CAAC;AACrD,KAAM;EAKN,IAAM,IAAW,IAAI,iBAAiB,EAAK;AAO3C,SANA,EAAS,QAAQ,SAAS,MAAM;GAC9B,SAAS;GACT,WAAW;GACX,YAAY;GACZ,iBAAiB,CAAC,EAAa;GAChC,CAAC,QACW,EAAS,YAAY;IACjC,EAAE,CAAC,EAEC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GetDashboardDocument as e, ListWidgetsByDashboardDocument as t } from "../../generated/wspace-operations.js";
|
|
2
|
+
import { Section as n, SectionStack as r } from "./common/Section.js";
|
|
2
3
|
import "./common/index.js";
|
|
3
|
-
import { GetDashboardDocument as n, ListWidgetsByDashboardDocument as r } from "../../generated/wspace-operations.js";
|
|
4
4
|
import { mapFromFederationWidgetType as i } from "../utils/widgetTypeMapping.js";
|
|
5
5
|
import a from "./widgets/WidgetWrapper.js";
|
|
6
6
|
import { memo as o, useEffect as s, useState as c } from "react";
|
|
@@ -54,29 +54,29 @@ var p = o(function({ dashboardId: i, params: a }) {
|
|
|
54
54
|
h(!1);
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
|
-
async function
|
|
57
|
+
async function n() {
|
|
58
58
|
h(!0), _(null);
|
|
59
59
|
try {
|
|
60
|
-
let
|
|
61
|
-
query:
|
|
60
|
+
let n = (await o.query({
|
|
61
|
+
query: e,
|
|
62
62
|
variables: { id: i },
|
|
63
63
|
fetchPolicy: "network-only"
|
|
64
64
|
})).data?.getDashboard;
|
|
65
|
-
if (!
|
|
65
|
+
if (!n) {
|
|
66
66
|
_("Dashboard not found"), h(!1);
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
|
-
let
|
|
69
|
+
let r = n.pages?.edges?.map((e) => ({
|
|
70
70
|
id: e.node.id,
|
|
71
71
|
name: e.node.name || "Page 1"
|
|
72
72
|
})) || [];
|
|
73
73
|
y({
|
|
74
|
-
id:
|
|
75
|
-
name:
|
|
76
|
-
description:
|
|
77
|
-
pages:
|
|
74
|
+
id: n.id,
|
|
75
|
+
name: n.name,
|
|
76
|
+
description: n.description,
|
|
77
|
+
pages: r
|
|
78
78
|
}), x(((await o.query({
|
|
79
|
-
query:
|
|
79
|
+
query: t,
|
|
80
80
|
variables: { dashboardId: i },
|
|
81
81
|
fetchPolicy: "network-only"
|
|
82
82
|
})).data?.listWidgetsByDashboard || []).map((e, t) => f(e, t)));
|
|
@@ -86,7 +86,7 @@ var p = o(function({ dashboardId: i, params: a }) {
|
|
|
86
86
|
h(!1);
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
|
|
89
|
+
n();
|
|
90
90
|
}, [i, o]), p) return /* @__PURE__ */ u("div", {
|
|
91
91
|
className: "flex items-center justify-center h-full",
|
|
92
92
|
children: /* @__PURE__ */ d("div", {
|
|
@@ -100,7 +100,7 @@ var p = o(function({ dashboardId: i, params: a }) {
|
|
|
100
100
|
if (g) return /* @__PURE__ */ u("div", {
|
|
101
101
|
className: "flex h-full items-center justify-center",
|
|
102
102
|
role: "alert",
|
|
103
|
-
children: /* @__PURE__ */ u(
|
|
103
|
+
children: /* @__PURE__ */ u(n, {
|
|
104
104
|
headingLevel: 3,
|
|
105
105
|
tone: "danger",
|
|
106
106
|
className: "w-full max-w-md",
|
|
@@ -143,10 +143,10 @@ var p = o(function({ dashboardId: i, params: a }) {
|
|
|
143
143
|
})
|
|
144
144
|
});
|
|
145
145
|
let S = Object.entries(a).filter(([e]) => !e.startsWith("__"));
|
|
146
|
-
return /* @__PURE__ */ d(
|
|
146
|
+
return /* @__PURE__ */ d(r, {
|
|
147
147
|
className: "w-full",
|
|
148
148
|
children: [
|
|
149
|
-
/* @__PURE__ */ u(
|
|
149
|
+
/* @__PURE__ */ u(n, {
|
|
150
150
|
emphasis: "bare",
|
|
151
151
|
padding: "none",
|
|
152
152
|
headingLevel: 3,
|
|
@@ -154,7 +154,7 @@ var p = o(function({ dashboardId: i, params: a }) {
|
|
|
154
154
|
description: v.description,
|
|
155
155
|
"data-testid": "drilldown-dashboard-header"
|
|
156
156
|
}),
|
|
157
|
-
S.length > 0 && /* @__PURE__ */ u(
|
|
157
|
+
S.length > 0 && /* @__PURE__ */ u(n, {
|
|
158
158
|
emphasis: "muted",
|
|
159
159
|
padding: "compact",
|
|
160
160
|
headingLevel: 3,
|
|
@@ -2,9 +2,9 @@ import { Section as e, SectionStack as t } from "../../common/Section.js";
|
|
|
2
2
|
import "../../common/index.js";
|
|
3
3
|
import n from "../../parser/DataSinkSelector.js";
|
|
4
4
|
import r from "../../parser/ParserSelector.js";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { Input as i, Label as a, Spinner as o } from "@burdenoff/fe-libs/ui";
|
|
6
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
|
+
import { useI18n as l } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
8
8
|
//#region src/bigconsole/components/builder/inspector/DataBindingSection.tsx
|
|
9
9
|
var u = {
|
|
10
10
|
unbound: "info",
|
|
@@ -14,7 +14,7 @@ var u = {
|
|
|
14
14
|
parser_error: "danger",
|
|
15
15
|
field_mismatch: "warning"
|
|
16
16
|
}, d = ({ consoleId: d, binding: f, dataSinkKey: p, dataPath: m, status: h, missingFields: g = [], preview: _, error: v, onDataSinkChange: y, onParserChange: b, onDataPathChange: x }) => {
|
|
17
|
-
let { t: S } =
|
|
17
|
+
let { t: S } = l(), C = {
|
|
18
18
|
unbound: S("bigconsole.builder.dataBinding.status.unbound", "Select a DataSink to begin"),
|
|
19
19
|
loading: S("bigconsole.builder.dataBinding.status.loading", "Testing parser and detecting fields…"),
|
|
20
20
|
bound: S("bigconsole.builder.dataBinding.status.bound", "Binding ready"),
|
|
@@ -22,33 +22,33 @@ var u = {
|
|
|
22
22
|
parser_error: S("bigconsole.builder.dataBinding.status.parserError", "Parser test failed"),
|
|
23
23
|
field_mismatch: S("bigconsole.builder.dataBinding.status.fieldMismatch", "Some mapped fields were not found")
|
|
24
24
|
};
|
|
25
|
-
return /* @__PURE__ */
|
|
26
|
-
/* @__PURE__ */
|
|
25
|
+
return /* @__PURE__ */ c(t, { children: [
|
|
26
|
+
/* @__PURE__ */ s(e, {
|
|
27
27
|
title: "Data source",
|
|
28
28
|
description: S("bigconsole.builder.dataBinding.intro", "Connect this widget to a DataSink and Parser to display transformed data."),
|
|
29
29
|
"data-testid": "widget-inspector-data-source",
|
|
30
|
-
children: /* @__PURE__ */
|
|
30
|
+
children: /* @__PURE__ */ c("div", {
|
|
31
31
|
className: "flex flex-col gap-form-gap",
|
|
32
|
-
children: [/* @__PURE__ */
|
|
32
|
+
children: [/* @__PURE__ */ c("div", {
|
|
33
33
|
className: "space-y-2",
|
|
34
34
|
children: [
|
|
35
|
-
/* @__PURE__ */
|
|
36
|
-
/* @__PURE__ */
|
|
35
|
+
/* @__PURE__ */ s(a, { children: S("bigconsole.builder.dataBinding.dataSinkLabel", "DataSink") }),
|
|
36
|
+
/* @__PURE__ */ s(n, {
|
|
37
37
|
value: p,
|
|
38
38
|
onChange: y,
|
|
39
39
|
placeholder: S("bigconsole.builder.dataBinding.dataSinkPlaceholder", "Select a DataSink...")
|
|
40
40
|
}),
|
|
41
|
-
p && /* @__PURE__ */
|
|
41
|
+
p && /* @__PURE__ */ c("p", {
|
|
42
42
|
className: "text-xs text-text-secondary",
|
|
43
|
-
children: [S("bigconsole.builder.dataBinding.keyLabel", "Key: {{key}}", { key: p }), f.source.ref && /* @__PURE__ */
|
|
43
|
+
children: [S("bigconsole.builder.dataBinding.keyLabel", "Key: {{key}}", { key: p }), f.source.ref && /* @__PURE__ */ s("span", {
|
|
44
44
|
className: "ml-2 text-text-muted",
|
|
45
45
|
children: S("bigconsole.builder.dataBinding.idLabel", "ID: {{id}}...", { id: f.source.ref.slice(0, 8) })
|
|
46
46
|
})]
|
|
47
47
|
})
|
|
48
48
|
]
|
|
49
|
-
}), /* @__PURE__ */
|
|
49
|
+
}), /* @__PURE__ */ c("div", {
|
|
50
50
|
className: "space-y-2",
|
|
51
|
-
children: [/* @__PURE__ */
|
|
51
|
+
children: [/* @__PURE__ */ s(a, { children: S("bigconsole.builder.dataBinding.parserLabel", "Parser") }), /* @__PURE__ */ s(r, {
|
|
52
52
|
consoleId: d,
|
|
53
53
|
value: f.parserId ?? null,
|
|
54
54
|
onChange: b,
|
|
@@ -60,53 +60,53 @@ var u = {
|
|
|
60
60
|
})]
|
|
61
61
|
})
|
|
62
62
|
}),
|
|
63
|
-
/* @__PURE__ */
|
|
63
|
+
/* @__PURE__ */ s(e, {
|
|
64
64
|
title: C[h],
|
|
65
65
|
tone: u[h],
|
|
66
66
|
padding: "compact",
|
|
67
67
|
headingLevel: 3,
|
|
68
|
-
icon: h === "loading" ? /* @__PURE__ */
|
|
68
|
+
icon: h === "loading" ? /* @__PURE__ */ s(o, { style: {
|
|
69
69
|
width: "14px",
|
|
70
70
|
height: "14px"
|
|
71
71
|
} }) : void 0,
|
|
72
72
|
"data-testid": "widget-inspector-binding-status",
|
|
73
|
-
children: /* @__PURE__ */
|
|
73
|
+
children: /* @__PURE__ */ c("div", {
|
|
74
74
|
role: "status",
|
|
75
75
|
"aria-live": "polite",
|
|
76
76
|
className: "min-w-0 space-y-1",
|
|
77
77
|
children: [
|
|
78
|
-
/* @__PURE__ */
|
|
78
|
+
/* @__PURE__ */ s("p", {
|
|
79
79
|
className: "sr-only",
|
|
80
80
|
children: C[h]
|
|
81
81
|
}),
|
|
82
|
-
v && /* @__PURE__ */
|
|
82
|
+
v && /* @__PURE__ */ s("p", {
|
|
83
83
|
className: "break-words text-xs text-[var(--color-status-error-text)]",
|
|
84
84
|
children: v
|
|
85
85
|
}),
|
|
86
|
-
g.length > 0 && /* @__PURE__ */
|
|
86
|
+
g.length > 0 && /* @__PURE__ */ s("p", {
|
|
87
87
|
className: "break-words text-xs text-[var(--color-status-warning-text)]",
|
|
88
88
|
children: S("bigconsole.builder.dataBinding.missingFields", "Missing: {{fields}}", { fields: g.join(", ") })
|
|
89
89
|
}),
|
|
90
|
-
!v && g.length === 0 && h === "bound" && /* @__PURE__ */
|
|
90
|
+
!v && g.length === 0 && h === "bound" && /* @__PURE__ */ s("p", {
|
|
91
91
|
className: "text-xs text-text-secondary",
|
|
92
92
|
children: "The parser ran and its output matches the fields this widget expects."
|
|
93
93
|
})
|
|
94
94
|
]
|
|
95
95
|
})
|
|
96
96
|
}),
|
|
97
|
-
f.parserId && Object.keys(f.fields).length > 0 && /* @__PURE__ */
|
|
97
|
+
f.parserId && Object.keys(f.fields).length > 0 && /* @__PURE__ */ s(e, {
|
|
98
98
|
emphasis: "muted",
|
|
99
99
|
padding: "compact",
|
|
100
100
|
title: S("bigconsole.builder.dataBinding.fieldMappingsConfigured", "Field mappings configured"),
|
|
101
101
|
headingLevel: 3,
|
|
102
|
-
children: /* @__PURE__ */
|
|
102
|
+
children: /* @__PURE__ */ s("div", {
|
|
103
103
|
className: "min-w-0 space-y-1 text-xs text-text-secondary",
|
|
104
|
-
children: Object.entries(f.fields).map(([e, t]) => /* @__PURE__ */
|
|
104
|
+
children: Object.entries(f.fields).map(([e, t]) => /* @__PURE__ */ c("p", {
|
|
105
105
|
className: "break-words",
|
|
106
106
|
children: [
|
|
107
107
|
e,
|
|
108
108
|
": ",
|
|
109
|
-
/* @__PURE__ */
|
|
109
|
+
/* @__PURE__ */ s("code", {
|
|
110
110
|
className: "rounded bg-bg-surface px-1 font-mono",
|
|
111
111
|
children: t
|
|
112
112
|
})
|
|
@@ -114,36 +114,36 @@ var u = {
|
|
|
114
114
|
}, e))
|
|
115
115
|
})
|
|
116
116
|
}),
|
|
117
|
-
_ !== void 0 && /* @__PURE__ */
|
|
117
|
+
_ !== void 0 && /* @__PURE__ */ s(e, {
|
|
118
118
|
emphasis: "muted",
|
|
119
119
|
padding: "compact",
|
|
120
120
|
title: S("bigconsole.builder.dataBinding.livePreviewLabel", "Live Preview"),
|
|
121
121
|
description: "Raw parser output, exactly as the widget receives it.",
|
|
122
122
|
headingLevel: 3,
|
|
123
|
-
children: /* @__PURE__ */
|
|
123
|
+
children: /* @__PURE__ */ s("pre", {
|
|
124
124
|
className: "max-h-40 min-w-0 overflow-auto rounded-input border border-[var(--color-border-subtle)] bg-bg-surface p-3 text-xs text-text-secondary",
|
|
125
125
|
children: JSON.stringify(_, null, 2)
|
|
126
126
|
})
|
|
127
127
|
}),
|
|
128
|
-
/* @__PURE__ */
|
|
128
|
+
/* @__PURE__ */ s(e, {
|
|
129
129
|
emphasis: "muted",
|
|
130
130
|
padding: "compact",
|
|
131
131
|
title: "Data path",
|
|
132
132
|
headingLevel: 3,
|
|
133
|
-
children: /* @__PURE__ */
|
|
133
|
+
children: /* @__PURE__ */ c("div", {
|
|
134
134
|
className: "space-y-2",
|
|
135
135
|
children: [
|
|
136
|
-
/* @__PURE__ */
|
|
136
|
+
/* @__PURE__ */ s(a, {
|
|
137
137
|
htmlFor: "widget-inspector-data-path",
|
|
138
138
|
children: S("bigconsole.builder.dataBinding.dataPathLabel", "Data Path (Optional)")
|
|
139
139
|
}),
|
|
140
|
-
/* @__PURE__ */
|
|
140
|
+
/* @__PURE__ */ s(i, {
|
|
141
141
|
id: "widget-inspector-data-path",
|
|
142
142
|
value: m ?? "",
|
|
143
143
|
onChange: (e) => x(e.target.value || void 0),
|
|
144
144
|
placeholder: S("bigconsole.builder.dataBinding.dataPathPlaceholder", "e.g., summary.totalRevenue")
|
|
145
145
|
}),
|
|
146
|
-
/* @__PURE__ */
|
|
146
|
+
/* @__PURE__ */ s("p", {
|
|
147
147
|
className: "text-xs text-text-secondary",
|
|
148
148
|
children: S("bigconsole.builder.dataBinding.dataPathHelp", "Path to extract specific data from the parser output (dot notation)")
|
|
149
149
|
})
|