@burdenoff/microfe-bigconsole 2026.805.3 → 2026.812.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js +118 -106
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +1 -1
- package/dist/bigconsole/components/DrilldownModal.js +54 -50
- package/dist/bigconsole/components/DrilldownModal.js.map +1 -1
- package/dist/bigconsole/components/builder/BuilderCanvas.js +2 -2
- package/dist/bigconsole/components/builder/BuilderCanvas.js.map +1 -1
- package/dist/bigconsole/components/builder/BuilderTopbar.js +3 -3
- package/dist/bigconsole/components/builder/BuilderTopbar.js.map +1 -1
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +24 -25
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +1 -1
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +40 -29
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +1 -1
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +135 -97
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +1 -1
- package/dist/bigconsole/components/builder/inspector/GeneralSection.js +58 -44
- package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +1 -1
- package/dist/bigconsole/components/common/Section.js +70 -0
- package/dist/bigconsole/components/common/Section.js.map +1 -0
- package/dist/bigconsole/components/common/index.js +2 -0
- package/dist/bigconsole/components/common/sectionStyles.js +42 -0
- package/dist/bigconsole/components/common/sectionStyles.js.map +1 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +209 -193
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +213 -231
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
- package/dist/bigconsole/components/dashboard/DashboardGrid.js +12 -18
- package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +1 -1
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +109 -102
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -1
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +81 -70
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -1
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +125 -159
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +25 -23
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +3 -3
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +5 -3
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +170 -284
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +147 -151
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +45 -53
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +1 -1
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +157 -148
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -1
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +17 -8
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -95
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -1
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +20 -18
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +1 -1
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +26 -58
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +1 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.js +307 -231
- package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -1
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js +29 -29
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkCard.js +78 -79
- package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +33 -34
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +79 -56
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +75 -65
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +1 -1
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +1 -1
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +20 -19
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +1 -1
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +127 -171
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +1 -1
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +263 -243
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +65 -66
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +1 -1
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +121 -127
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +1 -1
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +33 -26
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -1
- package/dist/bigconsole/components/datasink/SetupStateBadge.js +3 -3
- package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +1 -1
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +95 -95
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +1 -1
- package/dist/bigconsole/components/parser/DataSinkSelector.js +154 -123
- package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -1
- package/dist/bigconsole/components/parser/ExpressionEditor.js +3 -3
- package/dist/bigconsole/components/parser/ExpressionEditor.js.map +1 -1
- package/dist/bigconsole/components/parser/ImportParserDialog.js +235 -275
- package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
- package/dist/bigconsole/components/parser/ParserCard.js +133 -114
- package/dist/bigconsole/components/parser/ParserCard.js.map +1 -1
- package/dist/bigconsole/components/parser/ParserSelector.js +191 -174
- package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -1
- package/dist/bigconsole/components/parser/ParserStatusBadge.js +2 -2
- package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +1 -1
- package/dist/bigconsole/components/parser/ParserTypeBadge.js +4 -4
- package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +1 -1
- package/dist/bigconsole/components/pipeline/PipelineCard.js +134 -89
- package/dist/bigconsole/components/pipeline/PipelineCard.js.map +1 -1
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +77 -64
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +1 -1
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +7 -10
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +1 -1
- package/dist/bigconsole/components/preview/AiPreviewContent.js +31 -32
- package/dist/bigconsole/components/preview/AiPreviewContent.js.map +1 -1
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +152 -106
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -1
- package/dist/bigconsole/components/preview/AiPreviewPanel.js +193 -152
- package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -1
- package/dist/bigconsole/components/preview/previewShared.js +41 -23
- package/dist/bigconsole/components/preview/previewShared.js.map +1 -1
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +342 -308
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +262 -238
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +783 -867
- package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +7 -5
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +1 -1
- package/dist/bigconsole/components/widgets/WidgetHeader.js +7 -8
- package/dist/bigconsole/components/widgets/WidgetHeader.js.map +1 -1
- package/dist/bigconsole/components/widgets/WidgetRegistry.js +4 -4
- package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +1 -1
- package/dist/bigconsole/components/widgets/WidgetWrapper.js +8 -7
- package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +1 -1
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +1 -1
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +2 -2
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js +11 -5
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js +19 -15
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +1 -1
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +154 -102
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -1
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +36 -32
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +1 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +85 -60
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +64 -35
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +46 -45
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +1 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +35 -24
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +2 -2
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +153 -90
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/list/ListConfig.js +8 -2
- package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/list/ListItem.js +1 -1
- package/dist/bigconsole/components/widgets/list/ListItem.js.map +1 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +1 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +14 -4
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +112 -89
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +21 -13
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -1
- package/dist/bigconsole/components/widgets/metric-card/index.js +4 -4
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +3 -3
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +34 -25
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +129 -114
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +3 -3
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/states/EmptyState.js +6 -4
- package/dist/bigconsole/components/widgets/states/EmptyState.js.map +1 -1
- package/dist/bigconsole/components/widgets/states/ErrorState.js +7 -5
- package/dist/bigconsole/components/widgets/states/ErrorState.js.map +1 -1
- package/dist/bigconsole/components/widgets/states/LoadingState.js +5 -4
- package/dist/bigconsole/components/widgets/states/LoadingState.js.map +1 -1
- package/dist/bigconsole/components/widgets/table/TableConfig.js +10 -4
- package/dist/bigconsole/components/widgets/table/TableConfig.js.map +1 -1
- package/dist/bigconsole/components/widgets/table/TableHeader.js +1 -1
- package/dist/bigconsole/components/widgets/table/TableHeader.js.map +1 -1
- package/dist/bigconsole/components/widgets/table/TableWidget.js +1 -1
- package/dist/bigconsole/components/widgets/table/TableWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +1 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +3 -3
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +1 -1
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +2 -2
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +1 -1
- package/dist/bigconsole/components/widgets/utils/targetProgress.js +13 -0
- package/dist/bigconsole/components/widgets/utils/targetProgress.js.map +1 -0
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +112 -85
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -1
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +28 -20
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -1
- package/dist/bigconsole/components/workflow/WorkflowCard.js +92 -77
- package/dist/bigconsole/components/workflow/WorkflowCard.js.map +1 -1
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +70 -51
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +1 -1
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +16 -17
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +1 -1
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +6 -4
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -1
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +360 -338
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
- package/dist/bigconsole/hooks/useModalFocusTrap.js +53 -0
- package/dist/bigconsole/hooks/useModalFocusTrap.js.map +1 -0
- package/dist/bigconsole/pages/DashboardBuilderPage.js +209 -203
- package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/DashboardViewPage.js +126 -120
- package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
- package/dist/bigconsole/pages/DashboardsPage.js +838 -800
- package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
- package/dist/bigconsole/pages/DataParsersPage.js +263 -315
- package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +301 -341
- package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinkViewPage.js +346 -339
- package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSinksPage.js +356 -458
- package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
- package/dist/bigconsole/pages/DataSourcesPage.js +7 -2
- package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -1
- package/dist/bigconsole/pages/HomePage.js +186 -193
- package/dist/bigconsole/pages/HomePage.js.map +1 -1
- package/dist/bigconsole/pages/InsightsPage.js +887 -740
- package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
- package/dist/bigconsole/pages/ParserBuilderPage.js +679 -637
- package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/ParserViewPage.js +368 -342
- package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.js +537 -444
- package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelineViewPage.js +412 -377
- package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
- package/dist/bigconsole/pages/PipelinesPage.js +248 -298
- package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
- package/dist/bigconsole/pages/WidgetDemoPage.js +251 -153
- package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -1
- package/dist/bigconsole/pages/WorkflowViewPage.js +381 -371
- package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
- package/dist/bigconsole/pages/WorkflowsPage.js +171 -286
- package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { AppLink as e } from "../../contexts/NavigationContext.js";
|
|
2
2
|
import "../../contexts/index.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
3
|
+
import { SECTION_FOCUS_RING as t } from "../common/sectionStyles.js";
|
|
4
|
+
import { Section as n } from "../common/Section.js";
|
|
5
|
+
import "../common/index.js";
|
|
6
|
+
import { memo as r } from "react";
|
|
7
|
+
import { Fragment as i, jsx as a, jsxs as o } from "react/jsx-runtime";
|
|
8
|
+
import { formatDistanceToNow as s } from "date-fns";
|
|
6
9
|
//#region src/bigconsole/components/datasink/LinkedWorkflowsPanel.tsx
|
|
7
|
-
function
|
|
10
|
+
function c(e) {
|
|
8
11
|
switch (e) {
|
|
9
12
|
case "active": return {
|
|
10
13
|
label: "Active",
|
|
@@ -15,7 +18,7 @@ function o(e) {
|
|
|
15
18
|
case "paused": return {
|
|
16
19
|
label: "Paused",
|
|
17
20
|
bgColor: "bg-status-warning-bg/10",
|
|
18
|
-
textColor: "text-status-warning-text",
|
|
21
|
+
textColor: "text-[var(--color-status-warning-text)]",
|
|
19
22
|
dotColor: "bg-status-warning-bg"
|
|
20
23
|
};
|
|
21
24
|
case "error": return {
|
|
@@ -26,9 +29,9 @@ function o(e) {
|
|
|
26
29
|
};
|
|
27
30
|
case "archived": return {
|
|
28
31
|
label: "Archived",
|
|
29
|
-
bgColor: "bg-
|
|
30
|
-
textColor: "text-text-
|
|
31
|
-
dotColor: "bg-text-
|
|
32
|
+
bgColor: "bg-bg-sunken",
|
|
33
|
+
textColor: "text-text-muted",
|
|
34
|
+
dotColor: "bg-[var(--color-text-muted)]"
|
|
32
35
|
};
|
|
33
36
|
default: return {
|
|
34
37
|
label: "Draft",
|
|
@@ -38,167 +41,158 @@ function o(e) {
|
|
|
38
41
|
};
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
|
-
var
|
|
44
|
+
var l = ({ className: e }) => /* @__PURE__ */ a("svg", {
|
|
42
45
|
className: e,
|
|
43
46
|
fill: "none",
|
|
44
47
|
stroke: "currentColor",
|
|
45
48
|
viewBox: "0 0 24 24",
|
|
46
|
-
children: /* @__PURE__ */
|
|
49
|
+
children: /* @__PURE__ */ a("path", {
|
|
47
50
|
strokeLinecap: "round",
|
|
48
51
|
strokeLinejoin: "round",
|
|
49
52
|
strokeWidth: 1.5,
|
|
50
53
|
d: "M13 10V3L4 14h7v7l9-11h-7z"
|
|
51
54
|
})
|
|
52
|
-
}),
|
|
55
|
+
}), u = ({ className: e }) => /* @__PURE__ */ a("svg", {
|
|
53
56
|
className: e,
|
|
54
57
|
fill: "none",
|
|
55
58
|
stroke: "currentColor",
|
|
56
59
|
viewBox: "0 0 24 24",
|
|
57
|
-
children: /* @__PURE__ */
|
|
60
|
+
children: /* @__PURE__ */ a("path", {
|
|
58
61
|
strokeLinecap: "round",
|
|
59
62
|
strokeLinejoin: "round",
|
|
60
63
|
strokeWidth: 2,
|
|
61
64
|
d: "M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1"
|
|
62
65
|
})
|
|
63
|
-
}),
|
|
66
|
+
}), d = ({ className: e }) => /* @__PURE__ */ a("svg", {
|
|
64
67
|
className: e,
|
|
65
68
|
fill: "none",
|
|
66
69
|
stroke: "currentColor",
|
|
67
70
|
viewBox: "0 0 24 24",
|
|
68
|
-
children: /* @__PURE__ */
|
|
71
|
+
children: /* @__PURE__ */ a("path", {
|
|
69
72
|
strokeLinecap: "round",
|
|
70
73
|
strokeLinejoin: "round",
|
|
71
74
|
strokeWidth: 2,
|
|
72
75
|
d: "M9 5l7 7-7 7"
|
|
73
76
|
})
|
|
74
|
-
}),
|
|
75
|
-
let
|
|
76
|
-
return /* @__PURE__ */
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
77
|
+
}), f = r(function({ workflowLinks: r = [], isLoading: f = !1 }) {
|
|
78
|
+
let p = r.filter((e) => e.isEnabled), m = r.filter((e) => !e.isEnabled);
|
|
79
|
+
return /* @__PURE__ */ a(n, {
|
|
80
|
+
headingLevel: 2,
|
|
81
|
+
title: "Linked workflows",
|
|
82
|
+
description: "FluidGrids workflows that push data into this sink.",
|
|
83
|
+
icon: /* @__PURE__ */ a(u, { className: "h-icon-sm w-icon-sm" }),
|
|
84
|
+
meta: /* @__PURE__ */ o("span", {
|
|
85
|
+
className: "text-xs text-text-muted",
|
|
86
|
+
children: [
|
|
87
|
+
r.length,
|
|
88
|
+
" workflow",
|
|
89
|
+
r.length === 1 ? "" : "s"
|
|
90
|
+
]
|
|
91
|
+
}),
|
|
92
|
+
children: /* @__PURE__ */ a(i, { children: f ? /* @__PURE__ */ a("div", {
|
|
93
|
+
className: "flex items-center justify-center py-8",
|
|
94
|
+
children: /* @__PURE__ */ o("svg", {
|
|
95
|
+
className: "w-6 h-6 text-text-secondary animate-spin",
|
|
96
|
+
fill: "none",
|
|
97
|
+
viewBox: "0 0 24 24",
|
|
98
|
+
children: [/* @__PURE__ */ a("circle", {
|
|
99
|
+
className: "opacity-25",
|
|
100
|
+
cx: "12",
|
|
101
|
+
cy: "12",
|
|
102
|
+
r: "10",
|
|
103
|
+
stroke: "currentColor",
|
|
104
|
+
strokeWidth: "4"
|
|
105
|
+
}), /* @__PURE__ */ a("path", {
|
|
106
|
+
className: "opacity-75",
|
|
107
|
+
fill: "currentColor",
|
|
108
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
85
109
|
})]
|
|
86
|
-
})
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
children: [/* @__PURE__ */
|
|
103
|
-
className: "opacity-25",
|
|
104
|
-
cx: "12",
|
|
105
|
-
cy: "12",
|
|
106
|
-
r: "10",
|
|
107
|
-
stroke: "currentColor",
|
|
108
|
-
strokeWidth: "4"
|
|
109
|
-
}), /* @__PURE__ */ r("path", {
|
|
110
|
-
className: "opacity-75",
|
|
111
|
-
fill: "currentColor",
|
|
112
|
-
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
113
|
-
})]
|
|
110
|
+
})
|
|
111
|
+
}) : r.length === 0 ? /* @__PURE__ */ o("div", {
|
|
112
|
+
className: "py-8 text-center",
|
|
113
|
+
children: [
|
|
114
|
+
/* @__PURE__ */ a(l, { className: "mx-auto mb-3 h-icon-lg w-icon-lg text-text-muted" }),
|
|
115
|
+
/* @__PURE__ */ a("p", {
|
|
116
|
+
className: "mb-2 text-sm text-text-secondary",
|
|
117
|
+
children: "No workflows linked"
|
|
118
|
+
}),
|
|
119
|
+
/* @__PURE__ */ a("p", {
|
|
120
|
+
className: "text-xs text-text-muted",
|
|
121
|
+
children: "Link workflows from the Workflows page to push data to this data sink."
|
|
122
|
+
}),
|
|
123
|
+
/* @__PURE__ */ o(e, {
|
|
124
|
+
to: "/workflows",
|
|
125
|
+
className: `mt-4 inline-flex min-h-[var(--size-controlHeight-md)] items-center gap-1 text-xs font-medium text-text-link hover:underline ${t}`,
|
|
126
|
+
children: ["Go to Workflows", /* @__PURE__ */ a(d, { className: "w-3 h-3" })]
|
|
114
127
|
})
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
className: "space-y-3",
|
|
135
|
-
children: [d.map((t) => {
|
|
136
|
-
if (!t.workflow) return null;
|
|
137
|
-
let n = o(t.workflow.status);
|
|
138
|
-
return /* @__PURE__ */ i(e, {
|
|
139
|
-
to: `/workflows/${t.workflow.id}`,
|
|
140
|
-
className: "\n flex items-center justify-between\n p-3\n bg-bg-sunken\n rounded-md\n hover:bg-border-default\n transition-colors\n group\n ",
|
|
141
|
-
children: [/* @__PURE__ */ i("div", {
|
|
142
|
-
className: "flex items-center gap-3 min-w-0",
|
|
143
|
-
children: [/* @__PURE__ */ r(s, { className: "w-5 h-5 text-text-secondary flex-shrink-0" }), /* @__PURE__ */ i("div", {
|
|
144
|
-
className: "min-w-0",
|
|
145
|
-
children: [/* @__PURE__ */ r("p", {
|
|
146
|
-
className: "text-sm font-medium text-text-primary truncate group-hover:text-action-primary-bg",
|
|
147
|
-
children: t.workflow.name
|
|
148
|
-
}), /* @__PURE__ */ r("p", {
|
|
149
|
-
className: "text-xs text-text-secondary font-mono truncate",
|
|
150
|
-
children: t.workflow.key
|
|
151
|
-
})]
|
|
128
|
+
]
|
|
129
|
+
}) : /* @__PURE__ */ o("div", {
|
|
130
|
+
className: "space-y-list-gap",
|
|
131
|
+
children: [p.map((n) => {
|
|
132
|
+
if (!n.workflow) return null;
|
|
133
|
+
let r = c(n.workflow.status);
|
|
134
|
+
return /* @__PURE__ */ o(e, {
|
|
135
|
+
to: `/workflows/${n.workflow.id}`,
|
|
136
|
+
className: `group flex min-h-[var(--size-controlHeight-md)] items-center justify-between gap-icon-gap rounded-input bg-bg-sunken p-3 motion-safe:transition-colors hover:bg-bg-elevated ${t}`,
|
|
137
|
+
children: [/* @__PURE__ */ o("div", {
|
|
138
|
+
className: "flex min-w-0 items-center gap-icon-gap",
|
|
139
|
+
children: [/* @__PURE__ */ a(l, { className: "h-icon-md w-icon-md shrink-0 text-text-secondary" }), /* @__PURE__ */ o("div", {
|
|
140
|
+
className: "min-w-0",
|
|
141
|
+
children: [/* @__PURE__ */ a("p", {
|
|
142
|
+
className: "truncate text-sm font-medium text-text-primary group-hover:text-text-link",
|
|
143
|
+
children: n.workflow.name
|
|
144
|
+
}), /* @__PURE__ */ a("p", {
|
|
145
|
+
className: "truncate font-mono text-xs text-text-secondary",
|
|
146
|
+
children: n.workflow.key
|
|
152
147
|
})]
|
|
153
|
-
})
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
148
|
+
})]
|
|
149
|
+
}), /* @__PURE__ */ o("div", {
|
|
150
|
+
className: "flex shrink-0 items-center gap-icon-gap",
|
|
151
|
+
children: [n.workflow.lastExecutedAt && /* @__PURE__ */ a("span", {
|
|
152
|
+
className: "hidden text-xs text-text-secondary sm:inline",
|
|
153
|
+
children: s(new Date(n.workflow.lastExecutedAt), { addSuffix: !0 })
|
|
154
|
+
}), /* @__PURE__ */ o("div", {
|
|
155
|
+
className: `flex items-center gap-1.5 rounded-pill px-2 py-0.5 ${r.bgColor}`,
|
|
156
|
+
children: [/* @__PURE__ */ a("span", { className: `h-1.5 w-1.5 rounded-pill ${r.dotColor}` }), /* @__PURE__ */ a("span", {
|
|
157
|
+
className: `text-xs font-medium ${r.textColor}`,
|
|
158
|
+
children: r.label
|
|
164
159
|
})]
|
|
165
160
|
})]
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
}), f.map((t) => t.workflow ? /* @__PURE__ */ i(e, {
|
|
161
|
+
})]
|
|
162
|
+
}, n.id);
|
|
163
|
+
}), m.length > 0 && /* @__PURE__ */ a(n, {
|
|
164
|
+
emphasis: "bare",
|
|
165
|
+
padding: "none",
|
|
166
|
+
headingLevel: 3,
|
|
167
|
+
title: `Disabled (${m.length})`,
|
|
168
|
+
className: "mt-form-gap border-t border-[var(--color-border-subtle)] pt-form-gap",
|
|
169
|
+
headerClassName: "mb-list-gap",
|
|
170
|
+
bodyClassName: "space-y-list-gap",
|
|
171
|
+
children: m.map((t) => t.workflow ? /* @__PURE__ */ o(e, {
|
|
178
172
|
to: `/workflows/${t.workflow.id}`,
|
|
179
|
-
className: "
|
|
180
|
-
children: [/* @__PURE__ */
|
|
181
|
-
className: "flex items-center gap-
|
|
182
|
-
children: [/* @__PURE__ */
|
|
173
|
+
className: "group flex min-h-[var(--size-controlHeight-md)] items-center justify-between gap-icon-gap rounded-input bg-bg-sunken p-3 opacity-60 motion-safe:transition-colors hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
|
|
174
|
+
children: [/* @__PURE__ */ o("div", {
|
|
175
|
+
className: "flex min-w-0 items-center gap-icon-gap",
|
|
176
|
+
children: [/* @__PURE__ */ a(l, { className: "h-icon-md w-icon-md shrink-0 text-text-muted" }), /* @__PURE__ */ o("div", {
|
|
183
177
|
className: "min-w-0",
|
|
184
|
-
children: [/* @__PURE__ */
|
|
185
|
-
className: "text-sm font-medium text-text-secondary
|
|
178
|
+
children: [/* @__PURE__ */ a("p", {
|
|
179
|
+
className: "truncate text-sm font-medium text-text-secondary group-hover:text-text-primary",
|
|
186
180
|
children: t.workflow.name
|
|
187
|
-
}), /* @__PURE__ */
|
|
188
|
-
className: "text-xs text-text-
|
|
181
|
+
}), /* @__PURE__ */ a("p", {
|
|
182
|
+
className: "truncate font-mono text-xs text-text-muted",
|
|
189
183
|
children: t.workflow.key
|
|
190
184
|
})]
|
|
191
185
|
})]
|
|
192
|
-
}), /* @__PURE__ */
|
|
193
|
-
className: "text-xs text-text-
|
|
186
|
+
}), /* @__PURE__ */ a("span", {
|
|
187
|
+
className: "shrink-0 text-xs text-text-muted",
|
|
194
188
|
children: "Disabled"
|
|
195
189
|
})]
|
|
196
|
-
}, t.id) : null)
|
|
197
|
-
})
|
|
198
|
-
})
|
|
190
|
+
}, t.id) : null)
|
|
191
|
+
})]
|
|
192
|
+
}) })
|
|
199
193
|
});
|
|
200
194
|
});
|
|
201
195
|
//#endregion
|
|
202
|
-
export {
|
|
196
|
+
export { f as default };
|
|
203
197
|
|
|
204
198
|
//# sourceMappingURL=LinkedWorkflowsPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedWorkflowsPanel.js","names":[],"sources":["../../../../src/bigconsole/components/datasink/LinkedWorkflowsPanel.tsx"],"sourcesContent":["/**\n * Linked Workflows Panel\n *\n * Panel displaying workflows linked to a DataSink.\n */\n\nimport { memo } from 'react';\nimport { formatDistanceToNow } from 'date-fns';\nimport { AppLink } from '../../contexts';\nimport type { DataSinkWorkflowLink, FluidGridsWorkflowStatus } from '../../types';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\ninterface LinkedWorkflowsPanelProps {\n /** Workflow links */\n workflowLinks?: DataSinkWorkflowLink[];\n /** Whether loading */\n isLoading?: boolean;\n}\n\ninterface StatusConfig {\n label: string;\n bgColor: string;\n textColor: string;\n dotColor: string;\n}\n\n// ============================================================================\n// HELPERS\n// ============================================================================\n\n/**\n * Get status display configuration\n */\nfunction getStatusConfig(status: FluidGridsWorkflowStatus): StatusConfig {\n switch (status) {\n case 'active':\n return {\n label: 'Active',\n bgColor: 'bg-status-success-bg/10',\n textColor: 'text-status-success-text',\n dotColor: 'bg-status-success-bg',\n };\n case 'paused':\n return {\n label: 'Paused',\n bgColor: 'bg-status-warning-bg/10',\n textColor: 'text-status-warning-text',\n dotColor: 'bg-status-warning-bg',\n };\n case 'error':\n return {\n label: 'Error',\n bgColor: 'bg-status-error-bg/10',\n textColor: 'text-status-error-text',\n dotColor: 'bg-status-error-bg',\n };\n case 'archived':\n return {\n label: 'Archived',\n bgColor: 'bg-text-tertiary/10',\n textColor: 'text-text-tertiary',\n dotColor: 'bg-text-tertiary',\n };\n default:\n return {\n label: 'Draft',\n bgColor: 'bg-action-primary-bg/10',\n textColor: 'text-action-primary-bg',\n dotColor: 'bg-action-primary-bg',\n };\n }\n}\n\n// ============================================================================\n// ICONS\n// ============================================================================\n\nconst WorkflowIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={1.5} d=\"M13 10V3L4 14h7v7l9-11h-7z\" />\n </svg>\n);\n\nconst LinkIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1\"\n />\n </svg>\n);\n\nconst ChevronRightIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 5l7 7-7 7\" />\n </svg>\n);\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport const LinkedWorkflowsPanel = memo(function LinkedWorkflowsPanel({\n workflowLinks = [],\n isLoading = false,\n}: LinkedWorkflowsPanelProps) {\n const enabledLinks = workflowLinks.filter((link) => link.isEnabled);\n const disabledLinks = workflowLinks.filter((link) => !link.isEnabled);\n\n return (\n <div className=\"border border-border-default rounded-lg bg-bg-surface overflow-hidden\">\n {/* Header */}\n <div className=\"px-4 py-3 border-b border-border-default bg-bg-sunken flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n <LinkIcon className=\"w-4 h-4 text-text-secondary\" />\n <h3 className=\"text-sm font-semibold text-text-primary\">Linked Workflows</h3>\n </div>\n <span className=\"text-xs text-text-secondary\">\n {workflowLinks.length} workflow{workflowLinks.length !== 1 ? 's' : ''}\n </span>\n </div>\n\n {/* Content */}\n <div className=\"p-4\">\n {/* Loading state */}\n {isLoading ? (\n <div className=\"flex items-center justify-center py-8\">\n <svg className=\"w-6 h-6 text-text-secondary animate-spin\" fill=\"none\" viewBox=\"0 0 24 24\">\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\" />\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n </div>\n ) : workflowLinks.length === 0 ? (\n /* Empty state */\n <div className=\"text-center py-8\">\n <WorkflowIcon className=\"w-10 h-10 text-text-tertiary mx-auto mb-3\" />\n <p className=\"text-sm text-text-secondary mb-2\">No workflows linked</p>\n <p className=\"text-xs text-text-tertiary\">\n Link workflows from the Workflows page to push data to this DataSink\n </p>\n <AppLink\n to=\"/workflows\"\n className={`\n inline-flex items-center gap-1\n mt-4\n text-xs font-medium\n text-action-primary-bg\n hover:underline\n `}\n >\n Go to Workflows\n <ChevronRightIcon className=\"w-3 h-3\" />\n </AppLink>\n </div>\n ) : (\n /* Workflow list */\n <div className=\"space-y-3\">\n {/* Enabled workflows */}\n {enabledLinks.map((link) => {\n if (!link.workflow) return null;\n const statusConfig = getStatusConfig(link.workflow.status);\n return (\n <AppLink\n key={link.id}\n to={`/workflows/${link.workflow.id}`}\n className={`\n flex items-center justify-between\n p-3\n bg-bg-sunken\n rounded-md\n hover:bg-border-default\n transition-colors\n group\n `}\n >\n <div className=\"flex items-center gap-3 min-w-0\">\n <WorkflowIcon className=\"w-5 h-5 text-text-secondary flex-shrink-0\" />\n <div className=\"min-w-0\">\n <p className=\"text-sm font-medium text-text-primary truncate group-hover:text-action-primary-bg\">\n {link.workflow.name}\n </p>\n <p className=\"text-xs text-text-secondary font-mono truncate\">{link.workflow.key}</p>\n </div>\n </div>\n <div className=\"flex items-center gap-3 flex-shrink-0\">\n {link.workflow.lastExecutedAt && (\n <span className=\"text-xs text-text-secondary hidden sm:inline\">\n {formatDistanceToNow(new Date(link.workflow.lastExecutedAt), {\n addSuffix: true,\n })}\n </span>\n )}\n <div className={`flex items-center gap-1.5 px-2 py-0.5 rounded-full ${statusConfig.bgColor}`}>\n <span className={`w-1.5 h-1.5 rounded-full ${statusConfig.dotColor}`} />\n <span className={`text-xs font-medium ${statusConfig.textColor}`}>{statusConfig.label}</span>\n </div>\n </div>\n </AppLink>\n );\n })}\n\n {/* Disabled workflows */}\n {disabledLinks.length > 0 && (\n <>\n <div className=\"pt-2 mt-2 border-t border-border-muted\">\n <p className=\"text-xs text-text-tertiary mb-2\">Disabled ({disabledLinks.length})</p>\n </div>\n {disabledLinks.map((link) => {\n if (!link.workflow) return null;\n return (\n <AppLink\n key={link.id}\n to={`/workflows/${link.workflow.id}`}\n className={`\n flex items-center justify-between\n p-3\n bg-bg-sunken/50\n rounded-md\n hover:bg-bg-sunken\n transition-colors\n opacity-60\n group\n `}\n >\n <div className=\"flex items-center gap-3 min-w-0\">\n <WorkflowIcon className=\"w-5 h-5 text-text-tertiary flex-shrink-0\" />\n <div className=\"min-w-0\">\n <p className=\"text-sm font-medium text-text-secondary truncate group-hover:text-text-primary\">\n {link.workflow.name}\n </p>\n <p className=\"text-xs text-text-tertiary font-mono truncate\">{link.workflow.key}</p>\n </div>\n </div>\n <span className=\"text-xs text-text-tertiary flex-shrink-0\">Disabled</span>\n </AppLink>\n );\n })}\n </>\n )}\n </div>\n )}\n </div>\n </div>\n );\n});\n\nexport default LinkedWorkflowsPanel;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LinkedWorkflowsPanel.js","names":[],"sources":["../../../../src/bigconsole/components/datasink/LinkedWorkflowsPanel.tsx"],"sourcesContent":["/**\n * Linked Workflows Panel\n *\n * Panel displaying workflows linked to a DataSink.\n */\n\nimport { memo } from 'react';\nimport { formatDistanceToNow } from 'date-fns';\nimport { AppLink } from '../../contexts';\nimport { Section, SECTION_FOCUS_RING } from '../common';\nimport type { DataSinkWorkflowLink, FluidGridsWorkflowStatus } from '../../types';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\ninterface LinkedWorkflowsPanelProps {\n /** Workflow links */\n workflowLinks?: DataSinkWorkflowLink[];\n /** Whether loading */\n isLoading?: boolean;\n}\n\ninterface StatusConfig {\n label: string;\n bgColor: string;\n textColor: string;\n dotColor: string;\n}\n\n// ============================================================================\n// HELPERS\n// ============================================================================\n\n/**\n * Get status display configuration\n */\nfunction getStatusConfig(status: FluidGridsWorkflowStatus): StatusConfig {\n switch (status) {\n case 'active':\n return {\n label: 'Active',\n bgColor: 'bg-status-success-bg/10',\n textColor: 'text-status-success-text',\n dotColor: 'bg-status-success-bg',\n };\n case 'paused':\n return {\n label: 'Paused',\n bgColor: 'bg-status-warning-bg/10',\n textColor: 'text-[var(--color-status-warning-text)]',\n dotColor: 'bg-status-warning-bg',\n };\n case 'error':\n return {\n label: 'Error',\n bgColor: 'bg-status-error-bg/10',\n textColor: 'text-status-error-text',\n dotColor: 'bg-status-error-bg',\n };\n case 'archived':\n return {\n label: 'Archived',\n bgColor: 'bg-bg-sunken',\n textColor: 'text-text-muted',\n dotColor: 'bg-[var(--color-text-muted)]',\n };\n default:\n return {\n label: 'Draft',\n bgColor: 'bg-action-primary-bg/10',\n textColor: 'text-action-primary-bg',\n dotColor: 'bg-action-primary-bg',\n };\n }\n}\n\n// ============================================================================\n// ICONS\n// ============================================================================\n\nconst WorkflowIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={1.5} d=\"M13 10V3L4 14h7v7l9-11h-7z\" />\n </svg>\n);\n\nconst LinkIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1\"\n />\n </svg>\n);\n\nconst ChevronRightIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 5l7 7-7 7\" />\n </svg>\n);\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport const LinkedWorkflowsPanel = memo(function LinkedWorkflowsPanel({\n workflowLinks = [],\n isLoading = false,\n}: LinkedWorkflowsPanelProps) {\n const enabledLinks = workflowLinks.filter((link) => link.isEnabled);\n const disabledLinks = workflowLinks.filter((link) => !link.isEnabled);\n\n return (\n <Section\n // Level-2 peer of the detail page's other panels. `standard` (not `muted`)\n // because the rows inside are `bg-bg-sunken` — a sunken container would\n // erase them.\n headingLevel={2}\n title=\"Linked workflows\"\n description=\"FluidGrids workflows that push data into this sink.\"\n icon={<LinkIcon className=\"h-icon-sm w-icon-sm\" />}\n meta={\n <span className=\"text-xs text-text-muted\">\n {workflowLinks.length} workflow{workflowLinks.length !== 1 ? 's' : ''}\n </span>\n }\n >\n <>\n {/* Loading state */}\n {isLoading ? (\n <div className=\"flex items-center justify-center py-8\">\n <svg className=\"w-6 h-6 text-text-secondary animate-spin\" fill=\"none\" viewBox=\"0 0 24 24\">\n <circle className=\"opacity-25\" cx=\"12\" cy=\"12\" r=\"10\" stroke=\"currentColor\" strokeWidth=\"4\" />\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n />\n </svg>\n </div>\n ) : workflowLinks.length === 0 ? (\n /* Empty state */\n <div className=\"py-8 text-center\">\n <WorkflowIcon className=\"mx-auto mb-3 h-icon-lg w-icon-lg text-text-muted\" />\n <p className=\"mb-2 text-sm text-text-secondary\">No workflows linked</p>\n <p className=\"text-xs text-text-muted\">\n Link workflows from the Workflows page to push data to this data sink.\n </p>\n <AppLink\n to=\"/workflows\"\n className={`mt-4 inline-flex min-h-[var(--size-controlHeight-md)] items-center gap-1 text-xs font-medium text-text-link hover:underline ${SECTION_FOCUS_RING}`}\n >\n Go to Workflows\n <ChevronRightIcon className=\"w-3 h-3\" />\n </AppLink>\n </div>\n ) : (\n /* Workflow list */\n <div className=\"space-y-list-gap\">\n {/* Enabled workflows */}\n {enabledLinks.map((link) => {\n if (!link.workflow) return null;\n const statusConfig = getStatusConfig(link.workflow.status);\n return (\n <AppLink\n key={link.id}\n to={`/workflows/${link.workflow.id}`}\n className={`group flex min-h-[var(--size-controlHeight-md)] items-center justify-between gap-icon-gap rounded-input bg-bg-sunken p-3 motion-safe:transition-colors hover:bg-bg-elevated ${SECTION_FOCUS_RING}`}\n >\n <div className=\"flex min-w-0 items-center gap-icon-gap\">\n <WorkflowIcon className=\"h-icon-md w-icon-md shrink-0 text-text-secondary\" />\n <div className=\"min-w-0\">\n <p className=\"truncate text-sm font-medium text-text-primary group-hover:text-text-link\">\n {link.workflow.name}\n </p>\n <p className=\"truncate font-mono text-xs text-text-secondary\">{link.workflow.key}</p>\n </div>\n </div>\n <div className=\"flex shrink-0 items-center gap-icon-gap\">\n {link.workflow.lastExecutedAt && (\n <span className=\"hidden text-xs text-text-secondary sm:inline\">\n {formatDistanceToNow(new Date(link.workflow.lastExecutedAt), {\n addSuffix: true,\n })}\n </span>\n )}\n <div className={`flex items-center gap-1.5 rounded-pill px-2 py-0.5 ${statusConfig.bgColor}`}>\n <span className={`h-1.5 w-1.5 rounded-pill ${statusConfig.dotColor}`} />\n <span className={`text-xs font-medium ${statusConfig.textColor}`}>{statusConfig.label}</span>\n </div>\n </div>\n </AppLink>\n );\n })}\n\n {/* Disabled workflows — a labelled sub-group, not a bare hairline. */}\n {disabledLinks.length > 0 && (\n <Section\n emphasis=\"bare\"\n padding=\"none\"\n headingLevel={3}\n title={`Disabled (${disabledLinks.length})`}\n className=\"mt-form-gap border-t border-[var(--color-border-subtle)] pt-form-gap\"\n headerClassName=\"mb-list-gap\"\n bodyClassName=\"space-y-list-gap\"\n >\n {disabledLinks.map((link) => {\n if (!link.workflow) return null;\n return (\n <AppLink\n key={link.id}\n to={`/workflows/${link.workflow.id}`}\n className={`group flex min-h-[var(--size-controlHeight-md)] items-center justify-between gap-icon-gap rounded-input bg-bg-sunken p-3 opacity-60 motion-safe:transition-colors hover:opacity-100 ${SECTION_FOCUS_RING}`}\n >\n <div className=\"flex min-w-0 items-center gap-icon-gap\">\n <WorkflowIcon className=\"h-icon-md w-icon-md shrink-0 text-text-muted\" />\n <div className=\"min-w-0\">\n <p className=\"truncate text-sm font-medium text-text-secondary group-hover:text-text-primary\">\n {link.workflow.name}\n </p>\n <p className=\"truncate font-mono text-xs text-text-muted\">{link.workflow.key}</p>\n </div>\n </div>\n <span className=\"shrink-0 text-xs text-text-muted\">Disabled</span>\n </AppLink>\n );\n })}\n </Section>\n )}\n </div>\n )}\n </>\n </Section>\n );\n});\n\nexport default LinkedWorkflowsPanel;\n"],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import "../common/sectionStyles.js";
|
|
2
|
+
import "../common/index.js";
|
|
1
3
|
import { memo as e, useCallback as t, useEffect as n, useMemo as r, useRef as i, useState as a } from "react";
|
|
2
4
|
import { useI18n as o } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
3
5
|
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
@@ -144,16 +146,15 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
|
|
|
144
146
|
children: f("bigconsole.dataSinks.refreshType.headingDescription", "When should this data be updated?")
|
|
145
147
|
})] }),
|
|
146
148
|
/* @__PURE__ */ c("div", {
|
|
147
|
-
className: "space-y-
|
|
149
|
+
className: "space-y-list-gap",
|
|
148
150
|
children: [/* @__PURE__ */ c("label", {
|
|
149
151
|
className: `
|
|
150
|
-
flex items-start gap-3
|
|
151
|
-
|
|
152
|
-
border
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
${
|
|
156
|
-
${g === "manual" ? "border-action-primary-bg bg-action-primary-bg/5" : "border-border-default hover:border-border-hover"}
|
|
152
|
+
flex cursor-pointer items-start gap-3
|
|
153
|
+
rounded-input
|
|
154
|
+
border p-4
|
|
155
|
+
motion-safe:transition-colors
|
|
156
|
+
${u ? "cursor-not-allowed opacity-50" : ""}
|
|
157
|
+
${g === "manual" ? "border-[var(--color-action-primary-bg)] bg-bg-accentSubtle" : "border-[var(--color-border-subtle)] hover:border-[var(--color-border-strong)]"}
|
|
157
158
|
`,
|
|
158
159
|
children: [/* @__PURE__ */ s("input", {
|
|
159
160
|
type: "radio",
|
|
@@ -161,7 +162,7 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
|
|
|
161
162
|
checked: g === "manual",
|
|
162
163
|
onChange: () => D("manual"),
|
|
163
164
|
disabled: u,
|
|
164
|
-
className: "\n mt-0.5\n
|
|
165
|
+
className: "\n mt-0.5\n h-4 w-4\n border-[var(--color-border-default)]\n text-action-primary-bg\n focus-visible:ring-2\n focus-visible:ring-ring\n "
|
|
165
166
|
}), /* @__PURE__ */ c("div", {
|
|
166
167
|
className: "flex-1",
|
|
167
168
|
children: [/* @__PURE__ */ s("span", {
|
|
@@ -174,10 +175,10 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
|
|
|
174
175
|
})]
|
|
175
176
|
}), /* @__PURE__ */ c("div", {
|
|
176
177
|
className: `
|
|
177
|
-
|
|
178
|
-
transition-
|
|
178
|
+
rounded-input border
|
|
179
|
+
motion-safe:transition-colors
|
|
179
180
|
${u ? "opacity-50" : ""}
|
|
180
|
-
${g === "scheduled" ? "border-action-primary-bg bg-
|
|
181
|
+
${g === "scheduled" ? "border-[var(--color-action-primary-bg)] bg-bg-accentSubtle" : "border-[var(--color-border-subtle)]"}
|
|
181
182
|
`,
|
|
182
183
|
children: [/* @__PURE__ */ c("label", {
|
|
183
184
|
className: `
|
|
@@ -192,7 +193,7 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
|
|
|
192
193
|
checked: g === "scheduled",
|
|
193
194
|
onChange: () => D("scheduled"),
|
|
194
195
|
disabled: u,
|
|
195
|
-
className: "\n mt-0.5\n
|
|
196
|
+
className: "\n mt-0.5\n h-4 w-4\n border-[var(--color-border-default)]\n text-action-primary-bg\n focus-visible:ring-2\n focus-visible:ring-ring\n "
|
|
196
197
|
}), /* @__PURE__ */ c("div", {
|
|
197
198
|
className: "flex-1",
|
|
198
199
|
children: [/* @__PURE__ */ s("span", {
|
|
@@ -204,26 +205,28 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
|
|
|
204
205
|
})]
|
|
205
206
|
})]
|
|
206
207
|
}), g === "scheduled" && /* @__PURE__ */ c("div", {
|
|
207
|
-
className: "px-4 pb-4
|
|
208
|
+
className: "space-y-form-gap px-4 pb-4",
|
|
208
209
|
children: [
|
|
209
210
|
/* @__PURE__ */ c("div", {
|
|
210
|
-
className: "border-t border-border-
|
|
211
|
+
className: "border-t border-[var(--color-border-subtle)] pt-4",
|
|
211
212
|
children: [/* @__PURE__ */ s("label", {
|
|
212
|
-
className: "block text-xs font-medium text-text-secondary
|
|
213
|
+
className: "mb-2 block text-xs font-medium text-text-secondary",
|
|
213
214
|
children: f("bigconsole.dataSinks.refreshType.scheduleLabel", "Schedule")
|
|
214
215
|
}), /* @__PURE__ */ s("div", {
|
|
215
|
-
className: "grid grid-cols-
|
|
216
|
+
className: "grid grid-cols-1 gap-2 sm:grid-cols-2",
|
|
216
217
|
children: p.map((e) => /* @__PURE__ */ s("button", {
|
|
217
218
|
type: "button",
|
|
218
219
|
onClick: () => O(e),
|
|
219
220
|
disabled: u,
|
|
220
221
|
className: `
|
|
222
|
+
min-h-[var(--size-controlHeight-md)] rounded-input
|
|
223
|
+
border
|
|
221
224
|
px-3 py-2
|
|
222
225
|
text-left
|
|
223
|
-
|
|
224
|
-
|
|
226
|
+
motion-safe:transition-colors
|
|
227
|
+
focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface
|
|
225
228
|
${u ? "cursor-not-allowed" : "cursor-pointer"}
|
|
226
|
-
${!b && v?.cron === e.cron ? "border-action-primary-bg bg-
|
|
229
|
+
${!b && v?.cron === e.cron ? "border-[var(--color-action-primary-bg)] bg-bg-accentSubtle text-text-link" : "border-[var(--color-border-subtle)] hover:border-[var(--color-border-strong)]"}
|
|
227
230
|
`,
|
|
228
231
|
children: /* @__PURE__ */ s("span", {
|
|
229
232
|
className: "text-sm font-medium",
|
|
@@ -237,32 +240,36 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
|
|
|
237
240
|
onClick: k,
|
|
238
241
|
disabled: u,
|
|
239
242
|
className: `
|
|
240
|
-
text-xs
|
|
241
|
-
|
|
243
|
+
min-h-[var(--size-controlHeight-md)] rounded-button text-xs
|
|
244
|
+
focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface
|
|
245
|
+
${b ? "text-text-link" : "text-text-secondary hover:text-text-primary"}
|
|
242
246
|
`,
|
|
243
247
|
children: b ? f("bigconsole.dataSinks.refreshType.usingCustomSchedule", "Using custom schedule") : f("bigconsole.dataSinks.refreshType.useCustomSchedule", "Use custom schedule...")
|
|
244
248
|
}), b && /* @__PURE__ */ c("div", {
|
|
245
249
|
className: "mt-2",
|
|
246
250
|
children: [/* @__PURE__ */ s("input", {
|
|
247
251
|
type: "text",
|
|
252
|
+
"aria-label": "Custom cron expression",
|
|
248
253
|
value: S,
|
|
249
254
|
onChange: A,
|
|
250
255
|
disabled: u,
|
|
251
256
|
placeholder: "*/15 * * * *",
|
|
252
|
-
className: "\n w-full
|
|
257
|
+
className: "\n h-control-md w-full min-w-0\n rounded-input\n border border-[var(--color-border-default)]\n bg-bg-sunken\n px-3\n font-mono\n text-sm text-text-primary\n focus-visible:outline-none\n focus-visible:ring-2\n focus-visible:ring-ring\n "
|
|
253
258
|
}), /* @__PURE__ */ s("p", {
|
|
254
|
-
className: "mt-1 text-xs text-text-
|
|
259
|
+
className: "mt-1 text-xs text-text-muted",
|
|
255
260
|
children: f("bigconsole.dataSinks.refreshType.customCronHelp", "Enter a cron expression (e.g., */15 * * * * for every 15 minutes)")
|
|
256
261
|
})]
|
|
257
262
|
})] }),
|
|
258
263
|
/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("label", {
|
|
259
|
-
|
|
264
|
+
htmlFor: "refresh-timezone",
|
|
265
|
+
className: "mb-2 block text-xs font-medium text-text-secondary",
|
|
260
266
|
children: f("bigconsole.dataSinks.refreshType.timezoneLabel", "Timezone")
|
|
261
267
|
}), /* @__PURE__ */ s("select", {
|
|
268
|
+
id: "refresh-timezone",
|
|
262
269
|
value: w,
|
|
263
270
|
onChange: j,
|
|
264
271
|
disabled: u,
|
|
265
|
-
className: "\n w-full
|
|
272
|
+
className: "\n h-control-md w-full min-w-0\n rounded-input\n border border-[var(--color-border-default)]\n bg-bg-sunken\n px-3\n text-sm text-text-primary\n focus-visible:outline-none\n focus-visible:ring-2\n focus-visible:ring-ring\n ",
|
|
266
273
|
children: m.map((e) => /* @__PURE__ */ s("option", {
|
|
267
274
|
value: e.value,
|
|
268
275
|
children: e.label
|