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