@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.
Files changed (247) hide show
  1. package/dist/bigconsole/components/DrilldownDashboardRenderer.js +118 -106
  2. package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +1 -1
  3. package/dist/bigconsole/components/DrilldownModal.js +54 -50
  4. package/dist/bigconsole/components/DrilldownModal.js.map +1 -1
  5. package/dist/bigconsole/components/builder/BuilderCanvas.js +2 -2
  6. package/dist/bigconsole/components/builder/BuilderCanvas.js.map +1 -1
  7. package/dist/bigconsole/components/builder/BuilderTopbar.js +3 -3
  8. package/dist/bigconsole/components/builder/BuilderTopbar.js.map +1 -1
  9. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +24 -25
  10. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +1 -1
  11. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +40 -29
  12. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +1 -1
  13. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +135 -97
  14. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +1 -1
  15. package/dist/bigconsole/components/builder/inspector/GeneralSection.js +58 -44
  16. package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +1 -1
  17. package/dist/bigconsole/components/common/Section.js +70 -0
  18. package/dist/bigconsole/components/common/Section.js.map +1 -0
  19. package/dist/bigconsole/components/common/index.js +2 -0
  20. package/dist/bigconsole/components/common/sectionStyles.js +42 -0
  21. package/dist/bigconsole/components/common/sectionStyles.js.map +1 -0
  22. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +209 -193
  23. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  24. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +213 -231
  25. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
  26. package/dist/bigconsole/components/dashboard/DashboardGrid.js +12 -18
  27. package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +1 -1
  28. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +109 -102
  29. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -1
  30. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +81 -70
  31. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -1
  32. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +125 -159
  33. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +1 -1
  34. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +25 -23
  35. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -1
  36. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +3 -3
  37. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -1
  38. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +5 -3
  39. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -1
  40. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +170 -284
  41. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
  42. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +147 -151
  43. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  44. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +45 -53
  45. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +1 -1
  46. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +157 -148
  47. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -1
  48. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +17 -8
  49. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -1
  50. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -95
  51. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -1
  52. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +20 -18
  53. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +1 -1
  54. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +26 -58
  55. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +1 -1
  56. package/dist/bigconsole/components/dashboard/WidgetPalette.js +307 -231
  57. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -1
  58. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +29 -29
  59. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -1
  60. package/dist/bigconsole/components/datasink/DataSinkCard.js +78 -79
  61. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -1
  62. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +33 -34
  63. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +1 -1
  64. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +79 -56
  65. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -1
  66. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +75 -65
  67. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -1
  68. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +1 -1
  69. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +1 -1
  70. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +20 -19
  71. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +1 -1
  72. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +127 -171
  73. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +1 -1
  74. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +263 -243
  75. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
  76. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +65 -66
  77. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +1 -1
  78. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +121 -127
  79. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +1 -1
  80. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +33 -26
  81. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -1
  82. package/dist/bigconsole/components/datasink/SetupStateBadge.js +3 -3
  83. package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +1 -1
  84. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +95 -95
  85. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +1 -1
  86. package/dist/bigconsole/components/parser/DataSinkSelector.js +154 -123
  87. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -1
  88. package/dist/bigconsole/components/parser/ExpressionEditor.js +3 -3
  89. package/dist/bigconsole/components/parser/ExpressionEditor.js.map +1 -1
  90. package/dist/bigconsole/components/parser/ImportParserDialog.js +235 -275
  91. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  92. package/dist/bigconsole/components/parser/ParserCard.js +133 -114
  93. package/dist/bigconsole/components/parser/ParserCard.js.map +1 -1
  94. package/dist/bigconsole/components/parser/ParserSelector.js +191 -174
  95. package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -1
  96. package/dist/bigconsole/components/parser/ParserStatusBadge.js +2 -2
  97. package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +1 -1
  98. package/dist/bigconsole/components/parser/ParserTypeBadge.js +4 -4
  99. package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +1 -1
  100. package/dist/bigconsole/components/pipeline/PipelineCard.js +134 -89
  101. package/dist/bigconsole/components/pipeline/PipelineCard.js.map +1 -1
  102. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +77 -64
  103. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +1 -1
  104. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +7 -10
  105. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +1 -1
  106. package/dist/bigconsole/components/preview/AiPreviewContent.js +31 -32
  107. package/dist/bigconsole/components/preview/AiPreviewContent.js.map +1 -1
  108. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +152 -106
  109. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -1
  110. package/dist/bigconsole/components/preview/AiPreviewPanel.js +193 -152
  111. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -1
  112. package/dist/bigconsole/components/preview/previewShared.js +41 -23
  113. package/dist/bigconsole/components/preview/previewShared.js.map +1 -1
  114. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +342 -308
  115. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
  116. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +262 -238
  117. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
  118. package/dist/bigconsole/components/widgets/PropertiesPanel.js +783 -867
  119. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  120. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +7 -5
  121. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +1 -1
  122. package/dist/bigconsole/components/widgets/WidgetHeader.js +7 -8
  123. package/dist/bigconsole/components/widgets/WidgetHeader.js.map +1 -1
  124. package/dist/bigconsole/components/widgets/WidgetRegistry.js +4 -4
  125. package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +1 -1
  126. package/dist/bigconsole/components/widgets/WidgetWrapper.js +8 -7
  127. package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +1 -1
  128. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +1 -1
  129. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +1 -1
  130. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +2 -2
  131. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -1
  132. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +11 -5
  133. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -1
  134. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +19 -15
  135. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +1 -1
  136. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +154 -102
  137. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -1
  138. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +36 -32
  139. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +1 -1
  140. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +85 -60
  141. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -1
  142. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +64 -35
  143. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +1 -1
  144. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +46 -45
  145. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +1 -1
  146. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +35 -24
  147. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +1 -1
  148. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +2 -2
  149. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +1 -1
  150. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
  151. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -1
  152. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +153 -90
  153. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +1 -1
  154. package/dist/bigconsole/components/widgets/list/ListConfig.js +8 -2
  155. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -1
  156. package/dist/bigconsole/components/widgets/list/ListItem.js +1 -1
  157. package/dist/bigconsole/components/widgets/list/ListItem.js.map +1 -1
  158. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +1 -1
  159. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +1 -1
  160. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +14 -4
  161. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -1
  162. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +112 -89
  163. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +1 -1
  164. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +21 -13
  165. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -1
  166. package/dist/bigconsole/components/widgets/metric-card/index.js +4 -4
  167. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +3 -3
  168. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -1
  169. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +34 -25
  170. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +1 -1
  171. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +129 -114
  172. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +1 -1
  173. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +3 -3
  174. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +1 -1
  175. package/dist/bigconsole/components/widgets/states/EmptyState.js +6 -4
  176. package/dist/bigconsole/components/widgets/states/EmptyState.js.map +1 -1
  177. package/dist/bigconsole/components/widgets/states/ErrorState.js +7 -5
  178. package/dist/bigconsole/components/widgets/states/ErrorState.js.map +1 -1
  179. package/dist/bigconsole/components/widgets/states/LoadingState.js +5 -4
  180. package/dist/bigconsole/components/widgets/states/LoadingState.js.map +1 -1
  181. package/dist/bigconsole/components/widgets/table/TableConfig.js +10 -4
  182. package/dist/bigconsole/components/widgets/table/TableConfig.js.map +1 -1
  183. package/dist/bigconsole/components/widgets/table/TableHeader.js +1 -1
  184. package/dist/bigconsole/components/widgets/table/TableHeader.js.map +1 -1
  185. package/dist/bigconsole/components/widgets/table/TableWidget.js +1 -1
  186. package/dist/bigconsole/components/widgets/table/TableWidget.js.map +1 -1
  187. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +1 -1
  188. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +1 -1
  189. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +3 -3
  190. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +1 -1
  191. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +2 -2
  192. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +1 -1
  193. package/dist/bigconsole/components/widgets/utils/targetProgress.js +13 -0
  194. package/dist/bigconsole/components/widgets/utils/targetProgress.js.map +1 -0
  195. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +112 -85
  196. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -1
  197. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +28 -20
  198. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -1
  199. package/dist/bigconsole/components/workflow/WorkflowCard.js +92 -77
  200. package/dist/bigconsole/components/workflow/WorkflowCard.js.map +1 -1
  201. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +70 -51
  202. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +1 -1
  203. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +16 -17
  204. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +1 -1
  205. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +6 -4
  206. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -1
  207. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +360 -338
  208. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  209. package/dist/bigconsole/hooks/useModalFocusTrap.js +53 -0
  210. package/dist/bigconsole/hooks/useModalFocusTrap.js.map +1 -0
  211. package/dist/bigconsole/pages/DashboardBuilderPage.js +209 -203
  212. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  213. package/dist/bigconsole/pages/DashboardViewPage.js +126 -120
  214. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  215. package/dist/bigconsole/pages/DashboardsPage.js +838 -800
  216. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  217. package/dist/bigconsole/pages/DataParsersPage.js +263 -315
  218. package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
  219. package/dist/bigconsole/pages/DataSinkBuilderPage.js +301 -341
  220. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  221. package/dist/bigconsole/pages/DataSinkViewPage.js +346 -339
  222. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  223. package/dist/bigconsole/pages/DataSinksPage.js +356 -458
  224. package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
  225. package/dist/bigconsole/pages/DataSourcesPage.js +7 -2
  226. package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -1
  227. package/dist/bigconsole/pages/HomePage.js +186 -193
  228. package/dist/bigconsole/pages/HomePage.js.map +1 -1
  229. package/dist/bigconsole/pages/InsightsPage.js +887 -740
  230. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  231. package/dist/bigconsole/pages/ParserBuilderPage.js +679 -637
  232. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  233. package/dist/bigconsole/pages/ParserViewPage.js +368 -342
  234. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
  235. package/dist/bigconsole/pages/PipelineBuilderPage.js +537 -444
  236. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  237. package/dist/bigconsole/pages/PipelineViewPage.js +412 -377
  238. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  239. package/dist/bigconsole/pages/PipelinesPage.js +248 -298
  240. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  241. package/dist/bigconsole/pages/WidgetDemoPage.js +251 -153
  242. package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -1
  243. package/dist/bigconsole/pages/WorkflowViewPage.js +381 -371
  244. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  245. package/dist/bigconsole/pages/WorkflowsPage.js +171 -286
  246. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  247. package/package.json +1 -1
@@ -1,511 +1,546 @@
1
1
  import { usePipelineStore as e } from "../store/pipelineStore.js";
2
2
  import { useAppNavigate as t } from "../contexts/NavigationContext.js";
3
3
  import "../contexts/index.js";
4
- import n from "../hooks/usePipelineOperations.js";
5
- import { BIGCONSOLE_PERMISSIONS as r } from "../../constants/permissions.js";
6
- import { isNative as i, nativeNotify as a } from "../../utils/nativeBridge.js";
7
- import o from "../components/pipeline/PipelineStatusBadge.js";
8
- import ee from "../components/pipeline/PipelineDeleteDialog.js";
9
- import { memo as s, useCallback as c, useEffect as l, useState as u } from "react";
10
- import { useParams as te, useSearchParams as ne } from "react-router";
11
- import { AccessDenied as d } from "@burdenoff/fe-libs/shared/components";
12
- import { usePermissions as f } from "@burdenoff/fe-libs/shared/providers/shell";
13
- import { useI18n as p } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
14
- import { GlassCard as m, IllustratedEmptyState as h, NextSteps as g, PagePurpose as re } from "@burdenoff/fe-libs/ui";
15
- import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
4
+ import { SECTION_FOCUS_RING as n } from "../components/common/sectionStyles.js";
5
+ import { Section as r, SectionStack as i } from "../components/common/Section.js";
6
+ import "../components/common/index.js";
7
+ import ee from "../hooks/usePipelineOperations.js";
8
+ import { BIGCONSOLE_PERMISSIONS as a } from "../../constants/permissions.js";
9
+ import { isNative as o, nativeNotify as s } from "../../utils/nativeBridge.js";
10
+ import c from "../components/pipeline/PipelineStatusBadge.js";
11
+ import te from "../components/pipeline/PipelineDeleteDialog.js";
12
+ import { memo as l, useCallback as u, useEffect as ne, useId as re, useState as d } from "react";
13
+ import { useParams as ie, useSearchParams as ae } from "react-router";
14
+ import { AccessDenied as f } from "@burdenoff/fe-libs/shared/components";
15
+ import { usePermissions as p } from "@burdenoff/fe-libs/shared/providers/shell";
16
+ import { useI18n as m } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
17
+ import { Button as h, IllustratedEmptyState as oe, NextSteps as se, PagePurpose as ce, Spinner as le } from "@burdenoff/fe-libs/ui";
18
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
16
19
  //#region src/bigconsole/pages/PipelineViewPage.tsx
17
- var b = ({ className: e }) => /* @__PURE__ */ v("svg", {
20
+ var v = "min-h-[var(--size-controlHeight-md)]", ue = "rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary", y = "rounded-button bg-bg-surface px-1.5 py-0.5 font-mono break-all text-text-primary", b = ({ className: e }) => /* @__PURE__ */ g("svg", {
18
21
  className: e,
19
22
  fill: "none",
20
23
  stroke: "currentColor",
21
24
  viewBox: "0 0 24 24",
22
- children: /* @__PURE__ */ v("path", {
25
+ children: /* @__PURE__ */ g("path", {
23
26
  strokeLinecap: "round",
24
27
  strokeLinejoin: "round",
25
28
  strokeWidth: 2,
26
29
  d: "M10 19l-7-7m0 0l7-7m-7 7h18"
27
30
  })
28
- }), x = ({ className: e }) => /* @__PURE__ */ v("svg", {
31
+ }), x = ({ className: e }) => /* @__PURE__ */ g("svg", {
29
32
  className: e,
30
33
  fill: "none",
31
34
  stroke: "currentColor",
32
35
  viewBox: "0 0 24 24",
33
- children: /* @__PURE__ */ v("path", {
36
+ children: /* @__PURE__ */ g("path", {
34
37
  strokeLinecap: "round",
35
38
  strokeLinejoin: "round",
36
39
  strokeWidth: 2,
37
40
  d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"
38
41
  })
39
- }), S = ({ className: e }) => /* @__PURE__ */ v("svg", {
42
+ }), S = ({ className: e }) => /* @__PURE__ */ g("svg", {
40
43
  className: e,
41
44
  fill: "none",
42
45
  stroke: "currentColor",
43
46
  viewBox: "0 0 24 24",
44
- children: /* @__PURE__ */ v("path", {
47
+ children: /* @__PURE__ */ g("path", {
45
48
  strokeLinecap: "round",
46
49
  strokeLinejoin: "round",
47
50
  strokeWidth: 2,
48
51
  d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
49
52
  })
50
- }), C = ({ className: e }) => /* @__PURE__ */ y("svg", {
53
+ }), C = ({ className: e }) => /* @__PURE__ */ _("svg", {
51
54
  className: e,
52
55
  fill: "none",
53
56
  stroke: "currentColor",
54
57
  viewBox: "0 0 24 24",
55
- children: [/* @__PURE__ */ v("path", {
58
+ children: [/* @__PURE__ */ g("path", {
56
59
  strokeLinecap: "round",
57
60
  strokeLinejoin: "round",
58
61
  strokeWidth: 2,
59
62
  d: "M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"
60
- }), /* @__PURE__ */ v("path", {
63
+ }), /* @__PURE__ */ g("path", {
61
64
  strokeLinecap: "round",
62
65
  strokeLinejoin: "round",
63
66
  strokeWidth: 2,
64
67
  d: "M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
65
68
  })]
66
- }), w = ({ className: e }) => /* @__PURE__ */ v("svg", {
69
+ }), w = ({ className: e }) => /* @__PURE__ */ g("svg", {
67
70
  className: e,
68
71
  fill: "none",
69
72
  stroke: "currentColor",
70
73
  viewBox: "0 0 24 24",
71
- children: /* @__PURE__ */ v("path", {
74
+ children: /* @__PURE__ */ g("path", {
72
75
  strokeLinecap: "round",
73
76
  strokeLinejoin: "round",
74
77
  strokeWidth: 2,
75
78
  d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
76
79
  })
77
- }), T = ({ className: e }) => /* @__PURE__ */ v("svg", {
80
+ }), de = ({ className: e }) => /* @__PURE__ */ g("svg", {
78
81
  className: e,
79
82
  fill: "none",
80
83
  stroke: "currentColor",
81
84
  viewBox: "0 0 24 24",
82
- children: /* @__PURE__ */ v("path", {
85
+ children: /* @__PURE__ */ g("path", {
83
86
  strokeLinecap: "round",
84
87
  strokeLinejoin: "round",
85
88
  strokeWidth: 2,
86
89
  d: "M5 13l4 4L19 7"
87
90
  })
88
- }), E = ({ className: e }) => /* @__PURE__ */ v("svg", {
91
+ }), T = ({ className: e }) => /* @__PURE__ */ g("svg", {
89
92
  className: e,
90
93
  fill: "none",
91
94
  stroke: "currentColor",
92
95
  viewBox: "0 0 24 24",
93
- children: /* @__PURE__ */ v("path", {
96
+ children: /* @__PURE__ */ g("path", {
94
97
  strokeLinecap: "round",
95
98
  strokeLinejoin: "round",
96
99
  strokeWidth: 2,
97
100
  d: "M14 5l7 7m0 0l-7 7m7-7H3"
98
101
  })
99
- }), D = ({ handling: e }) => {
100
- let { t } = p(), n = {
102
+ }), E = ({ handling: e }) => {
103
+ let { t } = m(), n = {
101
104
  fail: {
102
105
  label: t("bigconsole.pipelines.view.errorHandlingFail", "Fail"),
103
- className: "bg-status-error-bg/10 text-status-error-text"
106
+ className: "bg-[var(--color-status-error-bgSubtle)] text-status-error-text border-[var(--color-status-error-border)]"
104
107
  },
105
108
  skip: {
106
109
  label: t("bigconsole.pipelines.view.errorHandlingSkip", "Skip"),
107
- className: "bg-status-warning-bg/10 text-status-warning-text"
110
+ className: "bg-[var(--color-status-warning-bgSubtle)] text-[var(--color-status-warning-text)] border-[var(--color-status-warning-border)]"
108
111
  },
109
112
  fallback: {
110
113
  label: t("bigconsole.pipelines.view.errorHandlingFallback", "Fallback"),
111
- className: "bg-action-primary-bg/10 text-action-primary-bg"
114
+ className: "bg-[var(--color-status-info-bgSubtle)] text-[var(--color-status-info-text)] border-[var(--color-status-info-border)]"
112
115
  }
113
116
  }, r = n[e] || n.fail;
114
- return /* @__PURE__ */ v("span", {
115
- className: `px-1.5 py-0.5 text-xs font-medium rounded ${r.className}`,
116
- children: r.label
117
+ return /* @__PURE__ */ _("span", {
118
+ className: `inline-flex items-center gap-1 whitespace-nowrap rounded-pill border px-2 py-0.5 text-xs font-medium ${r.className}`,
119
+ children: [/* @__PURE__ */ g("span", {
120
+ className: "font-normal opacity-80",
121
+ children: "On error"
122
+ }), r.label]
117
123
  });
118
- }, O = s(function() {
119
- let { pipelineId: s } = te(), O = t(), { t: k } = p(), A = "default", [ie] = ne(), { hasPermission: j, isLoading: ae } = f(), M = j(r.PIPELINE_READ), N = j(r.PIPELINE_UPDATE), P = j(r.PIPELINE_DELETE), F = j(r.PIPELINE_TEST), [I, L] = u(null), [R, z] = u("{\n \"data\": \"sample\"\n}"), [B, V] = u(null), [H, U] = u(ie.get("test") === "true"), W = e((e) => e.deleteDialogOpen), G = e((e) => e.openDeleteDialog), K = e((e) => e.closeDeleteDialog), { loading: q, error: J, fetchPipeline: Y, deletePipeline: X, testPipeline: Z } = n({
120
- consoleId: A,
124
+ }, D = l(function() {
125
+ let { pipelineId: l } = ie(), D = t(), { t: O } = m(), k = "default", [fe] = ae(), A = re(), { hasPermission: j, isLoading: pe } = p(), M = j(a.PIPELINE_READ), N = j(a.PIPELINE_UPDATE), P = j(a.PIPELINE_DELETE), F = j(a.PIPELINE_TEST), [I, L] = d(null), [R, z] = d("{\n \"data\": \"sample\"\n}"), [B, me] = d(null), [V, H] = d(fe.get("test") === "true"), he = e((e) => e.deleteDialogOpen), U = e((e) => e.openDeleteDialog), W = e((e) => e.closeDeleteDialog), { loading: G, error: K, fetchPipeline: q, deletePipeline: J, testPipeline: Y } = ee({
126
+ consoleId: k,
121
127
  skipFetch: !0
122
128
  });
123
- l(() => {
124
- s && Y(s).then((e) => {
129
+ ne(() => {
130
+ l && q(l).then((e) => {
125
131
  e && L(e);
126
132
  });
127
- }, [s, Y]);
128
- let Q = c(() => {
129
- O("/pipelines");
130
- }, [O]), $ = c(() => {
131
- O(`/pipelines/${s}/edit`);
132
- }, [O, s]), oe = c(() => {
133
- I && G(I);
134
- }, [I, G]), se = c(async () => {
135
- I && (await X(I.id) ? (i() && a("success"), K(), O("/pipelines")) : i() && a("error"));
133
+ }, [l, q]);
134
+ let X = u(() => {
135
+ D("/pipelines");
136
+ }, [D]), Z = u(() => {
137
+ D(`/pipelines/${l}/edit`);
138
+ }, [D, l]), ge = u(() => {
139
+ I && U(I);
140
+ }, [I, U]), _e = u(async () => {
141
+ I && (await J(I.id) ? (o() && s("success"), W(), D("/pipelines")) : o() && s("error"));
136
142
  }, [
137
143
  I,
138
- X,
139
- K,
140
- O
141
- ]), ce = c((e) => {
142
- O(`/dashboards/${A}/parsers/${e}`);
143
- }, [O, A]), le = c(async () => {
144
+ J,
145
+ W,
146
+ D
147
+ ]), ve = u((e) => {
148
+ D(`/dashboards/${k}/parsers/${e}`);
149
+ }, [D, k]), ye = u(async () => {
144
150
  if (I) try {
145
- let e = await Z({
151
+ let e = await Y({
146
152
  pipelineId: I.id,
147
153
  inputData: R
148
154
  });
149
- e && V(e);
155
+ e && me(e);
150
156
  } catch {}
151
157
  }, [
152
158
  I,
153
- Z,
159
+ Y,
154
160
  R
155
161
  ]);
156
- return q && !I ? /* @__PURE__ */ v("div", {
157
- className: "p-6",
158
- children: /* @__PURE__ */ y("div", {
162
+ if (G && !I) return /* @__PURE__ */ g("div", {
163
+ className: "p-card-padding",
164
+ children: /* @__PURE__ */ _("div", {
159
165
  className: "flex flex-col items-center justify-center py-16",
160
- children: [/* @__PURE__ */ y("svg", {
161
- className: "w-8 h-8 text-action-primary-bg animate-spin mb-4",
162
- fill: "none",
163
- viewBox: "0 0 24 24",
164
- children: [/* @__PURE__ */ v("circle", {
165
- className: "opacity-25",
166
- cx: "12",
167
- cy: "12",
168
- r: "10",
169
- stroke: "currentColor",
170
- strokeWidth: "4"
171
- }), /* @__PURE__ */ v("path", {
172
- className: "opacity-75",
173
- fill: "currentColor",
174
- 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"
175
- })]
176
- }), /* @__PURE__ */ v("p", {
177
- className: "text-sm text-text-secondary",
178
- children: k("bigconsole.pipelines.view.loading", "Loading Pipeline...")
166
+ role: "status",
167
+ children: [/* @__PURE__ */ g(le, { style: {
168
+ height: "var(--size-icon-xl)",
169
+ width: "var(--size-icon-xl)"
170
+ } }), /* @__PURE__ */ g("p", {
171
+ className: "mt-form-gap text-sm text-text-secondary",
172
+ children: O("bigconsole.pipelines.view.loading", "Loading Pipeline...")
179
173
  })]
180
174
  })
181
- }) : !ae && !M ? /* @__PURE__ */ v(d, {
182
- title: k("bigconsole.pipelines.errors.accessDeniedTitle", "Access Denied"),
183
- description: k("bigconsole.pipelines.errors.accessDeniedViewDescription", "You don't have permission to view this pipeline.")
184
- }) : J ? /* @__PURE__ */ v("div", {
185
- className: "p-6",
186
- children: /* @__PURE__ */ y("div", {
187
- className: "flex flex-col items-center justify-center py-16 text-center",
188
- children: [
189
- /* @__PURE__ */ v("div", {
190
- className: "p-3 rounded-full bg-status-error-bg/10 mb-4",
191
- children: /* @__PURE__ */ v(w, { className: "w-8 h-8 text-status-error-text" })
192
- }),
193
- /* @__PURE__ */ v("h3", {
194
- className: "text-lg font-medium text-text-primary mb-2",
195
- children: k("bigconsole.pipelines.view.loadError", "Failed to load Pipeline")
196
- }),
197
- /* @__PURE__ */ v("p", {
198
- className: "text-sm text-text-secondary mb-4",
199
- children: J.message
200
- }),
201
- /* @__PURE__ */ v("button", {
202
- type: "button",
203
- onClick: Q,
204
- className: "px-4 py-2 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md transition-colors",
205
- children: k("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")
206
- })
207
- ]
175
+ });
176
+ if (!pe && !M) return /* @__PURE__ */ g(f, {
177
+ title: O("bigconsole.pipelines.errors.accessDeniedTitle", "Access Denied"),
178
+ description: O("bigconsole.pipelines.errors.accessDeniedViewDescription", "You don't have permission to view this pipeline.")
179
+ });
180
+ if (K) return /* @__PURE__ */ g("div", {
181
+ className: "p-card-padding",
182
+ children: /* @__PURE__ */ g(r, {
183
+ tone: "danger",
184
+ headingLevel: 2,
185
+ title: O("bigconsole.pipelines.view.loadError", "Failed to load Pipeline"),
186
+ description: K.message,
187
+ icon: /* @__PURE__ */ g(w, { className: "h-icon-sm w-icon-sm" }),
188
+ actions: /* @__PURE__ */ g(h, {
189
+ onClick: X,
190
+ className: v,
191
+ children: O("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")
192
+ }),
193
+ "data-testid": "pipeline-view-error",
194
+ children: /* @__PURE__ */ g("p", {
195
+ className: "text-sm text-text-secondary",
196
+ children: "The pipeline could not be read from the console service. Nothing was changed."
197
+ })
198
+ })
199
+ });
200
+ if (!I) return /* @__PURE__ */ g("div", {
201
+ className: "p-card-padding",
202
+ children: /* @__PURE__ */ g(r, {
203
+ tone: "warning",
204
+ headingLevel: 2,
205
+ title: O("bigconsole.pipelines.view.notFoundTitle", "Pipeline not found"),
206
+ description: O("bigconsole.pipelines.view.notFoundDescription", "The pipeline you're looking for doesn't exist or has been deleted."),
207
+ icon: /* @__PURE__ */ g(w, { className: "h-icon-sm w-icon-sm" }),
208
+ actions: /* @__PURE__ */ g(h, {
209
+ onClick: X,
210
+ className: v,
211
+ children: O("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")
212
+ }),
213
+ "data-testid": "pipeline-not-found"
208
214
  })
209
- }) : I ? /* @__PURE__ */ y("div", {
210
- className: "p-6",
211
- children: [
212
- /* @__PURE__ */ y("div", {
213
- className: "flex items-center justify-between mb-6",
214
- children: [/* @__PURE__ */ y("div", {
215
- className: "flex items-center gap-4",
216
- children: [/* @__PURE__ */ v("button", {
217
- type: "button",
218
- onClick: Q,
219
- className: "p-2 text-text-secondary hover:text-text-primary hover:bg-bg-sunken rounded-md transition-colors",
220
- children: /* @__PURE__ */ v(b, { className: "w-5 h-5" })
221
- }), /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ y("div", {
222
- className: "flex items-center gap-3",
223
- children: [/* @__PURE__ */ v("h1", {
224
- className: "text-2xl font-bold text-text-primary",
225
- children: I.name
226
- }), /* @__PURE__ */ v(o, { status: I.status })]
227
- }), I.description && /* @__PURE__ */ v("p", {
228
- className: "text-sm text-text-secondary mt-1",
229
- children: I.description
230
- })] })]
231
- }), /* @__PURE__ */ y("div", {
232
- className: "flex items-center gap-2",
215
+ });
216
+ let Q = I.stages?.length ?? 0, $ = B?.status === "completed", be = /* @__PURE__ */ g(r, {
217
+ emphasis: V ? "standard" : "primary",
218
+ headingLevel: 2,
219
+ title: O("bigconsole.pipelines.view.stagesHeading", "Pipeline Stages ({{count}})", { count: Q }),
220
+ description: "Data flows top to bottom — each stage reads its input key and writes an output key for the next one.",
221
+ "data-testid": "pipeline-stages",
222
+ children: Q === 0 ? /* @__PURE__ */ g(oe, {
223
+ illustration: "empty-generic",
224
+ title: O("bigconsole.pipelines.view.noStagesTitle", "No stages defined"),
225
+ description: O("bigconsole.pipelines.view.noStagesDescription", "Edit the pipeline to add parser stages."),
226
+ action: /* @__PURE__ */ _(h, {
227
+ variant: "secondary",
228
+ onClick: Z,
229
+ disabled: !N,
230
+ className: v,
231
+ children: [/* @__PURE__ */ g(x, { className: "h-icon-sm w-icon-sm" }), O("bigconsole.pipelines.actions.edit", "Edit")]
232
+ })
233
+ }) : /* @__PURE__ */ g("ol", {
234
+ className: "flex flex-col",
235
+ children: (I.stages ?? []).map((e, t) => /* @__PURE__ */ _("li", {
236
+ className: "flex min-w-0 flex-col",
237
+ children: [/* @__PURE__ */ _("div", {
238
+ "data-testid": "pipeline-stage",
239
+ "data-enabled": e.enabled,
240
+ className: `min-w-0 rounded-card border bg-bg-sunken p-4 ${e.enabled ? "border-[var(--color-border-subtle)]" : "border-dashed border-[var(--color-border-strong)]"}`,
233
241
  children: [
234
- /* @__PURE__ */ y("button", {
242
+ /* @__PURE__ */ _("div", {
243
+ className: "flex flex-wrap items-center justify-between gap-control-gap",
244
+ children: [/* @__PURE__ */ _("div", {
245
+ className: "flex min-w-0 flex-wrap items-center gap-icon-gap",
246
+ children: [
247
+ /* @__PURE__ */ g("span", {
248
+ "aria-hidden": "true",
249
+ className: "flex h-6 w-6 shrink-0 items-center justify-center rounded-pill bg-bg-surface text-xs font-semibold text-text-secondary",
250
+ children: t + 1
251
+ }),
252
+ /* @__PURE__ */ g("h3", {
253
+ className: "min-w-0 truncate text-sm font-semibold text-text-primary",
254
+ children: e.parserName || O("bigconsole.pipelines.view.stageFallbackName", "Stage {{number}}", { number: t + 1 })
255
+ }),
256
+ e.parserType && /* @__PURE__ */ g("span", {
257
+ className: "rounded-pill bg-bg-surface px-2 py-0.5 text-xs font-medium text-text-secondary",
258
+ children: e.parserType.toUpperCase()
259
+ })
260
+ ]
261
+ }), /* @__PURE__ */ _("div", {
262
+ className: "flex flex-wrap items-center gap-icon-gap",
263
+ children: [/* @__PURE__ */ g(E, { handling: e.onError }), !e.enabled && /* @__PURE__ */ g("span", {
264
+ className: "rounded-pill border border-[var(--color-border-strong)] px-2 py-0.5 text-xs font-medium text-text-secondary",
265
+ children: O("bigconsole.pipelines.view.stageDisabled", "Disabled")
266
+ })]
267
+ })]
268
+ }),
269
+ /* @__PURE__ */ _("div", {
270
+ className: "mt-2 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-text-secondary",
271
+ children: [
272
+ /* @__PURE__ */ g("span", {
273
+ className: "text-text-muted",
274
+ children: "Reads"
275
+ }),
276
+ /* @__PURE__ */ g("code", {
277
+ className: y,
278
+ children: e.inputKey
279
+ }),
280
+ /* @__PURE__ */ g(T, { className: "h-3 w-3 shrink-0" }),
281
+ /* @__PURE__ */ g("span", {
282
+ className: "text-text-muted",
283
+ children: "writes"
284
+ }),
285
+ /* @__PURE__ */ g("code", {
286
+ className: y,
287
+ children: e.outputKey
288
+ })
289
+ ]
290
+ }),
291
+ e.description && /* @__PURE__ */ g("p", {
292
+ className: "mt-2 text-xs text-text-secondary",
293
+ children: e.description
294
+ }),
295
+ e.parserId && /* @__PURE__ */ g("button", {
235
296
  type: "button",
236
- onClick: () => U(!H),
297
+ onClick: () => ve(e.parserId),
298
+ className: "mt-2 rounded-button text-xs 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",
299
+ children: O("bigconsole.pipelines.view.viewParser", "View Parser")
300
+ })
301
+ ]
302
+ }), t < Q - 1 && /* @__PURE__ */ g("span", {
303
+ "aria-hidden": "true",
304
+ className: "flex justify-center py-1",
305
+ children: /* @__PURE__ */ g(T, { className: "h-icon-sm w-icon-sm rotate-90 text-text-muted" })
306
+ })]
307
+ }, e.id))
308
+ })
309
+ }), xe = V ? /* @__PURE__ */ g(r, {
310
+ id: "pipeline-test-panel",
311
+ emphasis: "primary",
312
+ headingLevel: 2,
313
+ title: O("bigconsole.pipelines.view.testPanelHeading", "Test Pipeline"),
314
+ description: "Run sample input through every enabled stage. Nothing is written to the connected sink.",
315
+ actions: /* @__PURE__ */ _(h, {
316
+ onClick: ye,
317
+ disabled: G || !F,
318
+ className: v,
319
+ children: [/* @__PURE__ */ g(C, { className: "h-icon-sm w-icon-sm" }), G ? O("bigconsole.pipelines.view.testRunning", "Running...") : O("bigconsole.pipelines.view.runTest", "Run Test")]
320
+ }),
321
+ "data-testid": "pipeline-test-panel",
322
+ children: /* @__PURE__ */ _("div", {
323
+ className: "flex flex-col gap-form-gap",
324
+ children: [/* @__PURE__ */ _("div", {
325
+ className: "min-w-0",
326
+ children: [/* @__PURE__ */ g("label", {
327
+ htmlFor: A,
328
+ className: "mb-1 block text-sm font-medium text-text-primary",
329
+ children: O("bigconsole.pipelines.view.inputJsonLabel", "Input JSON")
330
+ }), /* @__PURE__ */ g("textarea", {
331
+ id: A,
332
+ value: R,
333
+ onChange: (e) => z(e.target.value),
334
+ spellCheck: !1,
335
+ className: `min-h-32 w-full resize-y rounded-input border border-[var(--color-border-subtle)] bg-bg-canvas px-3 py-2 font-mono text-sm text-text-primary ${n}`,
336
+ placeholder: "{\"key\": \"value\"}"
337
+ })]
338
+ }), B && /* @__PURE__ */ g(r, {
339
+ tone: $ ? "success" : "danger",
340
+ headingLevel: 3,
341
+ title: $ ? O("bigconsole.pipelines.view.testPassed", "Test Passed") : O("bigconsole.pipelines.view.testFailed", "Test Failed"),
342
+ icon: g($ ? de : w, { className: "h-icon-sm w-icon-sm" }),
343
+ meta: B.totalExecutionTimeMs ? /* @__PURE__ */ _("span", {
344
+ className: ue,
345
+ children: [B.totalExecutionTimeMs, "ms"]
346
+ }) : null,
347
+ "data-testid": "pipeline-test-result",
348
+ children: /* @__PURE__ */ _("div", {
349
+ className: "flex flex-col gap-form-gap",
350
+ children: [/* @__PURE__ */ _("div", {
351
+ className: "min-w-0",
352
+ children: [/* @__PURE__ */ g("h4", {
353
+ className: "mb-1 text-sm font-medium text-text-primary",
354
+ children: O("bigconsole.pipelines.view.outputLabel", "Output")
355
+ }), /* @__PURE__ */ g("pre", {
356
+ className: "max-h-64 w-full overflow-auto rounded-input border border-[var(--color-border-subtle)] bg-bg-canvas p-3 font-mono text-xs text-text-primary",
357
+ children: JSON.stringify(B.outputData, null, 2) || "null"
358
+ })]
359
+ }), B.error && /* @__PURE__ */ _("div", {
360
+ className: "min-w-0",
361
+ children: [/* @__PURE__ */ g("h4", {
362
+ className: "mb-1 text-sm font-medium text-status-error-text",
363
+ children: O("bigconsole.pipelines.view.errorLabel", "Error")
364
+ }), /* @__PURE__ */ g("pre", {
365
+ className: "max-h-64 w-full overflow-auto rounded-input border border-[var(--color-status-error-border)] bg-[var(--color-status-error-bgSubtle)] p-3 font-mono text-xs text-status-error-text",
366
+ children: B.error
367
+ })]
368
+ })]
369
+ })
370
+ })]
371
+ })
372
+ }) : null;
373
+ return /* @__PURE__ */ _("div", {
374
+ className: "p-card-padding",
375
+ children: [/* @__PURE__ */ _(i, { children: [
376
+ /* @__PURE__ */ _("header", {
377
+ className: "flex flex-col gap-form-gap sm:flex-row sm:items-start sm:justify-between",
378
+ children: [/* @__PURE__ */ _("div", {
379
+ className: "flex min-w-0 flex-col gap-control-gap",
380
+ children: [
381
+ /* @__PURE__ */ _(h, {
382
+ variant: "ghost",
383
+ size: "sm",
384
+ onClick: X,
385
+ className: "w-fit",
386
+ children: [/* @__PURE__ */ g(b, { className: "h-icon-sm w-icon-sm" }), O("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")]
387
+ }),
388
+ /* @__PURE__ */ _("div", {
389
+ className: "flex flex-wrap items-center gap-icon-gap",
390
+ children: [/* @__PURE__ */ g("h1", {
391
+ className: "min-w-0 break-words text-2xl font-bold leading-tight text-text-primary",
392
+ children: I.name
393
+ }), /* @__PURE__ */ g(c, { status: I.status })]
394
+ }),
395
+ I.description && /* @__PURE__ */ g("p", {
396
+ className: "text-sm text-text-secondary",
397
+ children: I.description
398
+ })
399
+ ]
400
+ }), /* @__PURE__ */ _("div", {
401
+ className: "flex flex-wrap items-center gap-control-gap",
402
+ children: [
403
+ /* @__PURE__ */ _(h, {
404
+ onClick: () => H(!V),
237
405
  disabled: !F,
238
- className: "inline-flex items-center gap-2 px-3 py-2 text-sm font-medium text-status-success-text bg-status-success-bg/10 hover:bg-status-success-bg/20 rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
239
- children: [/* @__PURE__ */ v(C, { className: "w-4 h-4" }), k("bigconsole.pipelines.actions.test", "Test")]
406
+ "aria-expanded": V,
407
+ "aria-controls": "pipeline-test-panel",
408
+ className: v,
409
+ children: [/* @__PURE__ */ g(C, { className: "h-icon-sm w-icon-sm" }), O("bigconsole.pipelines.actions.test", "Test")]
240
410
  }),
241
- /* @__PURE__ */ y("button", {
242
- type: "button",
243
- onClick: $,
411
+ /* @__PURE__ */ _(h, {
412
+ variant: "secondary",
413
+ onClick: Z,
244
414
  disabled: !N,
245
- className: "inline-flex items-center gap-2 px-3 py-2 text-sm font-medium text-text-primary bg-bg-sunken hover:bg-border-default rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
246
- children: [/* @__PURE__ */ v(x, { className: "w-4 h-4" }), k("bigconsole.pipelines.actions.edit", "Edit")]
415
+ className: v,
416
+ children: [/* @__PURE__ */ g(x, { className: "h-icon-sm w-icon-sm" }), O("bigconsole.pipelines.actions.edit", "Edit")]
247
417
  }),
248
- P && /* @__PURE__ */ y("button", {
249
- type: "button",
250
- onClick: oe,
251
- className: "inline-flex items-center gap-2 px-3 py-2 text-sm font-medium text-status-error-text bg-status-error-bg/10 hover:bg-status-error-bg/20 rounded-md transition-colors",
252
- children: [/* @__PURE__ */ v(S, { className: "w-4 h-4" }), k("bigconsole.pipelines.actions.delete", "Delete")]
418
+ P && /* @__PURE__ */ _(h, {
419
+ variant: "destructive",
420
+ onClick: ge,
421
+ className: v,
422
+ children: [/* @__PURE__ */ g(S, { className: "h-icon-sm w-icon-sm" }), O("bigconsole.pipelines.actions.delete", "Delete")]
253
423
  })
254
424
  ]
255
425
  })]
256
426
  }),
257
- /* @__PURE__ */ v(re, {
258
- className: "mb-6",
259
- children: k("bigconsole.pipelines.view.purpose", "A pipeline chains parsers and a data sink into a repeatable flow. Review its stages here, test it with sample input to confirm the output, then edit the stages or run it to process real data into the connected sink.")
427
+ /* @__PURE__ */ g(ce, {
428
+ className: "max-w-[75ch]",
429
+ children: O("bigconsole.pipelines.view.purpose", "A pipeline chains parsers and a data sink into a repeatable flow. Review its stages here, test it with sample input to confirm the output, then edit the stages or run it to process real data into the connected sink.")
260
430
  }),
261
- /* @__PURE__ */ v(g, {
431
+ /* @__PURE__ */ g(se, {
262
432
  storageKey: "bigconsole-pipeline-view",
263
433
  steps: [
264
434
  ...F ? [{
265
435
  id: "test",
266
- label: k("bigconsole.pipelines.view.nextStepTestLabel", "Test with sample input"),
267
- description: k("bigconsole.pipelines.view.nextStepTestDescription", "Run the pipeline against a sample to verify each stage."),
268
- onClick: () => U(!0)
436
+ label: O("bigconsole.pipelines.view.nextStepTestLabel", "Test with sample input"),
437
+ description: O("bigconsole.pipelines.view.nextStepTestDescription", "Run the pipeline against a sample to verify each stage."),
438
+ onClick: () => H(!0)
269
439
  }] : [],
270
440
  ...N ? [{
271
441
  id: "edit",
272
- label: k("bigconsole.pipelines.view.nextStepEditLabel", "Edit the stages"),
273
- description: k("bigconsole.pipelines.view.nextStepEditDescription", "Add, reorder, or configure the parsers in this pipeline."),
274
- onClick: $
442
+ label: O("bigconsole.pipelines.view.nextStepEditLabel", "Edit the stages"),
443
+ description: O("bigconsole.pipelines.view.nextStepEditDescription", "Add, reorder, or configure the parsers in this pipeline."),
444
+ onClick: Z
275
445
  }] : [],
276
446
  {
277
447
  id: "sinks",
278
- label: k("bigconsole.pipelines.view.nextStepSinksLabel", "Review the target data sink"),
279
- description: k("bigconsole.pipelines.view.nextStepSinksDescription", "See where the processed data lands."),
280
- onClick: () => O("/datasinks")
448
+ label: O("bigconsole.pipelines.view.nextStepSinksLabel", "Review the target data sink"),
449
+ description: O("bigconsole.pipelines.view.nextStepSinksDescription", "See where the processed data lands."),
450
+ onClick: () => D("/datasinks")
281
451
  }
282
452
  ]
283
453
  }),
284
- /* @__PURE__ */ y("div", {
285
- className: "grid grid-cols-1 lg:grid-cols-3 gap-6",
286
- children: [/* @__PURE__ */ y("div", {
287
- className: "lg:col-span-2 space-y-6",
288
- children: [/* @__PURE__ */ y(m, {
289
- treatment: "glass",
290
- glow: !0,
291
- className: "p-6",
292
- children: [/* @__PURE__ */ v("h2", {
293
- className: "text-lg font-semibold text-text-primary mb-4",
294
- children: k("bigconsole.pipelines.view.stagesHeading", "Pipeline Stages ({{count}})", { count: I.stages?.length || 0 })
295
- }), !I.stages || I.stages.length === 0 ? /* @__PURE__ */ v(h, {
296
- illustration: "empty-generic",
297
- title: k("bigconsole.pipelines.view.noStagesTitle", "No stages defined"),
298
- description: k("bigconsole.pipelines.view.noStagesDescription", "Edit the pipeline to add parser stages.")
299
- }) : /* @__PURE__ */ v("div", {
300
- className: "space-y-3",
301
- children: I.stages.map((e, t) => /* @__PURE__ */ y("div", {
302
- className: "flex items-center gap-3",
303
- children: [/* @__PURE__ */ y("div", {
304
- className: `
305
- flex-1 p-4 rounded-lg border
306
- ${e.enabled ? "bg-bg-surface border-border-default" : "bg-bg-sunken border-border-default opacity-60"}
307
- `,
308
- children: [
309
- /* @__PURE__ */ y("div", {
310
- className: "flex items-center justify-between mb-2",
311
- children: [/* @__PURE__ */ y("div", {
312
- className: "flex items-center gap-2",
313
- children: [
314
- /* @__PURE__ */ v("span", {
315
- className: "w-6 h-6 flex items-center justify-center text-xs font-medium bg-action-primary-bg/10 text-action-primary-bg rounded-full",
316
- children: t + 1
317
- }),
318
- /* @__PURE__ */ v("span", {
319
- className: "font-medium text-text-primary",
320
- children: e.parserName || k("bigconsole.pipelines.view.stageFallbackName", "Stage {{number}}", { number: t + 1 })
321
- }),
322
- e.parserType && /* @__PURE__ */ v("span", {
323
- className: "px-1.5 py-0.5 text-xs font-medium bg-bg-sunken text-text-secondary rounded",
324
- children: e.parserType.toUpperCase()
325
- })
326
- ]
327
- }), /* @__PURE__ */ y("div", {
328
- className: "flex items-center gap-2",
329
- children: [/* @__PURE__ */ v(D, { handling: e.onError }), !e.enabled && /* @__PURE__ */ v("span", {
330
- className: "px-1.5 py-0.5 text-xs font-medium bg-bg-sunken text-text-secondary rounded",
331
- children: k("bigconsole.pipelines.view.stageDisabled", "Disabled")
332
- })]
333
- })]
334
- }),
335
- /* @__PURE__ */ y("div", {
336
- className: "flex items-center gap-2 text-xs text-text-secondary",
337
- children: [
338
- /* @__PURE__ */ v("span", {
339
- className: "font-mono bg-bg-sunken px-1.5 py-0.5 rounded",
340
- children: e.inputKey
341
- }),
342
- /* @__PURE__ */ v(E, { className: "w-3 h-3" }),
343
- /* @__PURE__ */ v("span", {
344
- className: "font-mono bg-bg-sunken px-1.5 py-0.5 rounded",
345
- children: e.outputKey
346
- })
347
- ]
348
- }),
349
- e.description && /* @__PURE__ */ v("p", {
350
- className: "text-xs text-text-secondary mt-2",
351
- children: e.description
352
- }),
353
- e.parserId && /* @__PURE__ */ v("button", {
354
- type: "button",
355
- onClick: () => ce(e.parserId),
356
- className: "mt-2 text-xs text-action-primary-bg hover:underline",
357
- children: k("bigconsole.pipelines.view.viewParser", "View Parser")
454
+ /* @__PURE__ */ _("div", {
455
+ className: "grid grid-cols-1 gap-section-gap lg:grid-cols-3",
456
+ children: [/* @__PURE__ */ g("div", {
457
+ className: "min-w-0 lg:col-span-2",
458
+ children: /* @__PURE__ */ _(i, { children: [xe, be] })
459
+ }), /* @__PURE__ */ g("div", {
460
+ className: "min-w-0",
461
+ children: /* @__PURE__ */ g(i, { children: /* @__PURE__ */ g(r, {
462
+ emphasis: "muted",
463
+ headingLevel: 2,
464
+ title: O("bigconsole.pipelines.view.detailsHeading", "Details"),
465
+ "data-testid": "pipeline-details",
466
+ children: /* @__PURE__ */ _("dl", {
467
+ className: "flex flex-col gap-form-gap text-sm",
468
+ children: [/* @__PURE__ */ _("div", {
469
+ className: "flex flex-col gap-3",
470
+ children: [
471
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
472
+ className: "text-xs text-text-muted",
473
+ children: O("bigconsole.pipelines.view.detailStatus", "Status")
474
+ }), /* @__PURE__ */ g("dd", {
475
+ className: "mt-1",
476
+ children: /* @__PURE__ */ g(c, {
477
+ status: I.status,
478
+ size: "sm"
358
479
  })
359
- ]
360
- }), t < (I.stages?.length || 0) - 1 && /* @__PURE__ */ v(E, { className: "w-5 h-5 text-text-secondary flex-shrink-0 hidden md:block" })]
361
- }, e.id))
362
- })]
363
- }), H && /* @__PURE__ */ y("div", {
364
- className: "bg-bg-surface border border-border-default rounded-lg p-6",
365
- children: [/* @__PURE__ */ v("h2", {
366
- className: "text-lg font-semibold text-text-primary mb-4",
367
- children: k("bigconsole.pipelines.view.testPanelHeading", "Test Pipeline")
368
- }), /* @__PURE__ */ y("div", {
369
- className: "space-y-4",
370
- children: [
371
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
372
- className: "block text-sm font-medium text-text-primary mb-2",
373
- children: k("bigconsole.pipelines.view.inputJsonLabel", "Input JSON")
374
- }), /* @__PURE__ */ v("textarea", {
375
- value: R,
376
- onChange: (e) => z(e.target.value),
377
- className: "w-full h-32 px-3 py-2 text-sm font-mono text-text-primary bg-bg-sunken border border-border-default rounded-md focus:outline-none focus:ring-2 focus:ring-action-primary-bg resize-none",
378
- placeholder: "{\"key\": \"value\"}"
379
- })] }),
380
- /* @__PURE__ */ y("button", {
381
- type: "button",
382
- onClick: le,
383
- disabled: q || !F,
384
- className: "inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
385
- children: [/* @__PURE__ */ v(C, { className: "w-4 h-4" }), q ? k("bigconsole.pipelines.view.testRunning", "Running...") : k("bigconsole.pipelines.view.runTest", "Run Test")]
386
- }),
387
- B && /* @__PURE__ */ y("div", {
388
- className: "mt-4",
389
- children: [
390
- /* @__PURE__ */ y("div", {
391
- className: "flex items-center gap-2 mb-2",
392
- children: [B.status === "completed" ? /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(T, { className: "w-4 h-4 text-status-success-text" }), /* @__PURE__ */ v("span", {
393
- className: "text-sm font-medium text-status-success-text",
394
- children: k("bigconsole.pipelines.view.testPassed", "Test Passed")
395
- })] }) : /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(w, { className: "w-4 h-4 text-status-error-text" }), /* @__PURE__ */ v("span", {
396
- className: "text-sm font-medium text-status-error-text",
397
- children: k("bigconsole.pipelines.view.testFailed", "Test Failed")
398
- })] }), B.totalExecutionTimeMs && /* @__PURE__ */ y("span", {
399
- className: "text-xs text-text-secondary",
400
- children: [
401
- "(",
402
- B.totalExecutionTimeMs,
403
- "ms)"
404
- ]
405
- })]
406
- }),
407
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("label", {
408
- className: "block text-sm font-medium text-text-primary mb-2",
409
- children: k("bigconsole.pipelines.view.outputLabel", "Output")
410
- }), /* @__PURE__ */ v("pre", {
411
- className: "w-full p-3 text-xs font-mono text-text-primary bg-bg-sunken border border-border-default rounded-md overflow-auto max-h-48",
412
- children: JSON.stringify(B.outputData, null, 2) || "null"
413
- })] }),
414
- B.error && /* @__PURE__ */ y("div", {
415
- className: "mt-2",
416
- children: [/* @__PURE__ */ v("label", {
417
- className: "block text-sm font-medium text-status-error-text mb-2",
418
- children: k("bigconsole.pipelines.view.errorLabel", "Error")
419
- }), /* @__PURE__ */ v("pre", {
420
- className: "w-full p-3 text-xs font-mono text-status-error-text bg-status-error-bg/10 border border-status-error-border/20 rounded-md overflow-auto",
421
- children: B.error
422
- })]
480
+ })] }),
481
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
482
+ className: "text-xs text-text-muted",
483
+ children: O("bigconsole.pipelines.view.detailStages", "Stages")
484
+ }), /* @__PURE__ */ g("dd", {
485
+ className: "text-text-primary",
486
+ children: Q
487
+ })] }),
488
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
489
+ className: "text-xs text-text-muted",
490
+ children: O("bigconsole.pipelines.view.detailLastExecuted", "Last Executed")
491
+ }), /* @__PURE__ */ g("dd", {
492
+ className: "break-words text-text-primary",
493
+ children: I.lastExecutedAt ? new Date(I.lastExecutedAt).toLocaleString(void 0, {
494
+ dateStyle: "medium",
495
+ timeStyle: "short"
496
+ }) : O("bigconsole.pipelines.view.detailNever", "Never")
497
+ })] })
498
+ ]
499
+ }), /* @__PURE__ */ _("div", {
500
+ className: "flex flex-col gap-3 border-t border-[var(--color-border-subtle)] pt-form-gap",
501
+ children: [
502
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
503
+ className: "text-xs text-text-muted",
504
+ children: O("bigconsole.pipelines.view.detailVersion", "Version")
505
+ }), /* @__PURE__ */ g("dd", {
506
+ className: "text-text-primary",
507
+ children: I.version
508
+ })] }),
509
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
510
+ className: "text-xs text-text-muted",
511
+ children: O("bigconsole.pipelines.view.detailCreated", "Created")
512
+ }), /* @__PURE__ */ g("dd", {
513
+ className: "break-words text-text-primary",
514
+ children: new Date(I.createdAt).toLocaleString(void 0, {
515
+ dateStyle: "medium",
516
+ timeStyle: "short"
423
517
  })
424
- ]
425
- })
426
- ]
427
- })]
428
- })]
429
- }), /* @__PURE__ */ v("div", {
430
- className: "space-y-6",
431
- children: /* @__PURE__ */ y("div", {
432
- className: "bg-bg-surface border border-border-default rounded-lg p-6",
433
- children: [/* @__PURE__ */ v("h2", {
434
- className: "text-lg font-semibold text-text-primary mb-4",
435
- children: k("bigconsole.pipelines.view.detailsHeading", "Details")
436
- }), /* @__PURE__ */ y("dl", {
437
- className: "space-y-3",
438
- children: [
439
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
440
- className: "text-xs text-text-secondary",
441
- children: k("bigconsole.pipelines.view.detailStatus", "Status")
442
- }), /* @__PURE__ */ v("dd", {
443
- className: "mt-1",
444
- children: /* @__PURE__ */ v(o, { status: I.status })
445
- })] }),
446
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
447
- className: "text-xs text-text-secondary",
448
- children: k("bigconsole.pipelines.view.detailStages", "Stages")
449
- }), /* @__PURE__ */ v("dd", {
450
- className: "text-sm text-text-primary",
451
- children: I.stages?.length || 0
452
- })] }),
453
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
454
- className: "text-xs text-text-secondary",
455
- children: k("bigconsole.pipelines.view.detailLastExecuted", "Last Executed")
456
- }), /* @__PURE__ */ v("dd", {
457
- className: "text-sm text-text-primary",
458
- children: I.lastExecutedAt ? new Date(I.lastExecutedAt).toLocaleString() : k("bigconsole.pipelines.view.detailNever", "Never")
459
- })] }),
460
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
461
- className: "text-xs text-text-secondary",
462
- children: k("bigconsole.pipelines.view.detailVersion", "Version")
463
- }), /* @__PURE__ */ v("dd", {
464
- className: "text-sm text-text-primary",
465
- children: I.version
466
- })] }),
467
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
468
- className: "text-xs text-text-secondary",
469
- children: k("bigconsole.pipelines.view.detailCreated", "Created")
470
- }), /* @__PURE__ */ v("dd", {
471
- className: "text-sm text-text-primary",
472
- children: new Date(I.createdAt).toLocaleString()
473
- })] }),
474
- /* @__PURE__ */ y("div", { children: [/* @__PURE__ */ v("dt", {
475
- className: "text-xs text-text-secondary",
476
- children: k("bigconsole.pipelines.view.detailUpdated", "Updated")
477
- }), /* @__PURE__ */ v("dd", {
478
- className: "text-sm text-text-primary",
479
- children: new Date(I.updatedAt).toLocaleString()
480
- })] })
481
- ]
482
- })]
483
- })
518
+ })] }),
519
+ /* @__PURE__ */ _("div", { children: [/* @__PURE__ */ g("dt", {
520
+ className: "text-xs text-text-muted",
521
+ children: O("bigconsole.pipelines.view.detailUpdated", "Updated")
522
+ }), /* @__PURE__ */ g("dd", {
523
+ className: "break-words text-text-primary",
524
+ children: new Date(I.updatedAt).toLocaleString(void 0, {
525
+ dateStyle: "medium",
526
+ timeStyle: "short"
527
+ })
528
+ })] })
529
+ ]
530
+ })]
531
+ })
532
+ }) })
484
533
  })]
485
- }),
486
- I && /* @__PURE__ */ v(ee, {
487
- pipeline: I,
488
- isOpen: W,
489
- onClose: K,
490
- onConfirm: se
491
- })
492
- ]
493
- }) : /* @__PURE__ */ v("div", {
494
- className: "p-6",
495
- children: /* @__PURE__ */ v(h, {
496
- illustration: "empty-data",
497
- title: k("bigconsole.pipelines.view.notFoundTitle", "Pipeline not found"),
498
- description: k("bigconsole.pipelines.view.notFoundDescription", "The pipeline you're looking for doesn't exist or has been deleted."),
499
- action: /* @__PURE__ */ v("button", {
500
- type: "button",
501
- onClick: Q,
502
- className: "px-4 py-2 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md transition-colors",
503
- children: k("bigconsole.pipelines.actions.backToPipelines", "Back to Pipelines")
504
534
  })
505
- })
535
+ ] }), I && /* @__PURE__ */ g(te, {
536
+ pipeline: I,
537
+ isOpen: he,
538
+ onClose: W,
539
+ onConfirm: _e
540
+ })]
506
541
  });
507
542
  });
508
543
  //#endregion
509
- export { O as PipelineViewPage, O as default };
544
+ export { D as PipelineViewPage, D as default };
510
545
 
511
546
  //# sourceMappingURL=PipelineViewPage.js.map