@burdenoff/microfe-bigconsole 2026.805.2 → 2026.812.1

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 (253) 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 +145 -111
  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 +269 -251
  23. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  24. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +214 -223
  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 +110 -102
  29. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -1
  30. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +81 -68
  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 +147 -144
  35. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -1
  36. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +154 -153
  37. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -1
  38. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +82 -79
  39. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -1
  40. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +171 -284
  41. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
  42. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +250 -273
  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/PublishToStoreDialog.js +75 -83
  49. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +1 -1
  50. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +167 -161
  51. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -1
  52. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +181 -190
  53. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
  54. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -95
  55. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -1
  56. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +20 -18
  57. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +1 -1
  58. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -0
  59. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +26 -58
  60. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +1 -1
  61. package/dist/bigconsole/components/dashboard/WidgetPalette.js +307 -229
  62. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -1
  63. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +128 -129
  64. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -1
  65. package/dist/bigconsole/components/datasink/DataSinkCard.js +78 -79
  66. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -1
  67. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +33 -34
  68. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +1 -1
  69. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +79 -61
  70. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -1
  71. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +75 -64
  72. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -1
  73. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +1 -1
  74. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +1 -1
  75. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +20 -19
  76. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +1 -1
  77. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +127 -171
  78. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +1 -1
  79. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +113 -117
  80. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +1 -1
  81. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +312 -307
  82. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
  83. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +65 -66
  84. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +1 -1
  85. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +121 -127
  86. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +1 -1
  87. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +194 -189
  88. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -1
  89. package/dist/bigconsole/components/datasink/SetupStateBadge.js +3 -3
  90. package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +1 -1
  91. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +95 -95
  92. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +1 -1
  93. package/dist/bigconsole/components/parser/DataSinkSelector.js +163 -131
  94. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -1
  95. package/dist/bigconsole/components/parser/ExpressionEditor.js +3 -3
  96. package/dist/bigconsole/components/parser/ExpressionEditor.js.map +1 -1
  97. package/dist/bigconsole/components/parser/ImportParserDialog.js +205 -260
  98. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  99. package/dist/bigconsole/components/parser/ParserCard.js +133 -114
  100. package/dist/bigconsole/components/parser/ParserCard.js.map +1 -1
  101. package/dist/bigconsole/components/parser/ParserSelector.js +193 -174
  102. package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -1
  103. package/dist/bigconsole/components/parser/ParserStatusBadge.js +2 -2
  104. package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +1 -1
  105. package/dist/bigconsole/components/parser/ParserTypeBadge.js +4 -4
  106. package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +1 -1
  107. package/dist/bigconsole/components/pipeline/PipelineCard.js +134 -89
  108. package/dist/bigconsole/components/pipeline/PipelineCard.js.map +1 -1
  109. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +77 -64
  110. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +1 -1
  111. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +7 -10
  112. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +1 -1
  113. package/dist/bigconsole/components/preview/AiPreviewContent.js +31 -32
  114. package/dist/bigconsole/components/preview/AiPreviewContent.js.map +1 -1
  115. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +152 -103
  116. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -1
  117. package/dist/bigconsole/components/preview/AiPreviewPanel.js +193 -148
  118. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -1
  119. package/dist/bigconsole/components/preview/previewShared.js +41 -23
  120. package/dist/bigconsole/components/preview/previewShared.js.map +1 -1
  121. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +405 -364
  122. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
  123. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +265 -237
  124. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
  125. package/dist/bigconsole/components/widgets/PropertiesPanel.js +764 -821
  126. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  127. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +7 -5
  128. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +1 -1
  129. package/dist/bigconsole/components/widgets/WidgetHeader.js +7 -8
  130. package/dist/bigconsole/components/widgets/WidgetHeader.js.map +1 -1
  131. package/dist/bigconsole/components/widgets/WidgetWrapper.js +8 -7
  132. package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +1 -1
  133. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +1 -1
  134. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +1 -1
  135. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +46 -49
  136. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -1
  137. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +154 -147
  138. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -1
  139. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +118 -101
  140. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +1 -1
  141. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +244 -191
  142. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -1
  143. package/dist/bigconsole/components/widgets/form/FormWidget.js +167 -159
  144. package/dist/bigconsole/components/widgets/form/FormWidget.js.map +1 -1
  145. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +92 -76
  146. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -1
  147. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +1 -1
  148. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +1 -1
  149. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +89 -86
  150. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +1 -1
  151. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +2 -2
  152. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +1 -1
  153. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +64 -63
  154. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -1
  155. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +2 -2
  156. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +1 -1
  157. package/dist/bigconsole/components/widgets/list/ListConfig.js +65 -58
  158. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -1
  159. package/dist/bigconsole/components/widgets/list/ListItem.js +1 -1
  160. package/dist/bigconsole/components/widgets/list/ListItem.js.map +1 -1
  161. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +1 -1
  162. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +1 -1
  163. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +79 -72
  164. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -1
  165. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +35 -34
  166. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -1
  167. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +20 -19
  168. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +1 -1
  169. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +181 -180
  170. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -1
  171. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +100 -90
  172. package/dist/bigconsole/components/widgets/progress/ProgressConfig.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 +193 -172
  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/webhook-config/WebhookConfigPanel.js +283 -249
  194. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -1
  195. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +28 -20
  196. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -1
  197. package/dist/bigconsole/components/workflow/WorkflowCard.js +92 -77
  198. package/dist/bigconsole/components/workflow/WorkflowCard.js.map +1 -1
  199. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +70 -51
  200. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +1 -1
  201. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +16 -17
  202. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +1 -1
  203. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +46 -42
  204. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -1
  205. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +372 -348
  206. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  207. package/dist/bigconsole/hooks/useModalFocusTrap.js +53 -0
  208. package/dist/bigconsole/hooks/useModalFocusTrap.js.map +1 -0
  209. package/dist/bigconsole/pages/DashboardBuilderPage.js +153 -142
  210. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  211. package/dist/bigconsole/pages/DashboardViewPage.js +230 -220
  212. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  213. package/dist/bigconsole/pages/DashboardsPage.js +832 -790
  214. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  215. package/dist/bigconsole/pages/DataParsersPage.js +249 -304
  216. package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
  217. package/dist/bigconsole/pages/DataSinkBuilderPage.js +324 -349
  218. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  219. package/dist/bigconsole/pages/DataSinkViewPage.js +336 -323
  220. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  221. package/dist/bigconsole/pages/DataSinksPage.js +356 -458
  222. package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
  223. package/dist/bigconsole/pages/DataSourcesPage.js +14 -8
  224. package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -1
  225. package/dist/bigconsole/pages/HomePage.js +186 -193
  226. package/dist/bigconsole/pages/HomePage.js.map +1 -1
  227. package/dist/bigconsole/pages/InsightsPage.js +901 -724
  228. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  229. package/dist/bigconsole/pages/ParserBuilderPage.js +769 -675
  230. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  231. package/dist/bigconsole/pages/ParserViewPage.js +382 -354
  232. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
  233. package/dist/bigconsole/pages/PipelineBuilderPage.js +540 -420
  234. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  235. package/dist/bigconsole/pages/PipelineViewPage.js +416 -384
  236. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  237. package/dist/bigconsole/pages/PipelinesPage.js +260 -309
  238. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  239. package/dist/bigconsole/pages/SettingsPage.js +177 -172
  240. package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
  241. package/dist/bigconsole/pages/WidgetDemoPage.js +278 -142
  242. package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -1
  243. package/dist/bigconsole/pages/WorkflowViewPage.js +382 -366
  244. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  245. package/dist/bigconsole/pages/WorkflowsPage.js +202 -316
  246. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  247. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +111 -109
  248. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +1 -1
  249. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +127 -126
  250. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +1 -1
  251. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +103 -103
  252. package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +1 -1
  253. package/package.json +2 -1
@@ -1,61 +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 u } from "react-router";
19
- import { AccessDenied as fe, PermissionButton as d } from "@burdenoff/fe-libs/shared/components";
20
- import { usePermissions as pe } from "@burdenoff/fe-libs/shared/providers/shell";
21
- import { AlertCircle as me, ArrowLeft as f, Code as he, Database as p, Download as ge, Edit as _e, Eye as ve, EyeOff as ye, Grid3X3 as be, Loader2 as m, RefreshCw as xe, Trash2 as Se, Upload as h } from "lucide-react";
22
- import { Button as g, Card as Ce, CardContent as _, CardHeader as v, CardTitle as y, GlassCard as we, IllustratedEmptyState as Te, NextSteps as Ee, PagePurpose as De } from "@burdenoff/fe-libs/ui";
23
- import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
24
- import { formatDistanceToNow as C } 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";
25
29
  //#region src/bigconsole/pages/DataSinkViewPage.tsx
26
- var w = s(function() {
27
- let { dataSinkId: s } = u(), w = t(), { hasPermission: Oe, isLoading: ke } = pe(), Ae = Oe(r.DATASINK_READ), [T, E] = l(!1), [D, O] = l(!1), [k, A] = l(!1), [je, j] = l(!1), [Me, M] = l(!1), [N, Ne] = l(null), [P, F] = l(!1), [I, L] = l("table"), [R, Pe] = l(100), [z, Fe] = l(0), [B, Ie] = l(null), [Le, Re] = l(!1), V = e((e) => s ? e.dataSinks.get(s) : void 0), { loading: ze, error: H, fetchDataSink: U, getDataSinkData: W, refreshDataSink: G, updateDataSink: K, deleteDataSink: q } = te({ skipFetch: !0 });
28
- ie({
29
- dataSinkId: s,
30
- enabled: !!s
31
- }), de(() => {
32
- s && U(s);
33
- }, [s, U]);
34
- let J = c(() => {
35
- w("/datasinks");
36
- }, [w]), Be = c(() => {
37
- w(`/datasinks/${s}/edit`);
38
- }, [w, s]), Y = c(async () => {
39
- 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) {
40
44
  O(!0);
41
45
  try {
42
- await G({ id: s });
46
+ await G({ id: c });
43
47
  } catch {} finally {
44
48
  O(!1);
45
49
  }
46
50
  }
47
- }, [s, G]), Ve = c(async () => {
48
- if (!s) return;
49
- let e = await ne({
50
- title: "Delete DataSink?",
51
- message: "Are you sure you want to delete this DataSink?",
52
- okButtonTitle: "Delete",
53
- cancelButtonTitle: "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")
54
58
  });
55
- if (e === null ? window.confirm("Are you sure you want to delete this DataSink?") : e) {
56
- 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);
57
61
  try {
58
- await q(s), a() && o("success"), w("/datasinks");
62
+ await q(c), a() && o("success"), S("/datasinks");
59
63
  } catch {
60
64
  a() && o("error");
61
65
  } finally {
@@ -63,14 +67,15 @@ var w = s(function() {
63
67
  }
64
68
  }
65
69
  }, [
66
- s,
70
+ c,
67
71
  q,
68
- w
69
- ]), X = c(async (e, t) => {
70
- if (s) {
72
+ S,
73
+ C
74
+ ]), X = l(async (e, t) => {
75
+ if (c) {
71
76
  F(!0);
72
77
  try {
73
- let n = await W({ id: s }, {
78
+ let n = await W({ id: c }, {
74
79
  limit: t,
75
80
  offset: e
76
81
  });
@@ -79,8 +84,8 @@ var w = s(function() {
79
84
  F(!1);
80
85
  }
81
86
  }
82
- }, [s, W]), Z = c(async () => {
83
- if (s) {
87
+ }, [c, W]), Z = l(async () => {
88
+ if (c) {
84
89
  if (T) {
85
90
  E(!1);
86
91
  return;
@@ -88,23 +93,23 @@ var w = s(function() {
88
93
  await X(0, R), E(!0);
89
94
  }
90
95
  }, [
91
- s,
96
+ c,
92
97
  T,
93
98
  X,
94
99
  R
95
- ]), He = c((e) => {
100
+ ]), He = l((e) => {
96
101
  Pe(e), X(0, e);
97
- }, [X]), Q = c(() => {
102
+ }, [X]), Q = l(() => {
98
103
  j(!0);
99
- }, []), Ue = c(() => {
104
+ }, []), Ue = l(() => {
100
105
  j(!1);
101
- }, []), $ = c(() => {
106
+ }, []), $ = l(() => {
102
107
  M(!0);
103
- }, []), We = c(() => {
108
+ }, []), We = l(() => {
104
109
  M(!1);
105
- }, []), Ge = c(() => {
106
- M(!1), w(n());
107
- }, [w]), Ke = c(async (e) => {
110
+ }, []), Ge = l(() => {
111
+ M(!1), S(te());
112
+ }, [S]), Ke = l(async (e) => {
108
113
  if (!V || !await K({
109
114
  id: V.id,
110
115
  version: V.version,
@@ -120,342 +125,350 @@ var w = s(function() {
120
125
  X,
121
126
  R
122
127
  ]);
123
- return ze && !V ? /* @__PURE__ */ x("div", {
124
- className: "flex items-center justify-center min-h-[400px]",
125
- children: /* @__PURE__ */ x(m, { className: "w-8 h-8 text-text-secondary animate-spin" })
126
- }) : H && !V ? /* @__PURE__ */ x("div", {
127
- className: "flex items-center justify-center min-h-[400px] p-card-padding",
128
- children: /* @__PURE__ */ S("div", {
129
- className: "text-center",
130
- children: [
131
- /* @__PURE__ */ x(me, { className: "w-12 h-12 text-status-error-text mx-auto mb-4" }),
132
- /* @__PURE__ */ x("p", {
133
- className: "text-status-error-text text-body-sm font-medium mb-2",
134
- children: "Failed to load DataSink"
135
- }),
136
- /* @__PURE__ */ x("p", {
137
- className: "text-text-tertiary text-body-xs mb-6",
138
- children: H.message
139
- }),
140
- /* @__PURE__ */ S(g, {
141
- onClick: J,
142
- variant: "ghost",
143
- size: "sm",
144
- children: [/* @__PURE__ */ x(f, { className: "w-4 h-4 mr-2" }), "Go back"]
145
- })
146
- ]
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
+ })
147
145
  })
148
- }) : !ke && !Ae ? /* @__PURE__ */ x(fe, {
149
- title: "Access Denied",
150
- description: "You don't have permission to view this data sink."
151
- }) : V ? /* @__PURE__ */ S("div", {
152
- 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",
153
151
  children: [
154
- /* @__PURE__ */ S("div", {
155
- className: "flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4",
156
- children: [/* @__PURE__ */ S("div", {
157
- 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",
158
156
  children: [
159
- /* @__PURE__ */ S(g, {
157
+ /* @__PURE__ */ y(g, {
160
158
  onClick: J,
161
159
  variant: "ghost",
162
160
  size: "sm",
163
161
  className: "mb-4",
164
- children: [/* @__PURE__ */ x(f, { className: "w-4 h-4 mr-2" }), "Back to DataSinks"]
162
+ children: [/* @__PURE__ */ v(f, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.backToDataSinks", "Back to DataSinks")]
165
163
  }),
166
- /* @__PURE__ */ S("div", {
167
- className: "flex items-center gap-2 flex-wrap",
168
- children: [/* @__PURE__ */ x("h1", {
169
- className: "text-heading-h1 font-bold text-text-primary",
170
- children: V.name || "Untitled"
171
- }), /* @__PURE__ */ x(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 })]
172
170
  }),
173
- /* @__PURE__ */ x("p", {
174
- 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",
175
173
  children: V.key
176
174
  }),
177
- V.description && /* @__PURE__ */ x("p", {
178
- className: "text-body-sm text-text-secondary mt-2",
175
+ V.description && /* @__PURE__ */ v("p", {
176
+ className: "mt-2 text-sm text-text-secondary",
179
177
  children: V.description
180
178
  })
181
179
  ]
182
- }), /* @__PURE__ */ S("div", {
183
- className: "flex items-center gap-2 flex-wrap",
180
+ }), /* @__PURE__ */ y("div", {
181
+ className: "flex flex-wrap items-center gap-2",
184
182
  children: [
185
- /* @__PURE__ */ x(d, {
183
+ /* @__PURE__ */ v(d, {
186
184
  permission: r.DATASINK_EXECUTE,
187
185
  deniedBehavior: "disable",
188
- children: /* @__PURE__ */ S(g, {
186
+ children: /* @__PURE__ */ y(g, {
189
187
  onClick: Y,
190
188
  disabled: D,
191
- variant: "secondary",
189
+ variant: "default",
192
190
  size: "default",
193
- children: [/* @__PURE__ */ x(xe, { className: `w-4 h-4 mr-2 ${D ? "animate-spin" : ""}` }), D ? "Refreshing..." : "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")]
194
192
  })
195
193
  }),
196
- /* @__PURE__ */ S(g, {
194
+ /* @__PURE__ */ y(g, {
197
195
  onClick: $,
198
196
  variant: "secondary",
199
197
  size: "default",
200
- children: [/* @__PURE__ */ x(h, { className: "w-4 h-4 mr-2" }), "Import Data"]
198
+ children: [/* @__PURE__ */ v(h, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.importData", "Import Data")]
201
199
  }),
202
- /* @__PURE__ */ S(g, {
200
+ /* @__PURE__ */ y(g, {
203
201
  onClick: Q,
204
202
  variant: "secondary",
205
203
  size: "default",
206
- children: [/* @__PURE__ */ x(ge, { className: "w-4 h-4 mr-2" }), "Export"]
204
+ children: [/* @__PURE__ */ v(ve, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.export", "Export")]
207
205
  }),
208
- /* @__PURE__ */ x(d, {
206
+ /* @__PURE__ */ v(d, {
209
207
  permission: r.DATASINK_UPDATE,
210
208
  deniedBehavior: "disable",
211
- children: /* @__PURE__ */ S(g, {
209
+ children: /* @__PURE__ */ y(g, {
212
210
  onClick: Be,
213
211
  variant: "secondary",
214
212
  size: "default",
215
- children: [/* @__PURE__ */ x(_e, { className: "w-4 h-4 mr-2" }), "Edit"]
213
+ children: [/* @__PURE__ */ v(ye, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.edit", "Edit")]
216
214
  })
217
215
  }),
218
- /* @__PURE__ */ x(d, {
216
+ /* @__PURE__ */ v(d, {
219
217
  permission: r.DATASINK_DELETE,
220
218
  deniedBehavior: "hide",
221
- children: /* @__PURE__ */ S(g, {
219
+ children: /* @__PURE__ */ y(g, {
222
220
  onClick: Ve,
223
221
  disabled: k,
224
222
  variant: "destructive",
225
223
  size: "default",
226
- children: [/* @__PURE__ */ x(Se, { className: "w-4 h-4 mr-2" }), k ? "Deleting..." : "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")]
227
225
  })
228
226
  })
229
227
  ]
230
228
  })]
231
229
  }),
232
- /* @__PURE__ */ x(De, { children: "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
- /* @__PURE__ */ x(Ee, {
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, {
234
235
  storageKey: "bigconsole-datasink-view",
235
236
  steps: [
236
237
  {
237
238
  id: "preview",
238
- label: "Preview the data",
239
- description: "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."),
240
241
  onClick: Z
241
242
  },
242
243
  {
243
244
  id: "refresh",
244
- label: "Refresh from source",
245
- description: "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."),
246
247
  onClick: Y
247
248
  },
248
249
  {
249
250
  id: "build-dashboard",
250
- label: "Visualize it on a dashboard",
251
- description: "Add widgets that query this sink to see your data live.",
252
- onClick: () => w("/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")
253
254
  },
254
255
  {
255
256
  id: "export",
256
- label: "Export the data",
257
- description: "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."),
258
259
  onClick: Q
259
260
  }
260
261
  ]
261
262
  }),
262
- /* @__PURE__ */ S("div", {
263
- className: "grid gap-6 md:grid-cols-2",
264
- children: [
265
- /* @__PURE__ */ S(we, {
266
- treatment: "glass",
267
- glow: !0,
268
- children: [/* @__PURE__ */ x(v, { children: /* @__PURE__ */ x(y, { children: "Details" }) }), /* @__PURE__ */ x(_, { children: /* @__PURE__ */ S("dl", {
269
- 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",
270
416
  children: [
271
- /* @__PURE__ */ S("div", {
272
- className: "flex justify-between items-center",
273
- children: [/* @__PURE__ */ x("dt", {
274
- className: "text-text-secondary",
275
- children: "Status"
276
- }), /* @__PURE__ */ x("dd", { children: /* @__PURE__ */ x(i, { status: V.status }) })]
277
- }),
278
- /* @__PURE__ */ S("div", {
279
- className: "flex justify-between items-center",
280
- children: [/* @__PURE__ */ x("dt", {
281
- className: "text-text-secondary",
282
- children: "Cache TTL"
283
- }), /* @__PURE__ */ x("dd", {
284
- className: "text-text-primary font-medium",
285
- children: V.ttl ? `${V.ttl}s` : "None"
286
- })]
287
- }),
288
- /* @__PURE__ */ S("div", {
289
- className: "flex justify-between items-center",
290
- children: [/* @__PURE__ */ x("dt", {
291
- className: "text-text-secondary",
292
- children: "Refresh Type"
293
- }), /* @__PURE__ */ x("dd", {
294
- className: "text-text-primary font-medium capitalize",
295
- children: V.refresh?.type || "Manual"
296
- })]
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")
297
428
  }),
298
- /* @__PURE__ */ S("div", {
299
- className: "flex justify-between items-center",
300
- children: [/* @__PURE__ */ x("dt", {
301
- className: "text-text-secondary",
302
- children: "Size"
303
- }), /* @__PURE__ */ x("dd", {
304
- className: "text-text-primary font-medium",
305
- children: V.sizeBytes ? `${(V.sizeBytes / 1024).toFixed(2)} KB` : "0 KB"
306
- })]
307
- }),
308
- /* @__PURE__ */ S("div", {
309
- className: "flex justify-between items-center",
310
- children: [/* @__PURE__ */ x("dt", {
311
- className: "text-text-secondary",
312
- children: "Version"
313
- }), /* @__PURE__ */ x("dd", {
314
- className: "text-text-primary font-medium",
315
- children: V.version || 1
316
- })]
317
- }),
318
- /* @__PURE__ */ S("div", {
319
- className: "flex justify-between items-center",
320
- children: [/* @__PURE__ */ x("dt", {
321
- className: "text-text-secondary",
322
- children: "Last Refreshed"
323
- }), /* @__PURE__ */ x("dd", {
324
- className: "text-text-primary font-medium",
325
- children: V.lastRefreshedAt ? C(new Date(V.lastRefreshedAt), { addSuffix: !0 }) : "Never"
326
- })]
327
- }),
328
- /* @__PURE__ */ S("div", {
329
- className: "flex justify-between items-center",
330
- children: [/* @__PURE__ */ x("dt", {
331
- className: "text-text-secondary",
332
- children: "Created"
333
- }), /* @__PURE__ */ x("dd", {
334
- className: "text-text-primary font-medium",
335
- children: C(new Date(V.createdAt), { addSuffix: !0 })
336
- })]
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")
337
435
  })
338
436
  ]
339
- }) })]
340
- }),
341
- V.fluidGridsWorkflowId && /* @__PURE__ */ x(ce, {
342
- workflowId: V.fluidGridsWorkflowId,
343
- executionId: V.fluidGridsWorkflowExecutionId || void 0,
344
- lastRefreshedAt: V.lastRefreshedAt || void 0,
345
- setupState: V.setupState,
346
- status: V.status,
347
- onRerunWorkflow: Y,
348
- disabled: D,
349
- isRerunning: D
350
- }),
351
- /* @__PURE__ */ x(oe, { workflowLinks: V.workflowLinks }),
352
- /* @__PURE__ */ x(se, { dataSinkKey: V.key })
353
- ]
354
- }),
355
- /* @__PURE__ */ S(Ce, { children: [
356
- /* @__PURE__ */ S(v, {
357
- className: "flex flex-row items-center justify-between space-y-0",
358
- children: [/* @__PURE__ */ S(y, {
359
- className: "flex items-center gap-2",
360
- children: [/* @__PURE__ */ x(p, { className: "w-4 h-4 text-text-secondary" }), "Data Preview"]
361
- }), /* @__PURE__ */ S("div", {
362
- className: "flex items-center gap-2",
363
- children: [T && /* @__PURE__ */ S("div", {
364
- className: "flex items-center border border-border-default rounded-md overflow-hidden",
365
- children: [/* @__PURE__ */ x("button", {
366
- type: "button",
367
- onClick: () => L("table"),
368
- className: `p-1.5 ${I === "table" ? "bg-bg-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
369
- title: "Table view",
370
- children: /* @__PURE__ */ x(be, { className: "w-4 h-4" })
371
- }), /* @__PURE__ */ x("button", {
372
- type: "button",
373
- onClick: () => L("json"),
374
- className: `p-1.5 ${I === "json" ? "bg-bg-sunken text-text-primary" : "text-text-secondary hover:text-text-primary"}`,
375
- title: "JSON view",
376
- children: /* @__PURE__ */ x(he, { className: "w-4 h-4" })
377
- })]
378
- }), /* @__PURE__ */ x(g, {
379
- onClick: Z,
380
- disabled: P,
381
- variant: T ? "secondary" : "default",
382
- size: "sm",
383
- children: P ? /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(m, { className: "w-4 h-4 mr-2 animate-spin" }), "Loading..."] }) : T ? /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(ye, { className: "w-4 h-4 mr-2" }), "Hide Data"] }) : /* @__PURE__ */ S(b, { children: [/* @__PURE__ */ x(ve, { className: "w-4 h-4 mr-2" }), "Show Data"] })
384
- })]
385
- })]
386
- }),
387
- T && N && /* @__PURE__ */ S(_, { children: [x(I === "table" ? ee : ae, {
388
- data: N,
389
- maxHeight: "400px"
390
- }), B !== null && /* @__PURE__ */ S("div", {
391
- className: "flex items-center justify-between gap-4 mt-4 pt-4 border-t border-border-subtle",
392
- children: [/* @__PURE__ */ S("div", {
393
- className: "flex items-center gap-2 text-body-sm text-text-secondary",
394
- children: [/* @__PURE__ */ x("span", { children: "Rows per page" }), /* @__PURE__ */ x("select", {
395
- "aria-label": "Rows per page",
396
- className: "bg-bg-canvas border border-border-default rounded px-2 py-0.5 text-text-primary",
397
- value: R,
398
- onChange: (e) => He(Number(e.target.value)),
399
- children: [
400
- 100,
401
- 500,
402
- 1e3
403
- ].map((e) => /* @__PURE__ */ x("option", {
404
- value: e,
405
- children: e
406
- }, e))
407
437
  })]
408
- }), /* @__PURE__ */ S("div", {
409
- 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",
410
446
  children: [
411
- /* @__PURE__ */ x("span", { children: B === 0 ? "0 rows" : `${z + 1}–${Math.min(z + R, B)} of ${B}` }),
412
- /* @__PURE__ */ x(g, {
413
- variant: "secondary",
414
- size: "sm",
415
- disabled: z === 0 || P,
416
- onClick: () => void X(Math.max(0, z - R), R),
417
- children: "Previous"
447
+ /* @__PURE__ */ v(p, {
448
+ "aria-hidden": "true",
449
+ className: "h-icon-lg w-icon-lg text-text-muted"
418
450
  }),
419
- /* @__PURE__ */ x(g, {
420
- 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",
421
458
  size: "sm",
422
- disabled: !Le || P,
423
- onClick: () => void X(z + R, R),
424
- children: "Next"
459
+ children: [/* @__PURE__ */ v(h, { className: "w-4 h-4 mr-2" }), C("bigconsole.dataSinks.view.importData", "Import Data")]
425
460
  })
426
461
  ]
427
- })]
428
- })] }),
429
- !T && (V.data && Object.keys(V.data).length > 0 ? /* @__PURE__ */ S(_, {
430
- className: "text-center p-8",
431
- children: [/* @__PURE__ */ x(p, { className: "w-10 h-10 text-text-tertiary mx-auto mb-4" }), /* @__PURE__ */ x("p", {
432
- className: "text-body-sm text-text-secondary",
433
- children: "Click \"Show Data\" to preview the cached data."
434
- })]
435
- }) : /* @__PURE__ */ S(_, {
436
- className: "text-center p-8",
437
- children: [
438
- /* @__PURE__ */ x(p, { className: "w-10 h-10 text-text-tertiary mx-auto mb-4" }),
439
- /* @__PURE__ */ x("p", {
440
- className: "text-body-sm text-text-secondary mb-4",
441
- children: "This data sink has no data yet. Upload a CSV or build a workflow to import data."
442
- }),
443
- /* @__PURE__ */ S(g, {
444
- onClick: $,
445
- variant: "default",
446
- size: "sm",
447
- children: [/* @__PURE__ */ x(h, { className: "w-4 h-4 mr-2" }), "Import Data"]
448
- })
449
- ]
450
- }))
451
- ] }),
452
- /* @__PURE__ */ x(le, {
462
+ }))]
463
+ })]
464
+ }),
465
+ /* @__PURE__ */ v(ue, {
453
466
  isOpen: je,
454
- dataSinkId: s || null,
467
+ dataSinkId: c || null,
455
468
  dataSinkName: V.name || V.key,
456
469
  onClose: Ue
457
470
  }),
458
- /* @__PURE__ */ x(ue, {
471
+ /* @__PURE__ */ v(de, {
459
472
  isOpen: Me,
460
473
  dataSinkName: V.name || V.key,
461
474
  hasExistingData: !!(V.data && Object.keys(V.data).length > 0),
@@ -464,22 +477,22 @@ var w = s(function() {
464
477
  onImportCsv: Ke
465
478
  })
466
479
  ]
467
- }) : /* @__PURE__ */ x("div", {
468
- className: "flex items-center justify-center min-h-[400px] p-card-padding",
469
- children: /* @__PURE__ */ x(Te, {
480
+ }) : /* @__PURE__ */ v("div", {
481
+ className: "flex min-h-[240px] items-center justify-center p-card-padding",
482
+ children: /* @__PURE__ */ v(Ee, {
470
483
  illustration: "empty-data",
471
- title: "DataSink not found",
472
- description: "The DataSink you're looking for doesn't exist or has been deleted.",
473
- action: /* @__PURE__ */ S(g, {
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, {
474
487
  onClick: J,
475
488
  variant: "default",
476
489
  size: "default",
477
- children: [/* @__PURE__ */ x(f, { className: "w-4 h-4 mr-2" }), "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")]
478
491
  })
479
492
  })
480
493
  });
481
494
  });
482
495
  //#endregion
483
- export { w as DataSinkViewPage, w as default };
496
+ export { S as DataSinkViewPage, S as default };
484
497
 
485
498
  //# sourceMappingURL=DataSinkViewPage.js.map