@burdenoff/microfe-bigconsole 2026.1008.12 → 2026.1008.14

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 (1452) hide show
  1. package/README.md +3 -0
  2. package/dist/bigconsole/AdminRoot.d.ts +0 -1
  3. package/dist/bigconsole/AdminRoot.js +0 -2
  4. package/dist/bigconsole/AdminRoutes.d.ts +0 -1
  5. package/dist/bigconsole/AdminRoutes.js +0 -2
  6. package/dist/bigconsole/BigConsoleRoot.d.ts +0 -1
  7. package/dist/bigconsole/BigConsoleRoot.js +0 -2
  8. package/dist/bigconsole/BigConsoleRoutes.d.ts +0 -1
  9. package/dist/bigconsole/BigConsoleRoutes.js +0 -2
  10. package/dist/bigconsole/assistant/assistantApi.d.ts +0 -1
  11. package/dist/bigconsole/assistant/assistantApi.js +0 -2
  12. package/dist/bigconsole/assistant/assistantProduct.d.ts +0 -1
  13. package/dist/bigconsole/assistant/assistantProduct.js +0 -2
  14. package/dist/bigconsole/assistant/assistantPrompt.d.ts +0 -1
  15. package/dist/bigconsole/assistant/assistantPrompt.js +0 -2
  16. package/dist/bigconsole/assistant/assistantRunPersistence.d.ts +0 -1
  17. package/dist/bigconsole/assistant/assistantRunPersistence.js +0 -2
  18. package/dist/bigconsole/assistant/assistantRunStore.d.ts +0 -1
  19. package/dist/bigconsole/assistant/assistantRunStore.js +0 -2
  20. package/dist/bigconsole/assistant/assistantRuntime.d.ts +0 -1
  21. package/dist/bigconsole/assistant/assistantRuntime.js +0 -2
  22. package/dist/bigconsole/assistant/attachmentExtract.d.ts +0 -1
  23. package/dist/bigconsole/assistant/attachmentExtract.js +0 -2
  24. package/dist/bigconsole/assistant/conversationHistoryApi.d.ts +0 -1
  25. package/dist/bigconsole/assistant/conversationHistoryApi.js +0 -2
  26. package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts +0 -1
  27. package/dist/bigconsole/assistant/createSandboxAssistantTransport.js +0 -2
  28. package/dist/bigconsole/assistant/displayCopy.d.ts +0 -1
  29. package/dist/bigconsole/assistant/index.d.ts +0 -1
  30. package/dist/bigconsole/assistant/modes.d.ts +0 -1
  31. package/dist/bigconsole/assistant/modes.js +0 -2
  32. package/dist/bigconsole/assistant/pageContext.d.ts +0 -1
  33. package/dist/bigconsole/assistant/pageContext.js +0 -2
  34. package/dist/bigconsole/assistant/previewController.d.ts +0 -1
  35. package/dist/bigconsole/assistant/previewController.js +0 -2
  36. package/dist/bigconsole/assistant/previewMutationResult.d.ts +0 -1
  37. package/dist/bigconsole/assistant/previewMutationResult.js +0 -2
  38. package/dist/bigconsole/assistant/previewRunAction.d.ts +0 -1
  39. package/dist/bigconsole/assistant/previewRunAction.js +0 -2
  40. package/dist/bigconsole/assistant/product.d.ts +0 -1
  41. package/dist/bigconsole/assistant/product.js +0 -2
  42. package/dist/bigconsole/assistant/recordAdapters.d.ts +0 -1
  43. package/dist/bigconsole/assistant/recordAdapters.js +0 -2
  44. package/dist/bigconsole/assistant/types.d.ts +0 -1
  45. package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts +0 -1
  46. package/dist/bigconsole/assistant/useAssistantRunWorkspace.js +0 -2
  47. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts +0 -1
  48. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js +0 -2
  49. package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts +0 -1
  50. package/dist/bigconsole/components/DrilldownDashboardRenderer.js +0 -2
  51. package/dist/bigconsole/components/DrilldownModal.d.ts +0 -1
  52. package/dist/bigconsole/components/DrilldownModal.js +0 -2
  53. package/dist/bigconsole/components/builder/BuilderCanvas.d.ts +0 -1
  54. package/dist/bigconsole/components/builder/BuilderCanvas.js +0 -2
  55. package/dist/bigconsole/components/builder/BuilderTopbar.d.ts +0 -1
  56. package/dist/bigconsole/components/builder/BuilderTopbar.js +0 -2
  57. package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts +0 -1
  58. package/dist/bigconsole/components/builder/DashboardEditorShell.js +0 -2
  59. package/dist/bigconsole/components/builder/WidgetInspector.d.ts +0 -1
  60. package/dist/bigconsole/components/builder/WidgetInspector.js +0 -2
  61. package/dist/bigconsole/components/builder/index.d.ts +0 -1
  62. package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts +0 -1
  63. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +0 -2
  64. package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts +0 -1
  65. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +0 -2
  66. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts +0 -1
  67. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +0 -2
  68. package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts +0 -1
  69. package/dist/bigconsole/components/builder/inspector/GeneralSection.js +0 -2
  70. package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts +0 -1
  71. package/dist/bigconsole/components/builder/inspector/LayoutSection.js +0 -2
  72. package/dist/bigconsole/components/builder/inspector/index.d.ts +0 -1
  73. package/dist/bigconsole/components/common/Section.d.ts +0 -1
  74. package/dist/bigconsole/components/common/Section.js +0 -2
  75. package/dist/bigconsole/components/common/index.d.ts +0 -1
  76. package/dist/bigconsole/components/common/sectionStyles.d.ts +0 -1
  77. package/dist/bigconsole/components/common/sectionStyles.js +0 -2
  78. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts +0 -1
  79. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +0 -2
  80. package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts +0 -1
  81. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +0 -2
  82. package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts +0 -1
  83. package/dist/bigconsole/components/dashboard/DashboardGrid.js +0 -2
  84. package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts +0 -1
  85. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js +0 -2
  86. package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts +0 -1
  87. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +0 -2
  88. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts +0 -1
  89. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +0 -2
  90. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts +0 -1
  91. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +0 -2
  92. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts +0 -1
  93. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +0 -2
  94. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts +0 -1
  95. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +0 -2
  96. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts +0 -1
  97. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +0 -2
  98. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts +0 -1
  99. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +0 -2
  100. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts +0 -1
  101. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts +0 -1
  102. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +0 -2
  103. package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts +0 -1
  104. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +0 -2
  105. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts +0 -1
  106. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js +0 -2
  107. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts +0 -1
  108. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +0 -2
  109. package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts +0 -1
  110. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts +0 -1
  111. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +0 -2
  112. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts +0 -1
  113. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +0 -2
  114. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts +0 -1
  115. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts +0 -1
  116. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +0 -2
  117. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts +0 -1
  118. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +0 -2
  119. package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts +0 -1
  120. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts +0 -1
  121. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +0 -2
  122. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts +0 -1
  123. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +0 -2
  124. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts +0 -1
  125. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +0 -2
  126. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts +0 -1
  127. package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts +0 -1
  128. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts +0 -1
  129. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +0 -2
  130. package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts +0 -1
  131. package/dist/bigconsole/components/dashboard/WidgetPalette.js +0 -2
  132. package/dist/bigconsole/components/dashboard/index.d.ts +0 -1
  133. package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts +0 -1
  134. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +0 -2
  135. package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts +0 -1
  136. package/dist/bigconsole/components/datasink/AlertRuleEditor.js +0 -2
  137. package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts +0 -1
  138. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +0 -2
  139. package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts +0 -1
  140. package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts +0 -1
  141. package/dist/bigconsole/components/datasink/DataSinkCard.d.ts +0 -1
  142. package/dist/bigconsole/components/datasink/DataSinkCard.js +0 -2
  143. package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts +0 -1
  144. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +0 -2
  145. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts +0 -1
  146. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +0 -2
  147. package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts +0 -1
  148. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts +0 -1
  149. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +0 -2
  150. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts +0 -1
  151. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +0 -2
  152. package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts +0 -1
  153. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +0 -2
  154. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts +0 -1
  155. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +0 -2
  156. package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts +0 -1
  157. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts +0 -1
  158. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +0 -2
  159. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts +0 -1
  160. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +0 -2
  161. package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts +0 -1
  162. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +0 -2
  163. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts +0 -1
  164. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +0 -2
  165. package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts +0 -1
  166. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +0 -2
  167. package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts +0 -1
  168. package/dist/bigconsole/components/datasink/SetupStateBadge.js +0 -2
  169. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts +0 -1
  170. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +0 -2
  171. package/dist/bigconsole/components/datasink/index.d.ts +0 -1
  172. package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts +0 -1
  173. package/dist/bigconsole/components/embed/EmbedErrorBoundary.js +0 -2
  174. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts +0 -1
  175. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js +0 -2
  176. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts +0 -1
  177. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js +0 -2
  178. package/dist/bigconsole/components/embed/drilldown.d.ts +0 -1
  179. package/dist/bigconsole/components/embed/drilldown.js +0 -2
  180. package/dist/bigconsole/components/embed/index.d.ts +0 -1
  181. package/dist/bigconsole/components/embed/renderer-manifest.d.ts +0 -1
  182. package/dist/bigconsole/components/embed/renderer-manifest.js +0 -2
  183. package/dist/bigconsole/components/embed/types.d.ts +0 -1
  184. package/dist/bigconsole/components/embed/types.js +0 -2
  185. package/dist/bigconsole/components/embed/validate.d.ts +0 -1
  186. package/dist/bigconsole/components/embed/validate.js +0 -2
  187. package/dist/bigconsole/components/embed/widgetShim.d.ts +0 -1
  188. package/dist/bigconsole/components/embed/widgetShim.js +0 -2
  189. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts +0 -1
  190. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js +0 -2
  191. package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts +0 -1
  192. package/dist/bigconsole/components/embed/widgets/ChartEmbed.js +0 -2
  193. package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts +0 -1
  194. package/dist/bigconsole/components/embed/widgets/EmbedFrame.js +0 -2
  195. package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts +0 -1
  196. package/dist/bigconsole/components/embed/widgets/FormEmbed.js +0 -2
  197. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts +0 -1
  198. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js +0 -2
  199. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts +0 -1
  200. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js +0 -2
  201. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts +0 -1
  202. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js +0 -2
  203. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts +0 -1
  204. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js +0 -2
  205. package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts +0 -1
  206. package/dist/bigconsole/components/embed/widgets/ListEmbed.js +0 -2
  207. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts +0 -1
  208. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js +0 -2
  209. package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts +0 -1
  210. package/dist/bigconsole/components/embed/widgets/PivotEmbed.js +0 -2
  211. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts +0 -1
  212. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js +0 -2
  213. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts +0 -1
  214. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js +0 -2
  215. package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts +0 -1
  216. package/dist/bigconsole/components/embed/widgets/TableEmbed.js +0 -2
  217. package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts +0 -1
  218. package/dist/bigconsole/components/embed/widgets/TextEmbed.js +0 -2
  219. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts +0 -1
  220. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js +0 -2
  221. package/dist/bigconsole/components/embed/widgets/shared.d.ts +0 -1
  222. package/dist/bigconsole/components/embed/widgets/shared.js +0 -2
  223. package/dist/bigconsole/components/overview/DashboardGuide.d.ts +0 -1
  224. package/dist/bigconsole/components/overview/DashboardGuide.js +0 -2
  225. package/dist/bigconsole/components/overview/DataHealthCard.d.ts +0 -1
  226. package/dist/bigconsole/components/overview/DataHealthCard.js +0 -2
  227. package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts +0 -1
  228. package/dist/bigconsole/components/overview/OverviewQuickActions.js +0 -2
  229. package/dist/bigconsole/components/overview/OverviewStatCard.d.ts +0 -1
  230. package/dist/bigconsole/components/overview/OverviewStatCard.js +0 -2
  231. package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts +0 -1
  232. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js +0 -2
  233. package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts +0 -1
  234. package/dist/bigconsole/components/overview/dashboardGuideSteps.js +0 -2
  235. package/dist/bigconsole/components/overview/index.d.ts +0 -1
  236. package/dist/bigconsole/components/overview/overviewModel.d.ts +0 -1
  237. package/dist/bigconsole/components/overview/overviewModel.js +0 -2
  238. package/dist/bigconsole/components/overview/useOverviewData.d.ts +0 -1
  239. package/dist/bigconsole/components/overview/useOverviewData.js +0 -2
  240. package/dist/bigconsole/components/parser/DataSinkSelector.d.ts +0 -1
  241. package/dist/bigconsole/components/parser/DataSinkSelector.js +0 -2
  242. package/dist/bigconsole/components/parser/ExportParserDialog.d.ts +0 -1
  243. package/dist/bigconsole/components/parser/ExportParserDialog.js +0 -2
  244. package/dist/bigconsole/components/parser/ExpressionEditor.d.ts +0 -1
  245. package/dist/bigconsole/components/parser/ExpressionEditor.js +0 -2
  246. package/dist/bigconsole/components/parser/ImportParserDialog.d.ts +0 -1
  247. package/dist/bigconsole/components/parser/ImportParserDialog.js +0 -2
  248. package/dist/bigconsole/components/parser/ParserBuilder.d.ts +0 -1
  249. package/dist/bigconsole/components/parser/ParserCard.d.ts +0 -1
  250. package/dist/bigconsole/components/parser/ParserCard.js +0 -2
  251. package/dist/bigconsole/components/parser/ParserFormDialog.d.ts +0 -1
  252. package/dist/bigconsole/components/parser/ParserSelector.d.ts +0 -1
  253. package/dist/bigconsole/components/parser/ParserSelector.js +0 -2
  254. package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts +0 -1
  255. package/dist/bigconsole/components/parser/ParserStatusBadge.js +0 -2
  256. package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts +0 -1
  257. package/dist/bigconsole/components/parser/ParserTypeBadge.js +0 -2
  258. package/dist/bigconsole/components/parser/TestPanel.d.ts +0 -1
  259. package/dist/bigconsole/components/parser/index.d.ts +0 -1
  260. package/dist/bigconsole/components/parser/parserFieldStyles.d.ts +0 -1
  261. package/dist/bigconsole/components/pipeline/PipelineCard.d.ts +0 -1
  262. package/dist/bigconsole/components/pipeline/PipelineCard.js +0 -2
  263. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts +0 -1
  264. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +0 -2
  265. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts +0 -1
  266. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +0 -2
  267. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts +0 -1
  268. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +0 -2
  269. package/dist/bigconsole/components/pipeline/index.d.ts +0 -1
  270. package/dist/bigconsole/components/preview/AiPreviewContent.d.ts +0 -1
  271. package/dist/bigconsole/components/preview/AiPreviewContent.js +0 -2
  272. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts +0 -1
  273. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +0 -2
  274. package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts +0 -1
  275. package/dist/bigconsole/components/preview/AiPreviewPanel.js +0 -2
  276. package/dist/bigconsole/components/preview/parserPreview.d.ts +0 -1
  277. package/dist/bigconsole/components/preview/parserPreview.js +0 -2
  278. package/dist/bigconsole/components/preview/previewShared.d.ts +0 -1
  279. package/dist/bigconsole/components/preview/previewShared.js +0 -2
  280. package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts +0 -1
  281. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +0 -2
  282. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts +0 -1
  283. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +0 -2
  284. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts +0 -1
  285. package/dist/bigconsole/components/widgets/PropertiesPanel.js +505 -506
  286. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts +0 -1
  287. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +0 -2
  288. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts +0 -1
  289. package/dist/bigconsole/components/widgets/WidgetHeader.js +0 -2
  290. package/dist/bigconsole/components/widgets/WidgetMenu.d.ts +0 -1
  291. package/dist/bigconsole/components/widgets/WidgetMenu.js +0 -2
  292. package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts +0 -1
  293. package/dist/bigconsole/components/widgets/WidgetRegistry.js +0 -2
  294. package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts +0 -1
  295. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts +0 -1
  296. package/dist/bigconsole/components/widgets/WidgetWrapper.js +0 -2
  297. package/dist/bigconsole/components/widgets/actionConfig.d.ts +0 -1
  298. package/dist/bigconsole/components/widgets/actionConfig.js +0 -2
  299. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts +0 -1
  300. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +0 -2
  301. package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts +0 -1
  302. package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts +0 -1
  303. package/dist/bigconsole/components/widgets/calendar/CalendarView.js +0 -2
  304. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts +0 -1
  305. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +0 -2
  306. package/dist/bigconsole/components/widgets/calendar/index.d.ts +0 -1
  307. package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts +0 -1
  308. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +0 -2
  309. package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts +0 -1
  310. package/dist/bigconsole/components/widgets/chart/ChartLegend.js +0 -2
  311. package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts +0 -1
  312. package/dist/bigconsole/components/widgets/chart/ChartTooltip.js +0 -2
  313. package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts +0 -1
  314. package/dist/bigconsole/components/widgets/chart/ChartWidget.js +0 -2
  315. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts +0 -1
  316. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js +0 -2
  317. package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts +0 -1
  318. package/dist/bigconsole/components/widgets/chart/charts/BarChart.js +0 -2
  319. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts +0 -1
  320. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js +0 -2
  321. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts +0 -1
  322. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js +0 -2
  323. package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts +0 -1
  324. package/dist/bigconsole/components/widgets/chart/charts/LineChart.js +0 -2
  325. package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts +0 -1
  326. package/dist/bigconsole/components/widgets/chart/charts/PieChart.js +0 -2
  327. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts +0 -1
  328. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js +0 -2
  329. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts +0 -1
  330. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js +0 -2
  331. package/dist/bigconsole/components/widgets/chart/charts/index.d.ts +0 -1
  332. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts +0 -1
  333. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js +0 -2
  334. package/dist/bigconsole/components/widgets/chart/charts/types.d.ts +0 -1
  335. package/dist/bigconsole/components/widgets/chart/index.d.ts +0 -1
  336. package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts +0 -1
  337. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +0 -2
  338. package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts +0 -1
  339. package/dist/bigconsole/components/widgets/custom/CustomWidget.js +0 -2
  340. package/dist/bigconsole/components/widgets/custom/config.d.ts +0 -1
  341. package/dist/bigconsole/components/widgets/custom/config.js +0 -2
  342. package/dist/bigconsole/components/widgets/custom/index.d.ts +0 -1
  343. package/dist/bigconsole/components/widgets/custom/utils.d.ts +0 -1
  344. package/dist/bigconsole/components/widgets/custom/utils.js +0 -2
  345. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts +0 -1
  346. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +0 -2
  347. package/dist/bigconsole/components/widgets/event-logs/index.d.ts +0 -1
  348. package/dist/bigconsole/components/widgets/form/FormWidget.d.ts +0 -1
  349. package/dist/bigconsole/components/widgets/form/FormWidget.js +0 -2
  350. package/dist/bigconsole/components/widgets/form/index.d.ts +0 -1
  351. package/dist/bigconsole/components/widgets/funnel/index.d.ts +0 -1
  352. package/dist/bigconsole/components/widgets/funnel/index.js +0 -2
  353. package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts +0 -1
  354. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +0 -2
  355. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts +0 -1
  356. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +0 -2
  357. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts +0 -1
  358. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +0 -2
  359. package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts +0 -1
  360. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +0 -2
  361. package/dist/bigconsole/components/widgets/gauge/index.d.ts +0 -1
  362. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts +0 -1
  363. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +0 -2
  364. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts +0 -1
  365. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js +0 -2
  366. package/dist/bigconsole/components/widgets/heatmap/index.d.ts +0 -1
  367. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts +0 -1
  368. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +0 -2
  369. package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts +0 -1
  370. package/dist/bigconsole/components/widgets/index.d.ts +0 -1
  371. package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts +0 -1
  372. package/dist/bigconsole/components/widgets/kanban/KanbanView.js +0 -2
  373. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts +0 -1
  374. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +0 -2
  375. package/dist/bigconsole/components/widgets/kanban/index.d.ts +0 -1
  376. package/dist/bigconsole/components/widgets/kanban/model.d.ts +0 -1
  377. package/dist/bigconsole/components/widgets/kanban/model.js +0 -2
  378. package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts +0 -1
  379. package/dist/bigconsole/components/widgets/kpi/KPIWidget.js +0 -2
  380. package/dist/bigconsole/components/widgets/kpi/index.d.ts +0 -1
  381. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts +0 -1
  382. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +0 -2
  383. package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts +0 -1
  384. package/dist/bigconsole/components/widgets/list/ListConfig.d.ts +0 -1
  385. package/dist/bigconsole/components/widgets/list/ListConfig.js +0 -2
  386. package/dist/bigconsole/components/widgets/list/ListItem.d.ts +0 -1
  387. package/dist/bigconsole/components/widgets/list/ListItem.js +0 -2
  388. package/dist/bigconsole/components/widgets/list/ListWidget.d.ts +0 -1
  389. package/dist/bigconsole/components/widgets/list/ListWidget.js +0 -2
  390. package/dist/bigconsole/components/widgets/list/index.d.ts +0 -1
  391. package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts +0 -1
  392. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +0 -2
  393. package/dist/bigconsole/components/widgets/map-widget/index.d.ts +0 -1
  394. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts +0 -1
  395. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js +0 -2
  396. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts +0 -1
  397. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +0 -2
  398. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts +0 -1
  399. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +0 -2
  400. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts +0 -1
  401. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +0 -2
  402. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts +0 -1
  403. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +0 -2
  404. package/dist/bigconsole/components/widgets/metric-card/index.d.ts +0 -1
  405. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts +0 -1
  406. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +0 -2
  407. package/dist/bigconsole/components/widgets/pivot-table/index.d.ts +0 -1
  408. package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts +0 -1
  409. package/dist/bigconsole/components/widgets/progress/ProgressBar.js +0 -2
  410. package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts +0 -1
  411. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +0 -2
  412. package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts +0 -1
  413. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +0 -2
  414. package/dist/bigconsole/components/widgets/progress/index.d.ts +0 -1
  415. package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts +0 -1
  416. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +0 -2
  417. package/dist/bigconsole/components/widgets/retention/index.d.ts +0 -1
  418. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts +0 -1
  419. package/dist/bigconsole/components/widgets/states/EmptyState.js +0 -2
  420. package/dist/bigconsole/components/widgets/states/ErrorState.d.ts +0 -1
  421. package/dist/bigconsole/components/widgets/states/ErrorState.js +0 -2
  422. package/dist/bigconsole/components/widgets/states/LoadingState.d.ts +0 -1
  423. package/dist/bigconsole/components/widgets/states/LoadingState.js +0 -2
  424. package/dist/bigconsole/components/widgets/states/index.d.ts +0 -1
  425. package/dist/bigconsole/components/widgets/table/TableCell.d.ts +0 -1
  426. package/dist/bigconsole/components/widgets/table/TableCell.js +0 -2
  427. package/dist/bigconsole/components/widgets/table/TableConfig.d.ts +0 -1
  428. package/dist/bigconsole/components/widgets/table/TableConfig.js +0 -2
  429. package/dist/bigconsole/components/widgets/table/TableHeader.d.ts +0 -1
  430. package/dist/bigconsole/components/widgets/table/TableHeader.js +0 -2
  431. package/dist/bigconsole/components/widgets/table/TablePagination.d.ts +0 -1
  432. package/dist/bigconsole/components/widgets/table/TablePagination.js +0 -2
  433. package/dist/bigconsole/components/widgets/table/TableWidget.d.ts +0 -1
  434. package/dist/bigconsole/components/widgets/table/TableWidget.js +0 -2
  435. package/dist/bigconsole/components/widgets/table/cellLink.d.ts +0 -1
  436. package/dist/bigconsole/components/widgets/table/cellLink.js +0 -2
  437. package/dist/bigconsole/components/widgets/table/index.d.ts +0 -1
  438. package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts +0 -1
  439. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +0 -2
  440. package/dist/bigconsole/components/widgets/text-widget/index.d.ts +0 -1
  441. package/dist/bigconsole/components/widgets/text-widget/textData.d.ts +0 -1
  442. package/dist/bigconsole/components/widgets/text-widget/textData.js +0 -2
  443. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts +0 -1
  444. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +0 -2
  445. package/dist/bigconsole/components/widgets/timeline/index.d.ts +0 -1
  446. package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts +0 -1
  447. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +0 -2
  448. package/dist/bigconsole/components/widgets/utils/inferFields.d.ts +0 -1
  449. package/dist/bigconsole/components/widgets/utils/inferFields.js +0 -2
  450. package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts +0 -1
  451. package/dist/bigconsole/components/widgets/utils/targetProgress.js +0 -2
  452. package/dist/bigconsole/components/widgets/utils/translate.d.ts +0 -1
  453. package/dist/bigconsole/components/widgets/utils/translate.js +0 -2
  454. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts +0 -1
  455. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +0 -2
  456. package/dist/bigconsole/components/widgets/webhook-config/index.d.ts +0 -1
  457. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts +0 -1
  458. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +0 -2
  459. package/dist/bigconsole/components/widgets/widget-actions/index.d.ts +0 -1
  460. package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts +0 -1
  461. package/dist/bigconsole/components/workflow/WorkflowCard.d.ts +0 -1
  462. package/dist/bigconsole/components/workflow/WorkflowCard.js +0 -2
  463. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts +0 -1
  464. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +0 -2
  465. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts +0 -1
  466. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js +0 -2
  467. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts +0 -1
  468. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +0 -2
  469. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts +0 -1
  470. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +0 -2
  471. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts +0 -1
  472. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +0 -2
  473. package/dist/bigconsole/components/workflow/index.d.ts +0 -1
  474. package/dist/bigconsole/constants/backendErrors.d.ts +0 -1
  475. package/dist/bigconsole/constants/backendErrors.js +0 -2
  476. package/dist/bigconsole/constants.d.ts +0 -1
  477. package/dist/bigconsole/constants.js +0 -2
  478. package/dist/bigconsole/context/BigConsoleContext.d.ts +0 -1
  479. package/dist/bigconsole/context/BigConsoleContext.js +0 -2
  480. package/dist/bigconsole/context/index.d.ts +0 -1
  481. package/dist/bigconsole/contexts/CrossFilterContext.d.ts +0 -1
  482. package/dist/bigconsole/contexts/CrossFilterContext.js +0 -2
  483. package/dist/bigconsole/contexts/NavigationContext.d.ts +0 -1
  484. package/dist/bigconsole/contexts/NavigationContext.js +0 -2
  485. package/dist/bigconsole/contexts/index.d.ts +0 -1
  486. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts +0 -1
  487. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +0 -2
  488. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts +0 -1
  489. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +0 -2
  490. package/dist/bigconsole/customWidget/index.d.ts +0 -1
  491. package/dist/bigconsole/customWidget/proposalContract.d.ts +0 -1
  492. package/dist/bigconsole/customWidget/proposalContract.js +0 -2
  493. package/dist/bigconsole/customWidget/proposalSource.d.ts +0 -1
  494. package/dist/bigconsole/customWidget/proposalSource.js +0 -2
  495. package/dist/bigconsole/graphql/apollo-compat.d.ts +0 -1
  496. package/dist/bigconsole/graphql/storeTemplates.d.ts +0 -1
  497. package/dist/bigconsole/graphql/storeTemplates.js +0 -2
  498. package/dist/bigconsole/hooks/index.d.ts +0 -1
  499. package/dist/bigconsole/hooks/useActivePage.d.ts +0 -1
  500. package/dist/bigconsole/hooks/useActivePage.js +0 -2
  501. package/dist/bigconsole/hooks/useAutoRefresh.d.ts +0 -1
  502. package/dist/bigconsole/hooks/useAutoRefresh.js +0 -2
  503. package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts +0 -1
  504. package/dist/bigconsole/hooks/useBigConsoleAnalytics.js +0 -2
  505. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts +0 -1
  506. package/dist/bigconsole/hooks/useBigConsoleSettings.js +0 -2
  507. package/dist/bigconsole/hooks/useCrossFilter.d.ts +0 -1
  508. package/dist/bigconsole/hooks/useCrossFilter.js +0 -2
  509. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts +0 -1
  510. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js +0 -2
  511. package/dist/bigconsole/hooks/useDashboardImageExport.d.ts +0 -1
  512. package/dist/bigconsole/hooks/useDashboardImageExport.js +0 -2
  513. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +0 -1
  514. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +0 -2
  515. package/dist/bigconsole/hooks/useDashboardOperations.d.ts +0 -1
  516. package/dist/bigconsole/hooks/useDashboardOperations.js +0 -2
  517. package/dist/bigconsole/hooks/useDashboardSharing.d.ts +0 -1
  518. package/dist/bigconsole/hooks/useDashboardSharing.js +0 -2
  519. package/dist/bigconsole/hooks/useDashboardTemplates.d.ts +0 -1
  520. package/dist/bigconsole/hooks/useDashboardViews.d.ts +0 -1
  521. package/dist/bigconsole/hooks/useDashboardViews.js +0 -2
  522. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +0 -1
  523. package/dist/bigconsole/hooks/useDataSinkAlerts.js +0 -2
  524. package/dist/bigconsole/hooks/useDataSinkOperations.d.ts +0 -1
  525. package/dist/bigconsole/hooks/useDataSinkOperations.js +0 -2
  526. package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts +0 -1
  527. package/dist/bigconsole/hooks/useDataSinkSubscription.js +0 -2
  528. package/dist/bigconsole/hooks/useDrilldown.d.ts +0 -1
  529. package/dist/bigconsole/hooks/useDrilldown.js +0 -2
  530. package/dist/bigconsole/hooks/useDrilldownOperations.d.ts +0 -1
  531. package/dist/bigconsole/hooks/useDrilldownOperations.js +0 -2
  532. package/dist/bigconsole/hooks/useEventLogs.d.ts +0 -1
  533. package/dist/bigconsole/hooks/useEventLogs.js +0 -2
  534. package/dist/bigconsole/hooks/useEventWebhooks.d.ts +0 -1
  535. package/dist/bigconsole/hooks/useEventWebhooks.js +0 -2
  536. package/dist/bigconsole/hooks/useExportDashboard.d.ts +0 -1
  537. package/dist/bigconsole/hooks/useExportDashboard.js +0 -2
  538. package/dist/bigconsole/hooks/useExportDataSink.d.ts +0 -1
  539. package/dist/bigconsole/hooks/useExportDataSink.js +0 -2
  540. package/dist/bigconsole/hooks/useExportParser.d.ts +0 -1
  541. package/dist/bigconsole/hooks/useExportParser.js +0 -2
  542. package/dist/bigconsole/hooks/useFilterPresets.d.ts +0 -1
  543. package/dist/bigconsole/hooks/useFilterPresets.js +0 -2
  544. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts +0 -1
  545. package/dist/bigconsole/hooks/useFilterUrlSync.js +0 -2
  546. package/dist/bigconsole/hooks/useGlobalFilters.d.ts +0 -1
  547. package/dist/bigconsole/hooks/useGlobalFilters.js +0 -2
  548. package/dist/bigconsole/hooks/useImportDashboard.d.ts +0 -1
  549. package/dist/bigconsole/hooks/useImportDashboard.js +0 -2
  550. package/dist/bigconsole/hooks/useImportDataSink.d.ts +0 -1
  551. package/dist/bigconsole/hooks/useImportDataSink.js +0 -2
  552. package/dist/bigconsole/hooks/useImportParser.d.ts +0 -1
  553. package/dist/bigconsole/hooks/useImportParser.js +0 -2
  554. package/dist/bigconsole/hooks/useInstalledWidgets.d.ts +0 -1
  555. package/dist/bigconsole/hooks/useInstalledWidgets.js +0 -2
  556. package/dist/bigconsole/hooks/useModalFocusTrap.d.ts +0 -1
  557. package/dist/bigconsole/hooks/useModalFocusTrap.js +0 -2
  558. package/dist/bigconsole/hooks/usePageOperations.d.ts +0 -1
  559. package/dist/bigconsole/hooks/usePageOperations.js +0 -2
  560. package/dist/bigconsole/hooks/useParserOperations.d.ts +0 -1
  561. package/dist/bigconsole/hooks/useParserOperations.js +0 -2
  562. package/dist/bigconsole/hooks/usePipelineOperations.d.ts +0 -1
  563. package/dist/bigconsole/hooks/usePipelineOperations.js +0 -2
  564. package/dist/bigconsole/hooks/useShareRecipients.d.ts +0 -1
  565. package/dist/bigconsole/hooks/useShareRecipients.js +0 -2
  566. package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts +0 -1
  567. package/dist/bigconsole/hooks/useStoreDashboardTemplates.js +0 -2
  568. package/dist/bigconsole/hooks/useWidgetActions.d.ts +0 -1
  569. package/dist/bigconsole/hooks/useWidgetActions.js +0 -2
  570. package/dist/bigconsole/hooks/useWidgetCatalog.d.ts +0 -1
  571. package/dist/bigconsole/hooks/useWidgetCatalog.js +0 -2
  572. package/dist/bigconsole/hooks/useWidgetComments.d.ts +0 -1
  573. package/dist/bigconsole/hooks/useWidgetComments.js +0 -2
  574. package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts +0 -1
  575. package/dist/bigconsole/hooks/useWidgetConfigPersist.js +0 -2
  576. package/dist/bigconsole/hooks/useWidgetData.d.ts +0 -1
  577. package/dist/bigconsole/hooks/useWidgetData.js +0 -2
  578. package/dist/bigconsole/hooks/useWidgetEvents.d.ts +0 -1
  579. package/dist/bigconsole/hooks/useWidgetEvents.js +0 -2
  580. package/dist/bigconsole/hooks/useWidgetExport.d.ts +0 -1
  581. package/dist/bigconsole/hooks/useWidgetExport.js +0 -2
  582. package/dist/bigconsole/hooks/useWidgetOperations.d.ts +0 -1
  583. package/dist/bigconsole/hooks/useWidgetOperations.js +0 -2
  584. package/dist/bigconsole/hooks/useWorkflowOperations.d.ts +0 -1
  585. package/dist/bigconsole/hooks/useWorkflowOperations.js +0 -2
  586. package/dist/bigconsole/index.d.ts +0 -1
  587. package/dist/bigconsole/modules/dashboard/index.d.ts +0 -1
  588. package/dist/bigconsole/modules/index.d.ts +0 -1
  589. package/dist/bigconsole/modules/renderer/index.d.ts +0 -1
  590. package/dist/bigconsole/modules/widget/index.d.ts +0 -1
  591. package/dist/bigconsole/pages/AdminPage.d.ts +0 -1
  592. package/dist/bigconsole/pages/AdminPage.js +0 -2
  593. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts +0 -1
  594. package/dist/bigconsole/pages/DashboardBuilderPage.js +0 -2
  595. package/dist/bigconsole/pages/DashboardViewPage.d.ts +0 -1
  596. package/dist/bigconsole/pages/DashboardViewPage.js +0 -2
  597. package/dist/bigconsole/pages/DashboardsPage.d.ts +0 -1
  598. package/dist/bigconsole/pages/DashboardsPage.js +0 -2
  599. package/dist/bigconsole/pages/DataParsersPage.d.ts +0 -1
  600. package/dist/bigconsole/pages/DataParsersPage.js +0 -2
  601. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts +0 -1
  602. package/dist/bigconsole/pages/DataSinkAlertsPage.js +0 -2
  603. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts +0 -1
  604. package/dist/bigconsole/pages/DataSinkBuilderPage.js +8 -10
  605. package/dist/bigconsole/pages/DataSinkViewPage.d.ts +0 -1
  606. package/dist/bigconsole/pages/DataSinkViewPage.js +0 -2
  607. package/dist/bigconsole/pages/DataSinksPage.d.ts +0 -1
  608. package/dist/bigconsole/pages/DataSinksPage.js +0 -2
  609. package/dist/bigconsole/pages/DataSourcesPage.d.ts +0 -1
  610. package/dist/bigconsole/pages/DataSourcesPage.js +0 -2
  611. package/dist/bigconsole/pages/InsightsPage.d.ts +0 -1
  612. package/dist/bigconsole/pages/InsightsPage.js +373 -361
  613. package/dist/bigconsole/pages/OverviewPage.d.ts +0 -1
  614. package/dist/bigconsole/pages/OverviewPage.js +0 -2
  615. package/dist/bigconsole/pages/ParserBuilderPage.d.ts +0 -1
  616. package/dist/bigconsole/pages/ParserBuilderPage.js +5 -7
  617. package/dist/bigconsole/pages/ParserViewPage.d.ts +0 -1
  618. package/dist/bigconsole/pages/ParserViewPage.js +0 -2
  619. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts +0 -1
  620. package/dist/bigconsole/pages/PipelineBuilderPage.js +0 -2
  621. package/dist/bigconsole/pages/PipelineViewPage.d.ts +0 -1
  622. package/dist/bigconsole/pages/PipelineViewPage.js +0 -2
  623. package/dist/bigconsole/pages/PipelinesPage.d.ts +0 -1
  624. package/dist/bigconsole/pages/PipelinesPage.js +0 -2
  625. package/dist/bigconsole/pages/SettingsPage.d.ts +0 -1
  626. package/dist/bigconsole/pages/SettingsPage.js +0 -2
  627. package/dist/bigconsole/pages/WidgetDemoPage.d.ts +0 -1
  628. package/dist/bigconsole/pages/WidgetDemoPage.js +0 -2
  629. package/dist/bigconsole/pages/WorkflowViewPage.d.ts +0 -1
  630. package/dist/bigconsole/pages/WorkflowViewPage.js +0 -2
  631. package/dist/bigconsole/pages/WorkflowsPage.d.ts +0 -1
  632. package/dist/bigconsole/pages/WorkflowsPage.js +0 -2
  633. package/dist/bigconsole/pages/index.d.ts +0 -1
  634. package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts +0 -1
  635. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +0 -2
  636. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts +0 -1
  637. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +0 -2
  638. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts +0 -1
  639. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js +0 -2
  640. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts +0 -1
  641. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +0 -2
  642. package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts +0 -1
  643. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +0 -2
  644. package/dist/bigconsole/renderers/adapters/index.d.ts +0 -1
  645. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts +0 -1
  646. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js +0 -2
  647. package/dist/bigconsole/renderers/index.d.ts +0 -1
  648. package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts +0 -1
  649. package/dist/bigconsole/renderers/registry/RendererRegistry.js +0 -2
  650. package/dist/bigconsole/renderers/types/index.d.ts +0 -1
  651. package/dist/bigconsole/renderers/types/renderer.d.ts +0 -1
  652. package/dist/bigconsole/store/dashboardStore.d.ts +0 -1
  653. package/dist/bigconsole/store/dashboardStore.js +0 -2
  654. package/dist/bigconsole/store/dataSinkStore.d.ts +0 -1
  655. package/dist/bigconsole/store/dataSinkStore.js +0 -2
  656. package/dist/bigconsole/store/drilldownStore.d.ts +0 -1
  657. package/dist/bigconsole/store/drilldownStore.js +0 -2
  658. package/dist/bigconsole/store/index.d.ts +0 -1
  659. package/dist/bigconsole/store/parserStore.d.ts +0 -1
  660. package/dist/bigconsole/store/parserStore.js +0 -2
  661. package/dist/bigconsole/store/pipelineStore.d.ts +0 -1
  662. package/dist/bigconsole/store/pipelineStore.js +0 -2
  663. package/dist/bigconsole/store/widgetStore.d.ts +0 -1
  664. package/dist/bigconsole/store/widgetStore.js +0 -2
  665. package/dist/bigconsole/store/workflowStore.d.ts +0 -1
  666. package/dist/bigconsole/store/workflowStore.js +0 -2
  667. package/dist/bigconsole/types/index.d.ts +0 -1
  668. package/dist/bigconsole/utils/alertRules.d.ts +0 -1
  669. package/dist/bigconsole/utils/alertRules.js +0 -2
  670. package/dist/bigconsole/utils/backendError.d.ts +0 -1
  671. package/dist/bigconsole/utils/backendError.js +0 -2
  672. package/dist/bigconsole/utils/createDialogParam.d.ts +0 -1
  673. package/dist/bigconsole/utils/createDialogParam.js +0 -2
  674. package/dist/bigconsole/utils/csv.d.ts +0 -1
  675. package/dist/bigconsole/utils/csv.js +0 -2
  676. package/dist/bigconsole/utils/dashboardTemplateContent.d.ts +0 -1
  677. package/dist/bigconsole/utils/dashboardTemplateContent.js +0 -2
  678. package/dist/bigconsole/utils/drilldownParams.d.ts +0 -1
  679. package/dist/bigconsole/utils/drilldownParams.js +0 -2
  680. package/dist/bigconsole/utils/formDirty.d.ts +0 -1
  681. package/dist/bigconsole/utils/formDirty.js +0 -2
  682. package/dist/bigconsole/utils/format.d.ts +0 -1
  683. package/dist/bigconsole/utils/format.js +0 -2
  684. package/dist/bigconsole/utils/index.d.ts +0 -1
  685. package/dist/bigconsole/utils/insightsDraft.d.ts +29 -0
  686. package/dist/bigconsole/utils/insightsDraft.js +8 -0
  687. package/dist/bigconsole/utils/layoutBaseline.d.ts +0 -1
  688. package/dist/bigconsole/utils/layoutBaseline.js +0 -2
  689. package/dist/bigconsole/utils/quota.d.ts +0 -1
  690. package/dist/bigconsole/utils/quota.js +0 -2
  691. package/dist/bigconsole/utils/semanticTokens.d.ts +0 -1
  692. package/dist/bigconsole/utils/semanticTokens.js +0 -2
  693. package/dist/bigconsole/utils/templateInstallInputs.d.ts +0 -1
  694. package/dist/bigconsole/utils/templateInstallInputs.js +0 -2
  695. package/dist/bigconsole/utils/widgetBinding.d.ts +0 -1
  696. package/dist/bigconsole/utils/widgetBinding.js +0 -2
  697. package/dist/bigconsole/utils/widgetFormDirty.d.ts +16 -0
  698. package/dist/bigconsole/utils/widgetFormDirty.js +13 -0
  699. package/dist/bigconsole/utils/widgetPositioning.d.ts +0 -1
  700. package/dist/bigconsole/utils/widgetPositioning.js +0 -2
  701. package/dist/bigconsole/utils/widgetTypeMapping.d.ts +0 -1
  702. package/dist/bigconsole/utils/widgetTypeMapping.js +0 -2
  703. package/dist/bigconsole/workflowOpen.d.ts +0 -1
  704. package/dist/bigconsole/workflowOpen.js +0 -2
  705. package/dist/constants/permissions.d.ts +0 -1
  706. package/dist/constants/permissions.js +0 -2
  707. package/dist/generated/global-operations.d.ts +0 -1
  708. package/dist/generated/global-operations.js +0 -2
  709. package/dist/generated/global-types.d.ts +0 -1
  710. package/dist/generated/wspace-operations.d.ts +0 -1
  711. package/dist/generated/wspace-operations.js +0 -2
  712. package/dist/generated/wspace-types.d.ts +0 -1
  713. package/dist/generated/wspace-types.js +0 -2
  714. package/dist/index.d.ts +0 -1
  715. package/dist/node_modules/@e965/xlsx/xlsx.js +0 -2
  716. package/dist/node_modules/pdfjs-dist/build/pdf.js +0 -2
  717. package/dist/shared/hooks/useTr.d.ts +0 -1
  718. package/dist/shared/hooks/useTr.js +0 -2
  719. package/dist/translations/en.d.ts +0 -1
  720. package/dist/utils/nativeBridge.d.ts +0 -1
  721. package/package.json +5 -4
  722. package/dist/bigconsole/AdminRoot.d.ts.map +0 -1
  723. package/dist/bigconsole/AdminRoot.js.map +0 -1
  724. package/dist/bigconsole/AdminRoutes.d.ts.map +0 -1
  725. package/dist/bigconsole/AdminRoutes.js.map +0 -1
  726. package/dist/bigconsole/BigConsoleRoot.d.ts.map +0 -1
  727. package/dist/bigconsole/BigConsoleRoot.js.map +0 -1
  728. package/dist/bigconsole/BigConsoleRoutes.d.ts.map +0 -1
  729. package/dist/bigconsole/BigConsoleRoutes.js.map +0 -1
  730. package/dist/bigconsole/assistant/assistantApi.d.ts.map +0 -1
  731. package/dist/bigconsole/assistant/assistantApi.js.map +0 -1
  732. package/dist/bigconsole/assistant/assistantProduct.d.ts.map +0 -1
  733. package/dist/bigconsole/assistant/assistantProduct.js.map +0 -1
  734. package/dist/bigconsole/assistant/assistantPrompt.d.ts.map +0 -1
  735. package/dist/bigconsole/assistant/assistantPrompt.js.map +0 -1
  736. package/dist/bigconsole/assistant/assistantRunPersistence.d.ts.map +0 -1
  737. package/dist/bigconsole/assistant/assistantRunPersistence.js.map +0 -1
  738. package/dist/bigconsole/assistant/assistantRunStore.d.ts.map +0 -1
  739. package/dist/bigconsole/assistant/assistantRunStore.js.map +0 -1
  740. package/dist/bigconsole/assistant/assistantRuntime.d.ts.map +0 -1
  741. package/dist/bigconsole/assistant/assistantRuntime.js.map +0 -1
  742. package/dist/bigconsole/assistant/attachmentExtract.d.ts.map +0 -1
  743. package/dist/bigconsole/assistant/attachmentExtract.js.map +0 -1
  744. package/dist/bigconsole/assistant/conversationHistoryApi.d.ts.map +0 -1
  745. package/dist/bigconsole/assistant/conversationHistoryApi.js.map +0 -1
  746. package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts.map +0 -1
  747. package/dist/bigconsole/assistant/createSandboxAssistantTransport.js.map +0 -1
  748. package/dist/bigconsole/assistant/displayCopy.d.ts.map +0 -1
  749. package/dist/bigconsole/assistant/index.d.ts.map +0 -1
  750. package/dist/bigconsole/assistant/modes.d.ts.map +0 -1
  751. package/dist/bigconsole/assistant/modes.js.map +0 -1
  752. package/dist/bigconsole/assistant/pageContext.d.ts.map +0 -1
  753. package/dist/bigconsole/assistant/pageContext.js.map +0 -1
  754. package/dist/bigconsole/assistant/previewController.d.ts.map +0 -1
  755. package/dist/bigconsole/assistant/previewController.js.map +0 -1
  756. package/dist/bigconsole/assistant/previewMutationResult.d.ts.map +0 -1
  757. package/dist/bigconsole/assistant/previewMutationResult.js.map +0 -1
  758. package/dist/bigconsole/assistant/previewRunAction.d.ts.map +0 -1
  759. package/dist/bigconsole/assistant/previewRunAction.js.map +0 -1
  760. package/dist/bigconsole/assistant/product.d.ts.map +0 -1
  761. package/dist/bigconsole/assistant/product.js.map +0 -1
  762. package/dist/bigconsole/assistant/recordAdapters.d.ts.map +0 -1
  763. package/dist/bigconsole/assistant/recordAdapters.js.map +0 -1
  764. package/dist/bigconsole/assistant/types.d.ts.map +0 -1
  765. package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts.map +0 -1
  766. package/dist/bigconsole/assistant/useAssistantRunWorkspace.js.map +0 -1
  767. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts.map +0 -1
  768. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js.map +0 -1
  769. package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts.map +0 -1
  770. package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +0 -1
  771. package/dist/bigconsole/components/DrilldownModal.d.ts.map +0 -1
  772. package/dist/bigconsole/components/DrilldownModal.js.map +0 -1
  773. package/dist/bigconsole/components/builder/BuilderCanvas.d.ts.map +0 -1
  774. package/dist/bigconsole/components/builder/BuilderCanvas.js.map +0 -1
  775. package/dist/bigconsole/components/builder/BuilderTopbar.d.ts.map +0 -1
  776. package/dist/bigconsole/components/builder/BuilderTopbar.js.map +0 -1
  777. package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts.map +0 -1
  778. package/dist/bigconsole/components/builder/DashboardEditorShell.js.map +0 -1
  779. package/dist/bigconsole/components/builder/WidgetInspector.d.ts.map +0 -1
  780. package/dist/bigconsole/components/builder/WidgetInspector.js.map +0 -1
  781. package/dist/bigconsole/components/builder/index.d.ts.map +0 -1
  782. package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts.map +0 -1
  783. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +0 -1
  784. package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts.map +0 -1
  785. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +0 -1
  786. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts.map +0 -1
  787. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +0 -1
  788. package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts.map +0 -1
  789. package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +0 -1
  790. package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts.map +0 -1
  791. package/dist/bigconsole/components/builder/inspector/LayoutSection.js.map +0 -1
  792. package/dist/bigconsole/components/builder/inspector/index.d.ts.map +0 -1
  793. package/dist/bigconsole/components/common/Section.d.ts.map +0 -1
  794. package/dist/bigconsole/components/common/Section.js.map +0 -1
  795. package/dist/bigconsole/components/common/index.d.ts.map +0 -1
  796. package/dist/bigconsole/components/common/sectionStyles.d.ts.map +0 -1
  797. package/dist/bigconsole/components/common/sectionStyles.js.map +0 -1
  798. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts.map +0 -1
  799. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +0 -1
  800. package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts.map +0 -1
  801. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +0 -1
  802. package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts.map +0 -1
  803. package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +0 -1
  804. package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts.map +0 -1
  805. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js.map +0 -1
  806. package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts.map +0 -1
  807. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +0 -1
  808. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts.map +0 -1
  809. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +0 -1
  810. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts.map +0 -1
  811. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +0 -1
  812. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts.map +0 -1
  813. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +0 -1
  814. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts.map +0 -1
  815. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +0 -1
  816. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts.map +0 -1
  817. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +0 -1
  818. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts.map +0 -1
  819. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +0 -1
  820. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts.map +0 -1
  821. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts.map +0 -1
  822. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +0 -1
  823. package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts.map +0 -1
  824. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +0 -1
  825. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts.map +0 -1
  826. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js.map +0 -1
  827. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts.map +0 -1
  828. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +0 -1
  829. package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts.map +0 -1
  830. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts.map +0 -1
  831. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +0 -1
  832. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts.map +0 -1
  833. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +0 -1
  834. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts.map +0 -1
  835. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts.map +0 -1
  836. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +0 -1
  837. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts.map +0 -1
  838. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +0 -1
  839. package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts.map +0 -1
  840. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts.map +0 -1
  841. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +0 -1
  842. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts.map +0 -1
  843. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js.map +0 -1
  844. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts.map +0 -1
  845. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js.map +0 -1
  846. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts.map +0 -1
  847. package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts.map +0 -1
  848. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts.map +0 -1
  849. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +0 -1
  850. package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts.map +0 -1
  851. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +0 -1
  852. package/dist/bigconsole/components/dashboard/index.d.ts.map +0 -1
  853. package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts.map +0 -1
  854. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js.map +0 -1
  855. package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts.map +0 -1
  856. package/dist/bigconsole/components/datasink/AlertRuleEditor.js.map +0 -1
  857. package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts.map +0 -1
  858. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +0 -1
  859. package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts.map +0 -1
  860. package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts.map +0 -1
  861. package/dist/bigconsole/components/datasink/DataSinkCard.d.ts.map +0 -1
  862. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +0 -1
  863. package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts.map +0 -1
  864. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +0 -1
  865. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts.map +0 -1
  866. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +0 -1
  867. package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts.map +0 -1
  868. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts.map +0 -1
  869. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +0 -1
  870. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts.map +0 -1
  871. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +0 -1
  872. package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts.map +0 -1
  873. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +0 -1
  874. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts.map +0 -1
  875. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +0 -1
  876. package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts.map +0 -1
  877. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts.map +0 -1
  878. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +0 -1
  879. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts.map +0 -1
  880. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +0 -1
  881. package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts.map +0 -1
  882. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +0 -1
  883. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts.map +0 -1
  884. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +0 -1
  885. package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts.map +0 -1
  886. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +0 -1
  887. package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts.map +0 -1
  888. package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +0 -1
  889. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts.map +0 -1
  890. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +0 -1
  891. package/dist/bigconsole/components/datasink/index.d.ts.map +0 -1
  892. package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts.map +0 -1
  893. package/dist/bigconsole/components/embed/EmbedErrorBoundary.js.map +0 -1
  894. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts.map +0 -1
  895. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js.map +0 -1
  896. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts.map +0 -1
  897. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js.map +0 -1
  898. package/dist/bigconsole/components/embed/drilldown.d.ts.map +0 -1
  899. package/dist/bigconsole/components/embed/drilldown.js.map +0 -1
  900. package/dist/bigconsole/components/embed/index.d.ts.map +0 -1
  901. package/dist/bigconsole/components/embed/renderer-manifest.d.ts.map +0 -1
  902. package/dist/bigconsole/components/embed/renderer-manifest.js.map +0 -1
  903. package/dist/bigconsole/components/embed/types.d.ts.map +0 -1
  904. package/dist/bigconsole/components/embed/types.js.map +0 -1
  905. package/dist/bigconsole/components/embed/validate.d.ts.map +0 -1
  906. package/dist/bigconsole/components/embed/validate.js.map +0 -1
  907. package/dist/bigconsole/components/embed/widgetShim.d.ts.map +0 -1
  908. package/dist/bigconsole/components/embed/widgetShim.js.map +0 -1
  909. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts.map +0 -1
  910. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js.map +0 -1
  911. package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts.map +0 -1
  912. package/dist/bigconsole/components/embed/widgets/ChartEmbed.js.map +0 -1
  913. package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts.map +0 -1
  914. package/dist/bigconsole/components/embed/widgets/EmbedFrame.js.map +0 -1
  915. package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts.map +0 -1
  916. package/dist/bigconsole/components/embed/widgets/FormEmbed.js.map +0 -1
  917. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts.map +0 -1
  918. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js.map +0 -1
  919. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts.map +0 -1
  920. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js.map +0 -1
  921. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts.map +0 -1
  922. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js.map +0 -1
  923. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts.map +0 -1
  924. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js.map +0 -1
  925. package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts.map +0 -1
  926. package/dist/bigconsole/components/embed/widgets/ListEmbed.js.map +0 -1
  927. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts.map +0 -1
  928. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js.map +0 -1
  929. package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts.map +0 -1
  930. package/dist/bigconsole/components/embed/widgets/PivotEmbed.js.map +0 -1
  931. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts.map +0 -1
  932. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js.map +0 -1
  933. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts.map +0 -1
  934. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js.map +0 -1
  935. package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts.map +0 -1
  936. package/dist/bigconsole/components/embed/widgets/TableEmbed.js.map +0 -1
  937. package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts.map +0 -1
  938. package/dist/bigconsole/components/embed/widgets/TextEmbed.js.map +0 -1
  939. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts.map +0 -1
  940. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js.map +0 -1
  941. package/dist/bigconsole/components/embed/widgets/shared.d.ts.map +0 -1
  942. package/dist/bigconsole/components/embed/widgets/shared.js.map +0 -1
  943. package/dist/bigconsole/components/overview/DashboardGuide.d.ts.map +0 -1
  944. package/dist/bigconsole/components/overview/DashboardGuide.js.map +0 -1
  945. package/dist/bigconsole/components/overview/DataHealthCard.d.ts.map +0 -1
  946. package/dist/bigconsole/components/overview/DataHealthCard.js.map +0 -1
  947. package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts.map +0 -1
  948. package/dist/bigconsole/components/overview/OverviewQuickActions.js.map +0 -1
  949. package/dist/bigconsole/components/overview/OverviewStatCard.d.ts.map +0 -1
  950. package/dist/bigconsole/components/overview/OverviewStatCard.js.map +0 -1
  951. package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts.map +0 -1
  952. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js.map +0 -1
  953. package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts.map +0 -1
  954. package/dist/bigconsole/components/overview/dashboardGuideSteps.js.map +0 -1
  955. package/dist/bigconsole/components/overview/index.d.ts.map +0 -1
  956. package/dist/bigconsole/components/overview/overviewModel.d.ts.map +0 -1
  957. package/dist/bigconsole/components/overview/overviewModel.js.map +0 -1
  958. package/dist/bigconsole/components/overview/useOverviewData.d.ts.map +0 -1
  959. package/dist/bigconsole/components/overview/useOverviewData.js.map +0 -1
  960. package/dist/bigconsole/components/parser/DataSinkSelector.d.ts.map +0 -1
  961. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +0 -1
  962. package/dist/bigconsole/components/parser/ExportParserDialog.d.ts.map +0 -1
  963. package/dist/bigconsole/components/parser/ExportParserDialog.js.map +0 -1
  964. package/dist/bigconsole/components/parser/ExpressionEditor.d.ts.map +0 -1
  965. package/dist/bigconsole/components/parser/ExpressionEditor.js.map +0 -1
  966. package/dist/bigconsole/components/parser/ImportParserDialog.d.ts.map +0 -1
  967. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +0 -1
  968. package/dist/bigconsole/components/parser/ParserBuilder.d.ts.map +0 -1
  969. package/dist/bigconsole/components/parser/ParserCard.d.ts.map +0 -1
  970. package/dist/bigconsole/components/parser/ParserCard.js.map +0 -1
  971. package/dist/bigconsole/components/parser/ParserFormDialog.d.ts.map +0 -1
  972. package/dist/bigconsole/components/parser/ParserSelector.d.ts.map +0 -1
  973. package/dist/bigconsole/components/parser/ParserSelector.js.map +0 -1
  974. package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts.map +0 -1
  975. package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +0 -1
  976. package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts.map +0 -1
  977. package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +0 -1
  978. package/dist/bigconsole/components/parser/TestPanel.d.ts.map +0 -1
  979. package/dist/bigconsole/components/parser/index.d.ts.map +0 -1
  980. package/dist/bigconsole/components/parser/parserFieldStyles.d.ts.map +0 -1
  981. package/dist/bigconsole/components/pipeline/PipelineCard.d.ts.map +0 -1
  982. package/dist/bigconsole/components/pipeline/PipelineCard.js.map +0 -1
  983. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts.map +0 -1
  984. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +0 -1
  985. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts.map +0 -1
  986. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js.map +0 -1
  987. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts.map +0 -1
  988. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +0 -1
  989. package/dist/bigconsole/components/pipeline/index.d.ts.map +0 -1
  990. package/dist/bigconsole/components/preview/AiPreviewContent.d.ts.map +0 -1
  991. package/dist/bigconsole/components/preview/AiPreviewContent.js.map +0 -1
  992. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts.map +0 -1
  993. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +0 -1
  994. package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts.map +0 -1
  995. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +0 -1
  996. package/dist/bigconsole/components/preview/parserPreview.d.ts.map +0 -1
  997. package/dist/bigconsole/components/preview/parserPreview.js.map +0 -1
  998. package/dist/bigconsole/components/preview/previewShared.d.ts.map +0 -1
  999. package/dist/bigconsole/components/preview/previewShared.js.map +0 -1
  1000. package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts.map +0 -1
  1001. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +0 -1
  1002. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts.map +0 -1
  1003. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +0 -1
  1004. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +0 -1
  1005. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +0 -1
  1006. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts.map +0 -1
  1007. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +0 -1
  1008. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts.map +0 -1
  1009. package/dist/bigconsole/components/widgets/WidgetHeader.js.map +0 -1
  1010. package/dist/bigconsole/components/widgets/WidgetMenu.d.ts.map +0 -1
  1011. package/dist/bigconsole/components/widgets/WidgetMenu.js.map +0 -1
  1012. package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts.map +0 -1
  1013. package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +0 -1
  1014. package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts.map +0 -1
  1015. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts.map +0 -1
  1016. package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +0 -1
  1017. package/dist/bigconsole/components/widgets/actionConfig.d.ts.map +0 -1
  1018. package/dist/bigconsole/components/widgets/actionConfig.js.map +0 -1
  1019. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts.map +0 -1
  1020. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +0 -1
  1021. package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts.map +0 -1
  1022. package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts.map +0 -1
  1023. package/dist/bigconsole/components/widgets/calendar/CalendarView.js.map +0 -1
  1024. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts.map +0 -1
  1025. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +0 -1
  1026. package/dist/bigconsole/components/widgets/calendar/index.d.ts.map +0 -1
  1027. package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts.map +0 -1
  1028. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +0 -1
  1029. package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts.map +0 -1
  1030. package/dist/bigconsole/components/widgets/chart/ChartLegend.js.map +0 -1
  1031. package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts.map +0 -1
  1032. package/dist/bigconsole/components/widgets/chart/ChartTooltip.js.map +0 -1
  1033. package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts.map +0 -1
  1034. package/dist/bigconsole/components/widgets/chart/ChartWidget.js.map +0 -1
  1035. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts.map +0 -1
  1036. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js.map +0 -1
  1037. package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts.map +0 -1
  1038. package/dist/bigconsole/components/widgets/chart/charts/BarChart.js.map +0 -1
  1039. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts.map +0 -1
  1040. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js.map +0 -1
  1041. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts.map +0 -1
  1042. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js.map +0 -1
  1043. package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts.map +0 -1
  1044. package/dist/bigconsole/components/widgets/chart/charts/LineChart.js.map +0 -1
  1045. package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts.map +0 -1
  1046. package/dist/bigconsole/components/widgets/chart/charts/PieChart.js.map +0 -1
  1047. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts.map +0 -1
  1048. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js.map +0 -1
  1049. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts.map +0 -1
  1050. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js.map +0 -1
  1051. package/dist/bigconsole/components/widgets/chart/charts/index.d.ts.map +0 -1
  1052. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts.map +0 -1
  1053. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js.map +0 -1
  1054. package/dist/bigconsole/components/widgets/chart/charts/types.d.ts.map +0 -1
  1055. package/dist/bigconsole/components/widgets/chart/index.d.ts.map +0 -1
  1056. package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts.map +0 -1
  1057. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +0 -1
  1058. package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts.map +0 -1
  1059. package/dist/bigconsole/components/widgets/custom/CustomWidget.js.map +0 -1
  1060. package/dist/bigconsole/components/widgets/custom/config.d.ts.map +0 -1
  1061. package/dist/bigconsole/components/widgets/custom/config.js.map +0 -1
  1062. package/dist/bigconsole/components/widgets/custom/index.d.ts.map +0 -1
  1063. package/dist/bigconsole/components/widgets/custom/utils.d.ts.map +0 -1
  1064. package/dist/bigconsole/components/widgets/custom/utils.js.map +0 -1
  1065. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts.map +0 -1
  1066. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +0 -1
  1067. package/dist/bigconsole/components/widgets/event-logs/index.d.ts.map +0 -1
  1068. package/dist/bigconsole/components/widgets/form/FormWidget.d.ts.map +0 -1
  1069. package/dist/bigconsole/components/widgets/form/FormWidget.js.map +0 -1
  1070. package/dist/bigconsole/components/widgets/form/index.d.ts.map +0 -1
  1071. package/dist/bigconsole/components/widgets/funnel/index.d.ts.map +0 -1
  1072. package/dist/bigconsole/components/widgets/funnel/index.js.map +0 -1
  1073. package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts.map +0 -1
  1074. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +0 -1
  1075. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts.map +0 -1
  1076. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +0 -1
  1077. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts.map +0 -1
  1078. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +0 -1
  1079. package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts.map +0 -1
  1080. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +0 -1
  1081. package/dist/bigconsole/components/widgets/gauge/index.d.ts.map +0 -1
  1082. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts.map +0 -1
  1083. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +0 -1
  1084. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts.map +0 -1
  1085. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js.map +0 -1
  1086. package/dist/bigconsole/components/widgets/heatmap/index.d.ts.map +0 -1
  1087. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts.map +0 -1
  1088. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +0 -1
  1089. package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts.map +0 -1
  1090. package/dist/bigconsole/components/widgets/index.d.ts.map +0 -1
  1091. package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts.map +0 -1
  1092. package/dist/bigconsole/components/widgets/kanban/KanbanView.js.map +0 -1
  1093. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts.map +0 -1
  1094. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +0 -1
  1095. package/dist/bigconsole/components/widgets/kanban/index.d.ts.map +0 -1
  1096. package/dist/bigconsole/components/widgets/kanban/model.d.ts.map +0 -1
  1097. package/dist/bigconsole/components/widgets/kanban/model.js.map +0 -1
  1098. package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts.map +0 -1
  1099. package/dist/bigconsole/components/widgets/kpi/KPIWidget.js.map +0 -1
  1100. package/dist/bigconsole/components/widgets/kpi/index.d.ts.map +0 -1
  1101. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts.map +0 -1
  1102. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +0 -1
  1103. package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts.map +0 -1
  1104. package/dist/bigconsole/components/widgets/list/ListConfig.d.ts.map +0 -1
  1105. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +0 -1
  1106. package/dist/bigconsole/components/widgets/list/ListItem.d.ts.map +0 -1
  1107. package/dist/bigconsole/components/widgets/list/ListItem.js.map +0 -1
  1108. package/dist/bigconsole/components/widgets/list/ListWidget.d.ts.map +0 -1
  1109. package/dist/bigconsole/components/widgets/list/ListWidget.js.map +0 -1
  1110. package/dist/bigconsole/components/widgets/list/index.d.ts.map +0 -1
  1111. package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts.map +0 -1
  1112. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +0 -1
  1113. package/dist/bigconsole/components/widgets/map-widget/index.d.ts.map +0 -1
  1114. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts.map +0 -1
  1115. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js.map +0 -1
  1116. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts.map +0 -1
  1117. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +0 -1
  1118. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts.map +0 -1
  1119. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +0 -1
  1120. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts.map +0 -1
  1121. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +0 -1
  1122. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts.map +0 -1
  1123. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +0 -1
  1124. package/dist/bigconsole/components/widgets/metric-card/index.d.ts.map +0 -1
  1125. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts.map +0 -1
  1126. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +0 -1
  1127. package/dist/bigconsole/components/widgets/pivot-table/index.d.ts.map +0 -1
  1128. package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts.map +0 -1
  1129. package/dist/bigconsole/components/widgets/progress/ProgressBar.js.map +0 -1
  1130. package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts.map +0 -1
  1131. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +0 -1
  1132. package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts.map +0 -1
  1133. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +0 -1
  1134. package/dist/bigconsole/components/widgets/progress/index.d.ts.map +0 -1
  1135. package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts.map +0 -1
  1136. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +0 -1
  1137. package/dist/bigconsole/components/widgets/retention/index.d.ts.map +0 -1
  1138. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts.map +0 -1
  1139. package/dist/bigconsole/components/widgets/states/EmptyState.js.map +0 -1
  1140. package/dist/bigconsole/components/widgets/states/ErrorState.d.ts.map +0 -1
  1141. package/dist/bigconsole/components/widgets/states/ErrorState.js.map +0 -1
  1142. package/dist/bigconsole/components/widgets/states/LoadingState.d.ts.map +0 -1
  1143. package/dist/bigconsole/components/widgets/states/LoadingState.js.map +0 -1
  1144. package/dist/bigconsole/components/widgets/states/index.d.ts.map +0 -1
  1145. package/dist/bigconsole/components/widgets/table/TableCell.d.ts.map +0 -1
  1146. package/dist/bigconsole/components/widgets/table/TableCell.js.map +0 -1
  1147. package/dist/bigconsole/components/widgets/table/TableConfig.d.ts.map +0 -1
  1148. package/dist/bigconsole/components/widgets/table/TableConfig.js.map +0 -1
  1149. package/dist/bigconsole/components/widgets/table/TableHeader.d.ts.map +0 -1
  1150. package/dist/bigconsole/components/widgets/table/TableHeader.js.map +0 -1
  1151. package/dist/bigconsole/components/widgets/table/TablePagination.d.ts.map +0 -1
  1152. package/dist/bigconsole/components/widgets/table/TablePagination.js.map +0 -1
  1153. package/dist/bigconsole/components/widgets/table/TableWidget.d.ts.map +0 -1
  1154. package/dist/bigconsole/components/widgets/table/TableWidget.js.map +0 -1
  1155. package/dist/bigconsole/components/widgets/table/cellLink.d.ts.map +0 -1
  1156. package/dist/bigconsole/components/widgets/table/cellLink.js.map +0 -1
  1157. package/dist/bigconsole/components/widgets/table/index.d.ts.map +0 -1
  1158. package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts.map +0 -1
  1159. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +0 -1
  1160. package/dist/bigconsole/components/widgets/text-widget/index.d.ts.map +0 -1
  1161. package/dist/bigconsole/components/widgets/text-widget/textData.d.ts.map +0 -1
  1162. package/dist/bigconsole/components/widgets/text-widget/textData.js.map +0 -1
  1163. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts.map +0 -1
  1164. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +0 -1
  1165. package/dist/bigconsole/components/widgets/timeline/index.d.ts.map +0 -1
  1166. package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts.map +0 -1
  1167. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +0 -1
  1168. package/dist/bigconsole/components/widgets/utils/inferFields.d.ts.map +0 -1
  1169. package/dist/bigconsole/components/widgets/utils/inferFields.js.map +0 -1
  1170. package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts.map +0 -1
  1171. package/dist/bigconsole/components/widgets/utils/targetProgress.js.map +0 -1
  1172. package/dist/bigconsole/components/widgets/utils/translate.d.ts.map +0 -1
  1173. package/dist/bigconsole/components/widgets/utils/translate.js.map +0 -1
  1174. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts.map +0 -1
  1175. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +0 -1
  1176. package/dist/bigconsole/components/widgets/webhook-config/index.d.ts.map +0 -1
  1177. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts.map +0 -1
  1178. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +0 -1
  1179. package/dist/bigconsole/components/widgets/widget-actions/index.d.ts.map +0 -1
  1180. package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts.map +0 -1
  1181. package/dist/bigconsole/components/workflow/WorkflowCard.d.ts.map +0 -1
  1182. package/dist/bigconsole/components/workflow/WorkflowCard.js.map +0 -1
  1183. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts.map +0 -1
  1184. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +0 -1
  1185. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts.map +0 -1
  1186. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js.map +0 -1
  1187. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts.map +0 -1
  1188. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js.map +0 -1
  1189. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts.map +0 -1
  1190. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js.map +0 -1
  1191. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts.map +0 -1
  1192. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +0 -1
  1193. package/dist/bigconsole/components/workflow/index.d.ts.map +0 -1
  1194. package/dist/bigconsole/constants/backendErrors.d.ts.map +0 -1
  1195. package/dist/bigconsole/constants/backendErrors.js.map +0 -1
  1196. package/dist/bigconsole/constants.d.ts.map +0 -1
  1197. package/dist/bigconsole/constants.js.map +0 -1
  1198. package/dist/bigconsole/context/BigConsoleContext.d.ts.map +0 -1
  1199. package/dist/bigconsole/context/BigConsoleContext.js.map +0 -1
  1200. package/dist/bigconsole/context/index.d.ts.map +0 -1
  1201. package/dist/bigconsole/contexts/CrossFilterContext.d.ts.map +0 -1
  1202. package/dist/bigconsole/contexts/CrossFilterContext.js.map +0 -1
  1203. package/dist/bigconsole/contexts/NavigationContext.d.ts.map +0 -1
  1204. package/dist/bigconsole/contexts/NavigationContext.js.map +0 -1
  1205. package/dist/bigconsole/contexts/index.d.ts.map +0 -1
  1206. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts.map +0 -1
  1207. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +0 -1
  1208. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts.map +0 -1
  1209. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +0 -1
  1210. package/dist/bigconsole/customWidget/index.d.ts.map +0 -1
  1211. package/dist/bigconsole/customWidget/proposalContract.d.ts.map +0 -1
  1212. package/dist/bigconsole/customWidget/proposalContract.js.map +0 -1
  1213. package/dist/bigconsole/customWidget/proposalSource.d.ts.map +0 -1
  1214. package/dist/bigconsole/customWidget/proposalSource.js.map +0 -1
  1215. package/dist/bigconsole/graphql/apollo-compat.d.ts.map +0 -1
  1216. package/dist/bigconsole/graphql/storeTemplates.d.ts.map +0 -1
  1217. package/dist/bigconsole/graphql/storeTemplates.js.map +0 -1
  1218. package/dist/bigconsole/hooks/index.d.ts.map +0 -1
  1219. package/dist/bigconsole/hooks/useActivePage.d.ts.map +0 -1
  1220. package/dist/bigconsole/hooks/useActivePage.js.map +0 -1
  1221. package/dist/bigconsole/hooks/useAutoRefresh.d.ts.map +0 -1
  1222. package/dist/bigconsole/hooks/useAutoRefresh.js.map +0 -1
  1223. package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts.map +0 -1
  1224. package/dist/bigconsole/hooks/useBigConsoleAnalytics.js.map +0 -1
  1225. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts.map +0 -1
  1226. package/dist/bigconsole/hooks/useBigConsoleSettings.js.map +0 -1
  1227. package/dist/bigconsole/hooks/useCrossFilter.d.ts.map +0 -1
  1228. package/dist/bigconsole/hooks/useCrossFilter.js.map +0 -1
  1229. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts.map +0 -1
  1230. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js.map +0 -1
  1231. package/dist/bigconsole/hooks/useDashboardImageExport.d.ts.map +0 -1
  1232. package/dist/bigconsole/hooks/useDashboardImageExport.js.map +0 -1
  1233. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts.map +0 -1
  1234. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js.map +0 -1
  1235. package/dist/bigconsole/hooks/useDashboardOperations.d.ts.map +0 -1
  1236. package/dist/bigconsole/hooks/useDashboardOperations.js.map +0 -1
  1237. package/dist/bigconsole/hooks/useDashboardSharing.d.ts.map +0 -1
  1238. package/dist/bigconsole/hooks/useDashboardSharing.js.map +0 -1
  1239. package/dist/bigconsole/hooks/useDashboardTemplates.d.ts.map +0 -1
  1240. package/dist/bigconsole/hooks/useDashboardViews.d.ts.map +0 -1
  1241. package/dist/bigconsole/hooks/useDashboardViews.js.map +0 -1
  1242. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts.map +0 -1
  1243. package/dist/bigconsole/hooks/useDataSinkAlerts.js.map +0 -1
  1244. package/dist/bigconsole/hooks/useDataSinkOperations.d.ts.map +0 -1
  1245. package/dist/bigconsole/hooks/useDataSinkOperations.js.map +0 -1
  1246. package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts.map +0 -1
  1247. package/dist/bigconsole/hooks/useDataSinkSubscription.js.map +0 -1
  1248. package/dist/bigconsole/hooks/useDrilldown.d.ts.map +0 -1
  1249. package/dist/bigconsole/hooks/useDrilldown.js.map +0 -1
  1250. package/dist/bigconsole/hooks/useDrilldownOperations.d.ts.map +0 -1
  1251. package/dist/bigconsole/hooks/useDrilldownOperations.js.map +0 -1
  1252. package/dist/bigconsole/hooks/useEventLogs.d.ts.map +0 -1
  1253. package/dist/bigconsole/hooks/useEventLogs.js.map +0 -1
  1254. package/dist/bigconsole/hooks/useEventWebhooks.d.ts.map +0 -1
  1255. package/dist/bigconsole/hooks/useEventWebhooks.js.map +0 -1
  1256. package/dist/bigconsole/hooks/useExportDashboard.d.ts.map +0 -1
  1257. package/dist/bigconsole/hooks/useExportDashboard.js.map +0 -1
  1258. package/dist/bigconsole/hooks/useExportDataSink.d.ts.map +0 -1
  1259. package/dist/bigconsole/hooks/useExportDataSink.js.map +0 -1
  1260. package/dist/bigconsole/hooks/useExportParser.d.ts.map +0 -1
  1261. package/dist/bigconsole/hooks/useExportParser.js.map +0 -1
  1262. package/dist/bigconsole/hooks/useFilterPresets.d.ts.map +0 -1
  1263. package/dist/bigconsole/hooks/useFilterPresets.js.map +0 -1
  1264. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts.map +0 -1
  1265. package/dist/bigconsole/hooks/useFilterUrlSync.js.map +0 -1
  1266. package/dist/bigconsole/hooks/useGlobalFilters.d.ts.map +0 -1
  1267. package/dist/bigconsole/hooks/useGlobalFilters.js.map +0 -1
  1268. package/dist/bigconsole/hooks/useImportDashboard.d.ts.map +0 -1
  1269. package/dist/bigconsole/hooks/useImportDashboard.js.map +0 -1
  1270. package/dist/bigconsole/hooks/useImportDataSink.d.ts.map +0 -1
  1271. package/dist/bigconsole/hooks/useImportDataSink.js.map +0 -1
  1272. package/dist/bigconsole/hooks/useImportParser.d.ts.map +0 -1
  1273. package/dist/bigconsole/hooks/useImportParser.js.map +0 -1
  1274. package/dist/bigconsole/hooks/useInstalledWidgets.d.ts.map +0 -1
  1275. package/dist/bigconsole/hooks/useInstalledWidgets.js.map +0 -1
  1276. package/dist/bigconsole/hooks/useModalFocusTrap.d.ts.map +0 -1
  1277. package/dist/bigconsole/hooks/useModalFocusTrap.js.map +0 -1
  1278. package/dist/bigconsole/hooks/usePageOperations.d.ts.map +0 -1
  1279. package/dist/bigconsole/hooks/usePageOperations.js.map +0 -1
  1280. package/dist/bigconsole/hooks/useParserOperations.d.ts.map +0 -1
  1281. package/dist/bigconsole/hooks/useParserOperations.js.map +0 -1
  1282. package/dist/bigconsole/hooks/usePipelineOperations.d.ts.map +0 -1
  1283. package/dist/bigconsole/hooks/usePipelineOperations.js.map +0 -1
  1284. package/dist/bigconsole/hooks/useShareRecipients.d.ts.map +0 -1
  1285. package/dist/bigconsole/hooks/useShareRecipients.js.map +0 -1
  1286. package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts.map +0 -1
  1287. package/dist/bigconsole/hooks/useStoreDashboardTemplates.js.map +0 -1
  1288. package/dist/bigconsole/hooks/useWidgetActions.d.ts.map +0 -1
  1289. package/dist/bigconsole/hooks/useWidgetActions.js.map +0 -1
  1290. package/dist/bigconsole/hooks/useWidgetCatalog.d.ts.map +0 -1
  1291. package/dist/bigconsole/hooks/useWidgetCatalog.js.map +0 -1
  1292. package/dist/bigconsole/hooks/useWidgetComments.d.ts.map +0 -1
  1293. package/dist/bigconsole/hooks/useWidgetComments.js.map +0 -1
  1294. package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts.map +0 -1
  1295. package/dist/bigconsole/hooks/useWidgetConfigPersist.js.map +0 -1
  1296. package/dist/bigconsole/hooks/useWidgetData.d.ts.map +0 -1
  1297. package/dist/bigconsole/hooks/useWidgetData.js.map +0 -1
  1298. package/dist/bigconsole/hooks/useWidgetEvents.d.ts.map +0 -1
  1299. package/dist/bigconsole/hooks/useWidgetEvents.js.map +0 -1
  1300. package/dist/bigconsole/hooks/useWidgetExport.d.ts.map +0 -1
  1301. package/dist/bigconsole/hooks/useWidgetExport.js.map +0 -1
  1302. package/dist/bigconsole/hooks/useWidgetOperations.d.ts.map +0 -1
  1303. package/dist/bigconsole/hooks/useWidgetOperations.js.map +0 -1
  1304. package/dist/bigconsole/hooks/useWorkflowOperations.d.ts.map +0 -1
  1305. package/dist/bigconsole/hooks/useWorkflowOperations.js.map +0 -1
  1306. package/dist/bigconsole/index.d.ts.map +0 -1
  1307. package/dist/bigconsole/modules/dashboard/index.d.ts.map +0 -1
  1308. package/dist/bigconsole/modules/index.d.ts.map +0 -1
  1309. package/dist/bigconsole/modules/renderer/index.d.ts.map +0 -1
  1310. package/dist/bigconsole/modules/widget/index.d.ts.map +0 -1
  1311. package/dist/bigconsole/pages/AdminPage.d.ts.map +0 -1
  1312. package/dist/bigconsole/pages/AdminPage.js.map +0 -1
  1313. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +0 -1
  1314. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +0 -1
  1315. package/dist/bigconsole/pages/DashboardViewPage.d.ts.map +0 -1
  1316. package/dist/bigconsole/pages/DashboardViewPage.js.map +0 -1
  1317. package/dist/bigconsole/pages/DashboardsPage.d.ts.map +0 -1
  1318. package/dist/bigconsole/pages/DashboardsPage.js.map +0 -1
  1319. package/dist/bigconsole/pages/DataParsersPage.d.ts.map +0 -1
  1320. package/dist/bigconsole/pages/DataParsersPage.js.map +0 -1
  1321. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +0 -1
  1322. package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +0 -1
  1323. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +0 -1
  1324. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +0 -1
  1325. package/dist/bigconsole/pages/DataSinkViewPage.d.ts.map +0 -1
  1326. package/dist/bigconsole/pages/DataSinkViewPage.js.map +0 -1
  1327. package/dist/bigconsole/pages/DataSinksPage.d.ts.map +0 -1
  1328. package/dist/bigconsole/pages/DataSinksPage.js.map +0 -1
  1329. package/dist/bigconsole/pages/DataSourcesPage.d.ts.map +0 -1
  1330. package/dist/bigconsole/pages/DataSourcesPage.js.map +0 -1
  1331. package/dist/bigconsole/pages/InsightsPage.d.ts.map +0 -1
  1332. package/dist/bigconsole/pages/InsightsPage.js.map +0 -1
  1333. package/dist/bigconsole/pages/OverviewPage.d.ts.map +0 -1
  1334. package/dist/bigconsole/pages/OverviewPage.js.map +0 -1
  1335. package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +0 -1
  1336. package/dist/bigconsole/pages/ParserBuilderPage.js.map +0 -1
  1337. package/dist/bigconsole/pages/ParserViewPage.d.ts.map +0 -1
  1338. package/dist/bigconsole/pages/ParserViewPage.js.map +0 -1
  1339. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +0 -1
  1340. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +0 -1
  1341. package/dist/bigconsole/pages/PipelineViewPage.d.ts.map +0 -1
  1342. package/dist/bigconsole/pages/PipelineViewPage.js.map +0 -1
  1343. package/dist/bigconsole/pages/PipelinesPage.d.ts.map +0 -1
  1344. package/dist/bigconsole/pages/PipelinesPage.js.map +0 -1
  1345. package/dist/bigconsole/pages/SettingsPage.d.ts.map +0 -1
  1346. package/dist/bigconsole/pages/SettingsPage.js.map +0 -1
  1347. package/dist/bigconsole/pages/WidgetDemoPage.d.ts.map +0 -1
  1348. package/dist/bigconsole/pages/WidgetDemoPage.js.map +0 -1
  1349. package/dist/bigconsole/pages/WorkflowViewPage.d.ts.map +0 -1
  1350. package/dist/bigconsole/pages/WorkflowViewPage.js.map +0 -1
  1351. package/dist/bigconsole/pages/WorkflowsPage.d.ts.map +0 -1
  1352. package/dist/bigconsole/pages/WorkflowsPage.js.map +0 -1
  1353. package/dist/bigconsole/pages/index.d.ts.map +0 -1
  1354. package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts.map +0 -1
  1355. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js.map +0 -1
  1356. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts.map +0 -1
  1357. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +0 -1
  1358. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts.map +0 -1
  1359. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js.map +0 -1
  1360. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts.map +0 -1
  1361. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +0 -1
  1362. package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts.map +0 -1
  1363. package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +0 -1
  1364. package/dist/bigconsole/renderers/adapters/index.d.ts.map +0 -1
  1365. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts.map +0 -1
  1366. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js.map +0 -1
  1367. package/dist/bigconsole/renderers/index.d.ts.map +0 -1
  1368. package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts.map +0 -1
  1369. package/dist/bigconsole/renderers/registry/RendererRegistry.js.map +0 -1
  1370. package/dist/bigconsole/renderers/types/index.d.ts.map +0 -1
  1371. package/dist/bigconsole/renderers/types/renderer.d.ts.map +0 -1
  1372. package/dist/bigconsole/store/dashboardStore.d.ts.map +0 -1
  1373. package/dist/bigconsole/store/dashboardStore.js.map +0 -1
  1374. package/dist/bigconsole/store/dataSinkStore.d.ts.map +0 -1
  1375. package/dist/bigconsole/store/dataSinkStore.js.map +0 -1
  1376. package/dist/bigconsole/store/drilldownStore.d.ts.map +0 -1
  1377. package/dist/bigconsole/store/drilldownStore.js.map +0 -1
  1378. package/dist/bigconsole/store/index.d.ts.map +0 -1
  1379. package/dist/bigconsole/store/parserStore.d.ts.map +0 -1
  1380. package/dist/bigconsole/store/parserStore.js.map +0 -1
  1381. package/dist/bigconsole/store/pipelineStore.d.ts.map +0 -1
  1382. package/dist/bigconsole/store/pipelineStore.js.map +0 -1
  1383. package/dist/bigconsole/store/widgetStore.d.ts.map +0 -1
  1384. package/dist/bigconsole/store/widgetStore.js.map +0 -1
  1385. package/dist/bigconsole/store/workflowStore.d.ts.map +0 -1
  1386. package/dist/bigconsole/store/workflowStore.js.map +0 -1
  1387. package/dist/bigconsole/types/index.d.ts.map +0 -1
  1388. package/dist/bigconsole/utils/alertRules.d.ts.map +0 -1
  1389. package/dist/bigconsole/utils/alertRules.js.map +0 -1
  1390. package/dist/bigconsole/utils/backendError.d.ts.map +0 -1
  1391. package/dist/bigconsole/utils/backendError.js.map +0 -1
  1392. package/dist/bigconsole/utils/createDialogParam.d.ts.map +0 -1
  1393. package/dist/bigconsole/utils/createDialogParam.js.map +0 -1
  1394. package/dist/bigconsole/utils/csv.d.ts.map +0 -1
  1395. package/dist/bigconsole/utils/csv.js.map +0 -1
  1396. package/dist/bigconsole/utils/dashboardTemplateContent.d.ts.map +0 -1
  1397. package/dist/bigconsole/utils/dashboardTemplateContent.js.map +0 -1
  1398. package/dist/bigconsole/utils/drilldownParams.d.ts.map +0 -1
  1399. package/dist/bigconsole/utils/drilldownParams.js.map +0 -1
  1400. package/dist/bigconsole/utils/formDirty.d.ts.map +0 -1
  1401. package/dist/bigconsole/utils/formDirty.js.map +0 -1
  1402. package/dist/bigconsole/utils/format.d.ts.map +0 -1
  1403. package/dist/bigconsole/utils/format.js.map +0 -1
  1404. package/dist/bigconsole/utils/index.d.ts.map +0 -1
  1405. package/dist/bigconsole/utils/layoutBaseline.d.ts.map +0 -1
  1406. package/dist/bigconsole/utils/layoutBaseline.js.map +0 -1
  1407. package/dist/bigconsole/utils/quota.d.ts.map +0 -1
  1408. package/dist/bigconsole/utils/quota.js.map +0 -1
  1409. package/dist/bigconsole/utils/semanticTokens.d.ts.map +0 -1
  1410. package/dist/bigconsole/utils/semanticTokens.js.map +0 -1
  1411. package/dist/bigconsole/utils/templateInstallInputs.d.ts.map +0 -1
  1412. package/dist/bigconsole/utils/templateInstallInputs.js.map +0 -1
  1413. package/dist/bigconsole/utils/widgetBinding.d.ts.map +0 -1
  1414. package/dist/bigconsole/utils/widgetBinding.js.map +0 -1
  1415. package/dist/bigconsole/utils/widgetPositioning.d.ts.map +0 -1
  1416. package/dist/bigconsole/utils/widgetPositioning.js.map +0 -1
  1417. package/dist/bigconsole/utils/widgetTypeMapping.d.ts.map +0 -1
  1418. package/dist/bigconsole/utils/widgetTypeMapping.js.map +0 -1
  1419. package/dist/bigconsole/workflowOpen.d.ts.map +0 -1
  1420. package/dist/bigconsole/workflowOpen.js.map +0 -1
  1421. package/dist/constants/permissions.d.ts.map +0 -1
  1422. package/dist/constants/permissions.js.map +0 -1
  1423. package/dist/generated/global-operations.d.ts.map +0 -1
  1424. package/dist/generated/global-operations.js.map +0 -1
  1425. package/dist/generated/global-types.d.ts.map +0 -1
  1426. package/dist/generated/wspace-operations.d.ts.map +0 -1
  1427. package/dist/generated/wspace-operations.js.map +0 -1
  1428. package/dist/generated/wspace-types.d.ts.map +0 -1
  1429. package/dist/generated/wspace-types.js.map +0 -1
  1430. package/dist/index.d.ts.map +0 -1
  1431. package/dist/node_modules/@e965/xlsx/xlsx.js.map +0 -1
  1432. package/dist/node_modules/pdfjs-dist/build/pdf.js.map +0 -1
  1433. package/dist/shared/hooks/useTr.d.ts.map +0 -1
  1434. package/dist/shared/hooks/useTr.js.map +0 -1
  1435. package/dist/stories/DashboardGuide.stories.d.ts +0 -15
  1436. package/dist/stories/DashboardGuide.stories.d.ts.map +0 -1
  1437. package/dist/stories/DataSinkStatusBadge.stories.d.ts +0 -12
  1438. package/dist/stories/DataSinkStatusBadge.stories.d.ts.map +0 -1
  1439. package/dist/stories/GaugeWidget.stories.d.ts +0 -58
  1440. package/dist/stories/GaugeWidget.stories.d.ts.map +0 -1
  1441. package/dist/stories/KPIComparisonWidget.stories.d.ts +0 -76
  1442. package/dist/stories/KPIComparisonWidget.stories.d.ts.map +0 -1
  1443. package/dist/stories/LiveCanvasToggle.stories.d.ts +0 -9
  1444. package/dist/stories/LiveCanvasToggle.stories.d.ts.map +0 -1
  1445. package/dist/stories/MetricCardWidget.stories.d.ts +0 -88
  1446. package/dist/stories/MetricCardWidget.stories.d.ts.map +0 -1
  1447. package/dist/stories/ProgressWidget.stories.d.ts +0 -48
  1448. package/dist/stories/ProgressWidget.stories.d.ts.map +0 -1
  1449. package/dist/stories/SetupStateBadge.stories.d.ts +0 -12
  1450. package/dist/stories/SetupStateBadge.stories.d.ts.map +0 -1
  1451. package/dist/translations/en.d.ts.map +0 -1
  1452. package/dist/utils/nativeBridge.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"KanbanEmbed.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/embed/widgets/KanbanEmbed.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AASvD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,+BAiC7D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"KanbanEmbed.js","names":[],"sources":["../../../../../src/bigconsole/components/embed/widgets/KanbanEmbed.tsx"],"sourcesContent":["/**\n * Read-only kanban embed renderer (BOFF-7926).\n *\n * Reuses the provider-free KanbanView with a static translator. No drag, no\n * click. The service projects `{ columns: [{id, title}], tasks: [{title, column,\n * priority?, labels?}] }` and never sends `assignee` (people's names/emails stay\n * out of public embeds) — the renderer drops it too, defensively.\n */\nimport { useMemo } from 'react';\nimport { KanbanView, type KanbanData, type KanbanTask } from '../../widgets/kanban/KanbanView';\nimport { fallbackTranslate } from '../../widgets/utils/translate';\nimport type { EmbedWidgetRenderProps } from '../types';\nimport { toWidgetShim } from '../widgetShim';\nimport { EmbedFrame } from './EmbedFrame';\nimport { asArray, asRecord, asRecordArray, displayValue, safeColor } from './shared';\n\nconst MAX_COLUMNS = 20;\nconst MAX_TASKS = 1000;\nconst PRIORITIES = new Set(['high', 'medium', 'low']);\n\nexport function KanbanEmbed({ widget }: EmbedWidgetRenderProps) {\n // The view's row-normalisation reads field-mapping config; the service already\n // produced the canonical board, so pass only the title through.\n const shim = useMemo(() => ({ ...toWidgetShim(widget), config: {} }), [widget]);\n const data = useMemo((): KanbanData => {\n const d = asRecord(widget.data);\n const columns = asRecordArray(d.columns, MAX_COLUMNS)\n .map((c, i) => ({\n id: displayValue(c.id) || `c${i}`,\n title: displayValue(c.title) || displayValue(c.id),\n color: safeColor(c.color),\n }))\n .filter((c) => c.title !== '');\n const tasks: KanbanTask[] = asRecordArray(d.tasks, MAX_TASKS).map((t, i) => {\n const priority = typeof t.priority === 'string' && PRIORITIES.has(t.priority) ? t.priority : undefined;\n const labels = asArray(t.labels)\n .filter((l): l is string => typeof l === 'string')\n .slice(0, 10);\n return {\n id: `t${i}`,\n title: displayValue(t.title),\n column: displayValue(t.column),\n priority: priority as KanbanTask['priority'],\n labels: labels.length > 0 ? labels : undefined,\n };\n });\n return { columns, tasks };\n }, [widget.data]);\n return (\n <EmbedFrame title={widget.title}>\n <KanbanView widget={shim} data={data} t={fallbackTranslate} />\n </EmbedFrame>\n );\n}\n"],"mappings":";;;;;;;;AAgBA,IAAM,IAAc,IACd,IAAY,KACZ,IAAa,IAAI,IAAI;CAAC;CAAQ;CAAU;CAAM,CAAC;AAErD,SAAgB,EAAY,EAAE,aAAkC;CAG9D,IAAM,IAAO,SAAe;EAAE,GAAG,EAAa,EAAO;EAAE,QAAQ,EAAE;EAAE,GAAG,CAAC,EAAO,CAAC,EACzE,IAAO,QAA0B;EACrC,IAAM,IAAI,EAAS,EAAO,KAAK;AAqB/B,SAAO;GAAE,SApBO,EAAc,EAAE,SAAS,EAAY,CAClD,KAAK,GAAG,OAAO;IACd,IAAI,EAAa,EAAE,GAAG,IAAI,IAAI;IAC9B,OAAO,EAAa,EAAE,MAAM,IAAI,EAAa,EAAE,GAAG;IAClD,OAAO,EAAU,EAAE,MAAM;IAC1B,EAAE,CACF,QAAQ,MAAM,EAAE,UAAU,GAAG;GAcd,OAbU,EAAc,EAAE,OAAO,EAAU,CAAC,KAAK,GAAG,MAAM;IAC1E,IAAM,IAAW,OAAO,EAAE,YAAa,YAAY,EAAW,IAAI,EAAE,SAAS,GAAG,EAAE,WAAW,KAAA,GACvF,IAAS,EAAQ,EAAE,OAAO,CAC7B,QAAQ,MAAmB,OAAO,KAAM,SAAS,CACjD,MAAM,GAAG,GAAG;AACf,WAAO;KACL,IAAI,IAAI;KACR,OAAO,EAAa,EAAE,MAAM;KAC5B,QAAQ,EAAa,EAAE,OAAO;KACpB;KACV,QAAQ,EAAO,SAAS,IAAI,IAAS,KAAA;KACtC;KACD;GACuB;IACxB,CAAC,EAAO,KAAK,CAAC;AACjB,QACE,kBAAC,GAAD;EAAY,OAAO,EAAO;YACxB,kBAAC,GAAD;GAAY,QAAQ;GAAY;GAAM,GAAG;GAAqB,CAAA;EACnD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"KpiComparisonEmbed.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/embed/widgets/KpiComparisonEmbed.tsx"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,+BA8CpE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"KpiComparisonEmbed.js","names":[],"sources":["../../../../../src/bigconsole/components/embed/widgets/KpiComparisonEmbed.tsx"],"sourcesContent":["/** Read-only KPI comparison embed renderer (BOFF-2986 / BOFF-5733). */\nimport type { EmbedWidgetRenderProps } from '../types';\nimport { asRecord, asString, asFiniteNumber, formatNumber } from './shared';\n\nexport function KpiComparisonEmbed({ widget }: EmbedWidgetRenderProps) {\n const config = asRecord(widget.config);\n const data = asRecord(widget.data);\n const current = asFiniteNumber(data.current ?? config.current);\n const previous = asFiniteNumber(data.previous ?? config.previous);\n const label = asString(config.label ?? widget.title, 'KPI');\n const comparisonLabel = asString(config.comparisonLabel);\n // A lower value can be the \"good\" outcome (e.g. refund rate, churn); mirror the\n // in-app widget's `positiveIsGood` so the delta colour matches the app.\n const positiveIsGood = config.positiveIsGood !== false;\n\n let deltaPct: number | null = null;\n if (current !== null && previous !== null && previous !== 0) {\n deltaPct = ((current - previous) / Math.abs(previous)) * 100;\n }\n // A flat (0%) delta is neither up nor down — use a neutral marker so the arrow\n // doesn't imply an increase on the neutral badge.\n const direction = deltaPct === null || deltaPct === 0 ? 'flat' : deltaPct > 0 ? 'up' : 'down';\n const good = direction === 'flat' ? null : positiveIsGood ? direction === 'up' : direction === 'down';\n const arrow = direction === 'up' ? '▲' : direction === 'down' ? '▼' : '→';\n\n const badgeTone =\n good === null\n ? 'bg-bg-sunken text-text-secondary'\n : good\n ? 'bg-status-success-bg-subtle text-status-success-text'\n : 'bg-status-error-bg-subtle text-status-error-text';\n\n return (\n <div className=\"flex h-full w-full flex-col justify-center gap-1.5 bg-bg-surface p-4\">\n <div className=\"truncate text-xs font-medium uppercase tracking-wide text-text-secondary\">{label}</div>\n <div className=\"text-3xl font-semibold tracking-tight text-text-primary\">\n {current !== null ? formatNumber(current, config) : '—'}\n </div>\n {deltaPct !== null && (\n <div className=\"flex items-center gap-1.5\">\n <span\n className={`inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-xs font-medium ${badgeTone}`}\n >\n {arrow} {Math.abs(deltaPct).toFixed(1)}%\n </span>\n {comparisonLabel && <span className=\"text-xs text-text-tertiary\">{comparisonLabel}</span>}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":";;;AAIA,SAAgB,EAAmB,EAAE,aAAkC;CACrE,IAAM,IAAS,EAAS,EAAO,OAAO,EAChC,IAAO,EAAS,EAAO,KAAK,EAC5B,IAAU,EAAe,EAAK,WAAW,EAAO,QAAQ,EACxD,IAAW,EAAe,EAAK,YAAY,EAAO,SAAS,EAC3D,IAAQ,EAAS,EAAO,SAAS,EAAO,OAAO,MAAM,EACrD,IAAkB,EAAS,EAAO,gBAAgB,EAGlD,IAAiB,EAAO,mBAAmB,IAE7C,IAA0B;AAC9B,CAAI,MAAY,QAAQ,MAAa,QAAQ,MAAa,MACxD,KAAa,IAAU,KAAY,KAAK,IAAI,EAAS,GAAI;CAI3D,IAAM,IAAY,MAAa,QAAQ,MAAa,IAAI,SAAS,IAAW,IAAI,OAAO,QACjF,IAAO,MAAc,SAAS,OAAO,IAAiB,MAAc,OAAO,MAAc,QACzF,IAAQ,MAAc,OAAO,MAAM,MAAc,SAAS,MAAM,KAEhE,IACJ,MAAS,OACL,qCACA,IACE,yDACA;AAER,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAA4E;IAAY,CAAA;GACvG,kBAAC,OAAD;IAAK,WAAU;cACZ,MAAY,OAAuC,MAAhC,EAAa,GAAS,EAAO;IAC7C,CAAA;GACL,MAAa,QACZ,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,QAAD;KACE,WAAW,iFAAiF;eAD9F;MAGG;MAAM;MAAE,KAAK,IAAI,EAAS,CAAC,QAAQ,EAAE;MAAC;MAClC;QACN,KAAmB,kBAAC,QAAD;KAAM,WAAU;eAA8B;KAAuB,CAAA,CACrF;;GAEJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListEmbed.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/embed/widgets/ListEmbed.tsx"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAKvD,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,+BAuC3D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ListEmbed.js","names":[],"sources":["../../../../../src/bigconsole/components/embed/widgets/ListEmbed.tsx"],"sourcesContent":["/** Read-only list embed renderer (BOFF-2986 / BOFF-5733). */\nimport type { EmbedWidgetRenderProps } from '../types';\nimport { asRecord, asArray, asString, formatCell } from './shared';\n\nconst MAX_ITEMS = 500;\n\nexport function ListEmbed({ widget }: EmbedWidgetRenderProps) {\n const config = asRecord(widget.config);\n const data = asRecord(widget.data);\n const primaryKey = asString(config.primaryField ?? config.titleField, 'title');\n const secondaryKey = asString(config.secondaryField ?? config.subtitleField, 'subtitle');\n\n const items = asArray(data.items)\n .map((item) => asRecord(item))\n .slice(0, MAX_ITEMS);\n\n if (items.length === 0) {\n return (\n <div className=\"flex h-full items-center justify-center bg-bg-surface p-4 text-sm text-text-secondary\">\n No items\n </div>\n );\n }\n\n return (\n <div className=\"h-full w-full overflow-auto bg-bg-surface\">\n {widget.title && (\n <div className=\"sticky top-0 z-10 border-b border-border-subtle bg-bg-surface px-3 py-2 text-sm font-medium text-text-primary\">\n {widget.title}\n </div>\n )}\n <ul className=\"divide-y divide-border-subtle\">\n {items.map((item, i) => {\n const primary = formatCell(item[primaryKey]);\n const secondary = formatCell(item[secondaryKey]);\n return (\n <li key={i} className=\"px-3 py-2 hover:bg-bg-sunken/50\">\n <div className=\"truncate text-sm text-text-primary\">{primary}</div>\n {secondary && <div className=\"truncate text-xs text-text-secondary\">{secondary}</div>}\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n"],"mappings":";;;AAIA,IAAM,IAAY;AAElB,SAAgB,EAAU,EAAE,aAAkC;CAC5D,IAAM,IAAS,EAAS,EAAO,OAAO,EAChC,IAAO,EAAS,EAAO,KAAK,EAC5B,IAAa,EAAS,EAAO,gBAAgB,EAAO,YAAY,QAAQ,EACxE,IAAe,EAAS,EAAO,kBAAkB,EAAO,eAAe,WAAW,EAElF,IAAQ,EAAQ,EAAK,MAAM,CAC9B,KAAK,MAAS,EAAS,EAAK,CAAC,CAC7B,MAAM,GAAG,EAAU;AAUtB,QARI,EAAM,WAAW,IAEjB,kBAAC,OAAD;EAAK,WAAU;YAAwF;EAEjG,CAAA,GAKR,kBAAC,OAAD;EAAK,WAAU;YAAf,CACG,EAAO,SACN,kBAAC,OAAD;GAAK,WAAU;aACZ,EAAO;GACJ,CAAA,EAER,kBAAC,MAAD;GAAI,WAAU;aACX,EAAM,KAAK,GAAM,MAAM;IACtB,IAAM,IAAU,EAAW,EAAK,GAAY,EACtC,IAAY,EAAW,EAAK,GAAc;AAChD,WACE,kBAAC,MAAD;KAAY,WAAU;eAAtB,CACE,kBAAC,OAAD;MAAK,WAAU;gBAAsC;MAAc,CAAA,EAClE,KAAa,kBAAC,OAAD;MAAK,WAAU;gBAAwC;MAAgB,CAAA,CAClF;OAHI,EAGJ;KAEP;GACC,CAAA,CACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetricCardEmbed.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/embed/widgets/MetricCardEmbed.tsx"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,+BAiBjE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"MetricCardEmbed.js","names":[],"sources":["../../../../../src/bigconsole/components/embed/widgets/MetricCardEmbed.tsx"],"sourcesContent":["/** Read-only metric card embed renderer (BOFF-2986 / BOFF-5733). */\nimport type { EmbedWidgetRenderProps } from '../types';\nimport { asRecord, asString, asFiniteNumber, formatNumber } from './shared';\n\nexport function MetricCardEmbed({ widget }: EmbedWidgetRenderProps) {\n const config = asRecord(widget.config);\n const data = asRecord(widget.data);\n const rawValue = asFiniteNumber(data.value ?? config.value);\n const label = asString(config.label ?? widget.title, 'Metric');\n const subtitle = asString(config.subtitle);\n const display = rawValue !== null ? formatNumber(rawValue, config) : '—';\n\n return (\n <div className=\"flex h-full w-full flex-col justify-center gap-1 bg-bg-surface p-4\">\n <div className=\"truncate text-xs font-medium uppercase tracking-wide text-text-secondary\">{label}</div>\n <div className=\"text-3xl font-semibold tracking-tight text-text-primary\" title={display}>\n {display}\n </div>\n {subtitle && <div className=\"truncate text-xs text-text-tertiary\">{subtitle}</div>}\n </div>\n );\n}\n"],"mappings":";;;AAIA,SAAgB,EAAgB,EAAE,aAAkC;CAClE,IAAM,IAAS,EAAS,EAAO,OAAO,EAEhC,IAAW,EADJ,EAAS,EAAO,KAAK,CACG,SAAS,EAAO,MAAM,EACrD,IAAQ,EAAS,EAAO,SAAS,EAAO,OAAO,SAAS,EACxD,IAAW,EAAS,EAAO,SAAS,EACpC,IAAU,MAAa,OAAwC,MAAjC,EAAa,GAAU,EAAO;AAElE,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAA4E;IAAY,CAAA;GACvG,kBAAC,OAAD;IAAK,WAAU;IAA0D,OAAO;cAC7E;IACG,CAAA;GACL,KAAY,kBAAC,OAAD;IAAK,WAAU;cAAuC;IAAe,CAAA;GAC9E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PivotEmbed.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/embed/widgets/PivotEmbed.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAmCvD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,+BAuL5D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"PivotEmbed.js","names":[],"sources":["../../../../../src/bigconsole/components/embed/widgets/PivotEmbed.tsx"],"sourcesContent":["/**\n * Read-only pivot table embed renderer (BOFF-7926).\n *\n * The service aggregates SERVER-SIDE and sends only the aggregated tree — raw\n * rows never reach a public embed (the in-app pivot's field shelf lists every\n * key of the raw rows). Shape:\n *\n * {\n * rowFields: string[],\n * columnField: string | null,\n * columnKeys: string[], // ['Total'] when columnField is null\n * valueFields: [{ key, label?, aggregation? }],\n * nodes: [{ path: string[], byColumn?: {col: {vf: n}}, total?: {vf: n} | n }],\n * columnTotals?: {col: {vf: n}},\n * grandTotal?: {vf: n} | n,\n * }\n *\n * Config: showRowTotals, showColumnTotals, showGrandTotal, expandable,\n * numberFormat, decimalPlaces. Expand/collapse is local UI state only.\n */\nimport { useCallback, useMemo, useState } from 'react';\nimport type { EmbedWidgetRenderProps } from '../types';\nimport { EmbedFrame } from './EmbedFrame';\nimport {\n asArray,\n asFiniteNumber,\n asOptionalString,\n asRecord,\n asRecordArray,\n displayValue,\n formatNumber,\n} from './shared';\n\nconst MAX_COLUMNS = 50;\nconst MAX_NODES = 2000;\n\ninterface PivotValueField {\n key: string;\n label: string;\n}\ninterface PivotNode {\n path: string[];\n key: string;\n byColumn: Record<string, unknown>;\n total: unknown;\n}\n\n/** Read `obj[col][vf]` (or `obj[vf]` / a bare number when there is one value field). */\nfunction pick(source: unknown, vf: string, single: boolean): number | null {\n if (single) {\n const direct = asFiniteNumber(source);\n if (direct !== null) return direct;\n }\n return asFiniteNumber(asRecord(source)[vf]);\n}\n\nexport function PivotEmbed({ widget }: EmbedWidgetRenderProps) {\n const config = widget.config;\n const numberConfig = useMemo(\n () => ({ format: asOptionalString(config.numberFormat, 20) ?? 'number', decimals: config.decimalPlaces }),\n [config.numberFormat, config.decimalPlaces]\n );\n const showRowTotals = config.showRowTotals !== false;\n const showColumnTotals = config.showColumnTotals !== false;\n const showGrandTotal = config.showGrandTotal !== false;\n const expandable = config.expandable !== false;\n\n const model = useMemo(() => {\n const d = asRecord(widget.data);\n // No column field: the service still sends `columnKeys: ['Total']`; render\n // the value fields directly from each node's `total` instead.\n const hasColumnField = typeof d.columnField === 'string' && d.columnField.length > 0;\n const columnKeys = hasColumnField ? asArray(d.columnKeys).map(displayValue).slice(0, MAX_COLUMNS) : [];\n const rowHeader = asArray(d.rowFields).map(displayValue).filter(Boolean).slice(0, 10).join(' / ');\n const valueFields: PivotValueField[] = asRecordArray(d.valueFields, 10)\n .map((v) => {\n const key = displayValue(v.key);\n const agg = asOptionalString(v.aggregation, 20);\n const label = asOptionalString(v.label, 80) ?? (agg ? `${agg}(${key})` : key);\n return { key, label };\n })\n .filter((v) => v.key !== '');\n const nodes: PivotNode[] = asRecordArray(d.nodes, MAX_NODES)\n .map((n) => {\n const path = asArray(n.path).map(displayValue).slice(0, 10);\n return { path, key: path.join('\\u0000'), byColumn: asRecord(n.byColumn), total: n.total };\n })\n .filter((n) => n.path.length > 0);\n const parentKeys = new Set<string>();\n for (const n of nodes) {\n for (let i = 1; i < n.path.length; i++) parentKeys.add(n.path.slice(0, i).join('\\u0000'));\n }\n return {\n columnKeys,\n rowHeader,\n valueFields,\n nodes,\n parentKeys,\n columnTotals: asRecord(d.columnTotals),\n grandTotal: d.grandTotal,\n };\n }, [widget.data]);\n\n const [collapsed, setCollapsed] = useState<ReadonlySet<string>>(new Set());\n const toggle = useCallback((key: string) => {\n setCollapsed((prev) => {\n const next = new Set(prev);\n if (next.has(key)) next.delete(key);\n else next.add(key);\n return next;\n });\n }, []);\n\n const { columnKeys, rowHeader, valueFields, nodes, parentKeys, columnTotals, grandTotal } = model;\n if (nodes.length === 0 || valueFields.length === 0) {\n return (\n <EmbedFrame title={widget.title}>\n <div className=\"flex h-full items-center justify-center p-4 text-sm text-text-tertiary\">No data</div>\n </EmbedFrame>\n );\n }\n\n const single = valueFields.length === 1;\n const hasColumns = columnKeys.length > 0;\n const fmt = (v: number | null) => (v === null ? '' : formatNumber(v, numberConfig));\n const isHidden = (n: PivotNode) =>\n n.path.some((_, i) => i < n.path.length - 1 && collapsed.has(n.path.slice(0, i + 1).join('\\u0000')));\n const visible = nodes.filter((n) => !isHidden(n));\n\n const cellClass = 'border-b border-border-subtle px-3 py-1.5 text-right tabular-nums text-text-primary';\n const headClass =\n 'border-b border-border-default bg-bg-sunken px-3 py-2 text-right text-xs font-medium text-text-secondary';\n\n return (\n <EmbedFrame title={widget.title}>\n <table className=\"w-full border-collapse text-sm\">\n <thead className=\"sticky top-0\">\n <tr>\n <th className={`${headClass} text-left`}>{rowHeader}</th>\n {hasColumns\n ? columnKeys.flatMap((col) =>\n valueFields.map((vf) => (\n <th key={`${col}|${vf.key}`} className={headClass}>\n {single ? col : `${col} · ${vf.label}`}\n </th>\n ))\n )\n : valueFields.map((vf) => (\n <th key={vf.key} className={headClass}>\n {vf.label}\n </th>\n ))}\n {hasColumns &&\n showRowTotals &&\n valueFields.map((vf) => (\n <th key={`total|${vf.key}`} className={headClass}>\n {single ? 'Total' : `Total · ${vf.label}`}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {visible.map((n) => {\n const depth = n.path.length - 1;\n const isParent = parentKeys.has(n.key);\n const open = !collapsed.has(n.key);\n return (\n <tr key={n.key} className={isParent ? 'bg-bg-sunken/40' : undefined}>\n <td className=\"border-b border-border-subtle px-3 py-1.5 text-left text-text-primary\">\n <span className=\"inline-flex items-center gap-1\" style={{ paddingLeft: `${depth * 16}px` }}>\n {isParent && expandable ? (\n <button\n type=\"button\"\n onClick={() => toggle(n.key)}\n aria-expanded={open}\n className=\"w-4 text-text-tertiary hover:text-text-primary\"\n >\n {open ? '▾' : '▸'}\n </button>\n ) : (\n <span className=\"w-4\" />\n )}\n <span className={isParent ? 'font-medium' : undefined}>{n.path[n.path.length - 1]}</span>\n </span>\n </td>\n {hasColumns\n ? columnKeys.flatMap((col) =>\n valueFields.map((vf) => (\n <td key={`${col}|${vf.key}`} className={cellClass}>\n {fmt(pick(n.byColumn[col], vf.key, single))}\n </td>\n ))\n )\n : valueFields.map((vf) => (\n <td key={vf.key} className={cellClass}>\n {fmt(pick(n.total, vf.key, single))}\n </td>\n ))}\n {hasColumns &&\n showRowTotals &&\n valueFields.map((vf) => (\n <td key={`total|${vf.key}`} className={`${cellClass} font-medium`}>\n {fmt(pick(n.total, vf.key, single))}\n </td>\n ))}\n </tr>\n );\n })}\n </tbody>\n {(showColumnTotals || showGrandTotal) && (\n <tfoot>\n <tr className=\"bg-bg-sunken font-medium\">\n <td className=\"px-3 py-2 text-left text-text-primary\">Total</td>\n {hasColumns\n ? columnKeys.flatMap((col) =>\n valueFields.map((vf) => (\n <td key={`${col}|${vf.key}`} className=\"px-3 py-2 text-right tabular-nums text-text-primary\">\n {showColumnTotals ? fmt(pick(columnTotals[col], vf.key, single)) : ''}\n </td>\n ))\n )\n : valueFields.map((vf) => (\n <td key={vf.key} className=\"px-3 py-2 text-right tabular-nums text-text-primary\">\n {showGrandTotal ? fmt(pick(grandTotal, vf.key, single)) : ''}\n </td>\n ))}\n {hasColumns &&\n showRowTotals &&\n valueFields.map((vf) => (\n <td key={`total|${vf.key}`} className=\"px-3 py-2 text-right tabular-nums text-text-primary\">\n {showGrandTotal ? fmt(pick(grandTotal, vf.key, single)) : ''}\n </td>\n ))}\n </tr>\n </tfoot>\n )}\n </table>\n </EmbedFrame>\n );\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProgressEmbed.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/embed/widgets/ProgressEmbed.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAKvD,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,+BAmB/D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProgressEmbed.js","names":[],"sources":["../../../../../src/bigconsole/components/embed/widgets/ProgressEmbed.tsx"],"sourcesContent":["/**\n * Read-only progress embed renderer (BOFF-7926).\n *\n * Reuses the in-app ProgressWidget. The service projects the final\n * `{ value, max?, target?, label?, description? }`.\n */\nimport { useMemo } from 'react';\nimport { ProgressWidget, type ProgressData } from '../../widgets/progress/ProgressWidget';\nimport type { EmbedWidgetRenderProps } from '../types';\nimport { toWidgetShim } from '../widgetShim';\nimport { EmbedFrame } from './EmbedFrame';\nimport { asFiniteNumber, asOptionalString, asRecord } from './shared';\n\nexport function ProgressEmbed({ widget }: EmbedWidgetRenderProps) {\n const shim = useMemo(() => toWidgetShim(widget), [widget]);\n const data = useMemo((): ProgressData | undefined => {\n const d = asRecord(widget.data);\n const value = asFiniteNumber(d.value);\n if (value === null) return undefined;\n return {\n value,\n max: asFiniteNumber(d.max) ?? undefined,\n target: asFiniteNumber(d.target) ?? undefined,\n label: asOptionalString(d.label, 120),\n description: asOptionalString(d.description, 300),\n };\n }, [widget.data]);\n return (\n <EmbedFrame title={widget.title}>\n <ProgressWidget widget={shim} data={data} />\n </EmbedFrame>\n );\n}\n"],"mappings":";;;;;;;AAaA,SAAgB,EAAc,EAAE,aAAkC;CAChE,IAAM,IAAO,QAAc,EAAa,EAAO,EAAE,CAAC,EAAO,CAAC,EACpD,IAAO,QAAwC;EACnD,IAAM,IAAI,EAAS,EAAO,KAAK,EACzB,IAAQ,EAAe,EAAE,MAAM;AACjC,YAAU,KACd,QAAO;GACL;GACA,KAAK,EAAe,EAAE,IAAI,IAAI,KAAA;GAC9B,QAAQ,EAAe,EAAE,OAAO,IAAI,KAAA;GACpC,OAAO,EAAiB,EAAE,OAAO,IAAI;GACrC,aAAa,EAAiB,EAAE,aAAa,IAAI;GAClD;IACA,CAAC,EAAO,KAAK,CAAC;AACjB,QACE,kBAAC,GAAD;EAAY,OAAO,EAAO;YACxB,kBAAC,GAAD;GAAgB,QAAQ;GAAY;GAAQ,CAAA;EACjC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RetentionEmbed.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/embed/widgets/RetentionEmbed.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAuBvD,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,+BAiBhE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RetentionEmbed.js","names":[],"sources":["../../../../../src/bigconsole/components/embed/widgets/RetentionEmbed.tsx"],"sourcesContent":["/**\n * Read-only retention/cohort embed renderer (BOFF-7926).\n *\n * Reuses the in-app RetentionWidget. The service projects\n * `{ periods: string[], cohorts: [{ cohort, initialSize, values: (number | null)[] }] }`.\n */\nimport { useMemo } from 'react';\nimport { RetentionWidget, type RetentionData } from '../../widgets/retention/RetentionWidget';\nimport type { EmbedWidgetRenderProps } from '../types';\nimport { toWidgetShim } from '../widgetShim';\nimport { EmbedFrame } from './EmbedFrame';\nimport { asArray, asFiniteNumber, asRecord, asRecordArray, displayValue } from './shared';\n\nconst MAX_COHORTS = 100;\nconst MAX_PERIODS = 52;\n\n/**\n * Values up to the first missing period. The service sends `null` for periods a\n * cohort has not reached yet (always trailing); the in-app grid renders a\n * shorter row as blank cells, whereas a null cell would crash `toFixed`.\n */\nfunction leadingNumbers(values: unknown[]): number[] {\n const out: number[] = [];\n for (const v of values) {\n const n = asFiniteNumber(v);\n if (n === null) break;\n out.push(n);\n }\n return out;\n}\n\nexport function RetentionEmbed({ widget }: EmbedWidgetRenderProps) {\n const shim = useMemo(() => toWidgetShim(widget), [widget]);\n const data = useMemo((): RetentionData | undefined => {\n const d = asRecord(widget.data);\n const periods = asArray(d.periods).map(displayValue).slice(0, MAX_PERIODS);\n const cohorts = asRecordArray(d.cohorts, MAX_COHORTS).map((c) => ({\n cohort: displayValue(c.cohort),\n initialSize: asFiniteNumber(c.initialSize) ?? 0,\n values: leadingNumbers(asArray(c.values).slice(0, MAX_PERIODS)),\n }));\n return periods.length > 0 && cohorts.length > 0 ? { periods, cohorts } : undefined;\n }, [widget.data]);\n return (\n <EmbedFrame title={widget.title}>\n <RetentionWidget widget={shim} data={data} />\n </EmbedFrame>\n );\n}\n"],"mappings":";;;;;;;AAaA,IAAM,IAAc,KACd,IAAc;AAOpB,SAAS,EAAe,GAA6B;CACnD,IAAM,IAAgB,EAAE;AACxB,MAAK,IAAM,KAAK,GAAQ;EACtB,IAAM,IAAI,EAAe,EAAE;AAC3B,MAAI,MAAM,KAAM;AAChB,IAAI,KAAK,EAAE;;AAEb,QAAO;;AAGT,SAAgB,EAAe,EAAE,aAAkC;CACjE,IAAM,IAAO,QAAc,EAAa,EAAO,EAAE,CAAC,EAAO,CAAC,EACpD,IAAO,QAAyC;EACpD,IAAM,IAAI,EAAS,EAAO,KAAK,EACzB,IAAU,EAAQ,EAAE,QAAQ,CAAC,IAAI,EAAa,CAAC,MAAM,GAAG,EAAY,EACpE,IAAU,EAAc,EAAE,SAAS,EAAY,CAAC,KAAK,OAAO;GAChE,QAAQ,EAAa,EAAE,OAAO;GAC9B,aAAa,EAAe,EAAE,YAAY,IAAI;GAC9C,QAAQ,EAAe,EAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,EAAY,CAAC;GAChE,EAAE;AACH,SAAO,EAAQ,SAAS,KAAK,EAAQ,SAAS,IAAI;GAAE;GAAS;GAAS,GAAG,KAAA;IACxE,CAAC,EAAO,KAAK,CAAC;AACjB,QACE,kBAAC,GAAD;EAAY,OAAO,EAAO;YACxB,kBAAC,GAAD;GAAiB,QAAQ;GAAY;GAAQ,CAAA;EAClC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableEmbed.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/embed/widgets/TableEmbed.tsx"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAsDvD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,+BAwF5D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableEmbed.js","names":[],"sources":["../../../../../src/bigconsole/components/embed/widgets/TableEmbed.tsx"],"sourcesContent":["/** Read-only table embed renderer (BOFF-2986 / BOFF-5733). */\nimport type { EmbedWidgetRenderProps } from '../types';\nimport { asRecord, asArray, asString, formatCell, isNumeric } from './shared';\nimport { resolveCellLinkHref } from '../../widgets/table/cellLink';\n\ninterface Column {\n key: string;\n label: string;\n /** When 'link', the cell renders a navigable anchor (see cellLink). */\n format?: string;\n /** URL template for a `link` column; `{value}`/`{field}` tokens. */\n linkPattern?: string;\n}\n\n/** Hard client-side cap; the publication builder is expected to page/limit rows. */\nconst MAX_ROWS = 500;\n\nfunction readColumns(config: Record<string, unknown>, rows: Record<string, unknown>[]): Column[] {\n const configured = asArray(config.columns)\n .map((c) => asRecord(c))\n .map((c) => {\n // Mirror the live table's key/label fallbacks: a column may use `field`\n // instead of `key` and `header` instead of `label` (config-UI alias).\n const key = asString(c.key) || asString(c.field);\n return {\n key,\n label: asString(c.label ?? c.header ?? key),\n format: asString(c.format) || undefined,\n linkPattern: asString(c.linkPattern) || undefined,\n };\n })\n .filter((c) => c.key.length > 0);\n // A publisher that pinned columns chose exactly what to show — respect it.\n if (configured.length > 0) return configured;\n\n // Derive from the data when the publication didn't pin columns. Union the keys\n // across all rows (rows can be sparse), then drop noise so an embed never shows\n // a raw internal dump: `_`-prefixed technical keys and columns that are empty\n // in every row (the \"empty metadata/badge column\" gap from BOFF-5733).\n const seen = new Set<string>();\n const keys: string[] = [];\n for (const row of rows) {\n for (const key of Object.keys(row)) {\n if (!seen.has(key)) {\n seen.add(key);\n keys.push(key);\n }\n }\n }\n return keys\n .filter((key) => !key.startsWith('_'))\n .filter((key) => rows.some((row) => formatCell(row[key]) !== ''))\n .map((key) => ({ key, label: key }));\n}\n\nexport function TableEmbed({ widget }: EmbedWidgetRenderProps) {\n const config = asRecord(widget.config);\n const data = asRecord(widget.data);\n const rows = asArray(data.rows)\n .map((r) => asRecord(r))\n .slice(0, MAX_ROWS);\n const columns = readColumns(config, rows);\n\n if (columns.length === 0 || rows.length === 0) {\n return (\n <div className=\"flex h-full items-center justify-center bg-bg-surface p-4 text-sm text-text-secondary\">\n No data\n </div>\n );\n }\n\n // Right-align a column when its populated cells are all numeric (matches the\n // in-app TableCell), so currency/counts line up on the decimal edge.\n const numericColumns = new Set(\n columns\n .filter((col) => {\n const values = rows.map((r) => r[col.key]).filter((v) => v !== null && v !== undefined && v !== '');\n return values.length > 0 && values.every(isNumeric);\n })\n .map((col) => col.key)\n );\n\n return (\n <div className=\"h-full w-full overflow-auto bg-bg-surface\">\n {widget.title && (\n <div className=\"border-b border-border-subtle bg-bg-surface px-3 py-2 text-sm font-medium text-text-primary\">\n {widget.title}\n </div>\n )}\n <table className=\"w-full border-collapse text-sm\">\n <thead>\n <tr>\n {columns.map((col) => (\n // `sticky` lives on the cells (not the title, which scrolls away)\n // so column headers stay visible while scrolling the 500-row cap.\n // Cells carry their own opaque background so rows don't show through.\n <th\n key={col.key}\n scope=\"col\"\n className={`sticky top-0 z-10 border-b border-border-default bg-bg-sunken px-3 py-2 font-medium text-text-secondary ${\n numericColumns.has(col.key) ? 'text-right tabular-nums' : 'text-left'\n }`}\n >\n {col.label}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {rows.map((row, i) => (\n <tr key={i} className=\"hover:bg-bg-sunken/50\">\n {columns.map((col) => {\n // Mirror the in-app TableCell: only `link` columns navigate.\n const href = col.format === 'link' ? resolveCellLinkHref(col.linkPattern, row[col.key], row) : null;\n return (\n <td\n key={col.key}\n className={`border-b border-border-subtle px-3 py-2 text-text-primary ${\n numericColumns.has(col.key) ? 'text-right tabular-nums' : 'text-left'\n }`}\n >\n {href ? (\n <a\n href={href}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n title={href}\n className=\"text-action-primary-bg hover:underline\"\n >\n {formatCell(row[col.key])}\n </a>\n ) : (\n formatCell(row[col.key])\n )}\n </td>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n );\n}\n"],"mappings":";;;;AAeA,IAAM,IAAW;AAEjB,SAAS,EAAY,GAAiC,GAA2C;CAC/F,IAAM,IAAa,EAAQ,EAAO,QAAQ,CACvC,KAAK,MAAM,EAAS,EAAE,CAAC,CACvB,KAAK,MAAM;EAGV,IAAM,IAAM,EAAS,EAAE,IAAI,IAAI,EAAS,EAAE,MAAM;AAChD,SAAO;GACL;GACA,OAAO,EAAS,EAAE,SAAS,EAAE,UAAU,EAAI;GAC3C,QAAQ,EAAS,EAAE,OAAO,IAAI,KAAA;GAC9B,aAAa,EAAS,EAAE,YAAY,IAAI,KAAA;GACzC;GACD,CACD,QAAQ,MAAM,EAAE,IAAI,SAAS,EAAE;AAElC,KAAI,EAAW,SAAS,EAAG,QAAO;CAMlC,IAAM,oBAAO,IAAI,KAAa,EACxB,IAAiB,EAAE;AACzB,MAAK,IAAM,KAAO,EAChB,MAAK,IAAM,KAAO,OAAO,KAAK,EAAI,CAChC,CAAK,EAAK,IAAI,EAAI,KAChB,EAAK,IAAI,EAAI,EACb,EAAK,KAAK,EAAI;AAIpB,QAAO,EACJ,QAAQ,MAAQ,CAAC,EAAI,WAAW,IAAI,CAAC,CACrC,QAAQ,MAAQ,EAAK,MAAM,MAAQ,EAAW,EAAI,GAAK,KAAK,GAAG,CAAC,CAChE,KAAK,OAAS;EAAE;EAAK,OAAO;EAAK,EAAE;;AAGxC,SAAgB,EAAW,EAAE,aAAkC;CAC7D,IAAM,IAAS,EAAS,EAAO,OAAO,EAEhC,IAAO,EADA,EAAS,EAAO,KAAK,CACR,KAAK,CAC5B,KAAK,MAAM,EAAS,EAAE,CAAC,CACvB,MAAM,GAAG,EAAS,EACf,IAAU,EAAY,GAAQ,EAAK;AAEzC,KAAI,EAAQ,WAAW,KAAK,EAAK,WAAW,EAC1C,QACE,kBAAC,OAAD;EAAK,WAAU;YAAwF;EAEjG,CAAA;CAMV,IAAM,IAAiB,IAAI,IACzB,EACG,QAAQ,MAAQ;EACf,IAAM,IAAS,EAAK,KAAK,MAAM,EAAE,EAAI,KAAK,CAAC,QAAQ,MAAM,KAAM,QAA2B,MAAM,GAAG;AACnG,SAAO,EAAO,SAAS,KAAK,EAAO,MAAM,EAAU;GACnD,CACD,KAAK,MAAQ,EAAI,IAAI,CACzB;AAED,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACG,EAAO,SACN,kBAAC,OAAD;GAAK,WAAU;aACZ,EAAO;GACJ,CAAA,EAER,kBAAC,SAAD;GAAO,WAAU;aAAjB,CACE,kBAAC,SAAD,EAAA,UACE,kBAAC,MAAD,EAAA,UACG,EAAQ,KAAK,MAIZ,kBAAC,MAAD;IAEE,OAAM;IACN,WAAW,2GACT,EAAe,IAAI,EAAI,IAAI,GAAG,4BAA4B;cAG3D,EAAI;IACF,EAPE,EAAI,IAON,CACL,EACC,CAAA,EACC,CAAA,EACR,kBAAC,SAAD,EAAA,UACG,EAAK,KAAK,GAAK,MACd,kBAAC,MAAD;IAAY,WAAU;cACnB,EAAQ,KAAK,MAAQ;KAEpB,IAAM,IAAO,EAAI,WAAW,SAAS,EAAoB,EAAI,aAAa,EAAI,EAAI,MAAM,EAAI,GAAG;AAC/F,YACE,kBAAC,MAAD;MAEE,WAAW,6DACT,EAAe,IAAI,EAAI,IAAI,GAAG,4BAA4B;gBAG3D,IACC,kBAAC,KAAD;OACQ;OACN,QAAO;OACP,KAAI;OACJ,OAAO;OACP,WAAU;iBAET,EAAW,EAAI,EAAI,KAAK;OACvB,CAAA,GAEJ,EAAW,EAAI,EAAI,KAAK;MAEvB,EAlBE,EAAI,IAkBN;MAEP;IACC,EA3BI,EA2BJ,CACL,EACI,CAAA,CACF;KACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextEmbed.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/embed/widgets/TextEmbed.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAGvD,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,+BAU3D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextEmbed.js","names":[],"sources":["../../../../../src/bigconsole/components/embed/widgets/TextEmbed.tsx"],"sourcesContent":["/**\n * Read-only text embed renderer (BOFF-2986 / BOFF-5733).\n *\n * Renders the text content as PLAIN TEXT — React escapes it, so no HTML/script\n * from the content can execute. Rich Markdown/HTML rendering is deferred until a\n * vetted sanitizer is wired; until then plain text is the safe default rather\n * than `dangerouslySetInnerHTML`.\n */\nimport type { EmbedWidgetRenderProps } from '../types';\nimport { asRecord, asString } from './shared';\n\nexport function TextEmbed({ widget }: EmbedWidgetRenderProps) {\n const config = asRecord(widget.config);\n const content = asString(config.content ?? config.text ?? config.markdown);\n\n return (\n <div className=\"h-full w-full overflow-auto bg-bg-surface p-4\">\n {widget.title && <div className=\"mb-2 text-sm font-medium text-text-primary\">{widget.title}</div>}\n <div className=\"whitespace-pre-wrap break-words text-sm leading-relaxed text-text-secondary\">{content}</div>\n </div>\n );\n}\n"],"mappings":";;;AAWA,SAAgB,EAAU,EAAE,aAAkC;CAC5D,IAAM,IAAS,EAAS,EAAO,OAAO,EAChC,IAAU,EAAS,EAAO,WAAW,EAAO,QAAQ,EAAO,SAAS;AAE1E,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf,CACG,EAAO,SAAS,kBAAC,OAAD;GAAK,WAAU;aAA8C,EAAO;GAAY,CAAA,EACjG,kBAAC,OAAD;GAAK,WAAU;aAA+E;GAAc,CAAA,CACxG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimelineEmbed.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/embed/widgets/TimelineEmbed.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAOvD,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,sBAAsB,+BA6B/D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimelineEmbed.js","names":[],"sources":["../../../../../src/bigconsole/components/embed/widgets/TimelineEmbed.tsx"],"sourcesContent":["/**\n * Read-only timeline embed renderer (BOFF-7926).\n *\n * Reuses the in-app TimelineWidget. The service projects\n * `{ tasks: [{id, name, start, end, progress?, color?}], milestones: [{name, date, color?}] }`\n * (ids are positional indexes; dependencies are dropped). Colors are re-checked.\n */\nimport { useMemo } from 'react';\nimport { TimelineWidget, type TimelineData } from '../../widgets/timeline/TimelineWidget';\nimport type { EmbedWidgetRenderProps } from '../types';\nimport { toWidgetShim } from '../widgetShim';\nimport { EmbedFrame } from './EmbedFrame';\nimport { asFiniteNumber, asRecord, asRecordArray, displayValue, safeColor } from './shared';\n\nconst MAX_ITEMS = 1000;\n\nexport function TimelineEmbed({ widget }: EmbedWidgetRenderProps) {\n const shim = useMemo(() => toWidgetShim(widget), [widget]);\n const data = useMemo((): TimelineData | undefined => {\n const d = asRecord(widget.data);\n const tasks = asRecordArray(d.tasks, MAX_ITEMS)\n .map((t, i) => ({\n id: `t${i}`,\n name: displayValue(t.name),\n start: displayValue(t.start),\n end: displayValue(t.end),\n progress: asFiniteNumber(t.progress) ?? undefined,\n color: safeColor(t.color),\n }))\n .filter((t) => t.start !== '' && t.end !== '');\n const milestones = asRecordArray(d.milestones, MAX_ITEMS)\n .map((m, i) => ({\n id: `m${i}`,\n name: displayValue(m.name),\n date: displayValue(m.date),\n color: safeColor(m.color),\n }))\n .filter((m) => m.date !== '');\n return tasks.length > 0 || milestones.length > 0 ? { tasks, milestones } : undefined;\n }, [widget.data]);\n return (\n <EmbedFrame title={widget.title}>\n <TimelineWidget widget={shim} data={data} />\n </EmbedFrame>\n );\n}\n"],"mappings":";;;;;;;AAcA,IAAM,IAAY;AAElB,SAAgB,EAAc,EAAE,aAAkC;CAChE,IAAM,IAAO,QAAc,EAAa,EAAO,EAAE,CAAC,EAAO,CAAC,EACpD,IAAO,QAAwC;EACnD,IAAM,IAAI,EAAS,EAAO,KAAK,EACzB,IAAQ,EAAc,EAAE,OAAO,EAAU,CAC5C,KAAK,GAAG,OAAO;GACd,IAAI,IAAI;GACR,MAAM,EAAa,EAAE,KAAK;GAC1B,OAAO,EAAa,EAAE,MAAM;GAC5B,KAAK,EAAa,EAAE,IAAI;GACxB,UAAU,EAAe,EAAE,SAAS,IAAI,KAAA;GACxC,OAAO,EAAU,EAAE,MAAM;GAC1B,EAAE,CACF,QAAQ,MAAM,EAAE,UAAU,MAAM,EAAE,QAAQ,GAAG,EAC1C,IAAa,EAAc,EAAE,YAAY,EAAU,CACtD,KAAK,GAAG,OAAO;GACd,IAAI,IAAI;GACR,MAAM,EAAa,EAAE,KAAK;GAC1B,MAAM,EAAa,EAAE,KAAK;GAC1B,OAAO,EAAU,EAAE,MAAM;GAC1B,EAAE,CACF,QAAQ,MAAM,EAAE,SAAS,GAAG;AAC/B,SAAO,EAAM,SAAS,KAAK,EAAW,SAAS,IAAI;GAAE;GAAO;GAAY,GAAG,KAAA;IAC1E,CAAC,EAAO,KAAK,CAAC;AACjB,QACE,kBAAC,GAAD;EAAY,OAAO,EAAO;YACxB,kBAAC,GAAD;GAAgB,QAAQ;GAAY;GAAQ,CAAA;EACjC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/embed/widgets/shared.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,SAAK,GAAG,MAAM,CAE9D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAO5D;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,EAAE,CAEjD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEhE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMnD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAqDnF;AA4BD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKjD;AAED,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEjD;AAaD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAK5D;AAED,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,SAAM,GAAG,MAAM,GAAG,SAAS,CAE9E;AAED,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,SAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAInF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","names":[],"sources":["../../../../../src/bigconsole/components/embed/widgets/shared.ts"],"sourcesContent":["/**\n * Defensive value coercion for embed widget renderers (BOFF-2986).\n *\n * The render model is sanitized by the publication builder, but the renderer\n * re-narrows every value it reads: an embedded widget is anonymous, untrusted\n * customer-facing surface, so we never assume a field is the type we expect.\n */\n\nexport function asString(value: unknown, fallback = ''): string {\n return typeof value === 'string' ? value : fallback;\n}\n\nexport function asFiniteNumber(value: unknown): number | null {\n if (typeof value === 'number' && Number.isFinite(value)) return value;\n if (typeof value === 'string' && value.trim() !== '') {\n const n = Number(value);\n if (Number.isFinite(n)) return n;\n }\n return null;\n}\n\nexport function asArray(value: unknown): unknown[] {\n return Array.isArray(value) ? value : [];\n}\n\nexport function asRecord(value: unknown): Record<string, unknown> {\n return value && typeof value === 'object' && !Array.isArray(value) ? (value as Record<string, unknown>) : {};\n}\n\n/**\n * Render an arbitrary cell value as a display string. Objects/arrays collapse to\n * an empty string rather than `[object Object]`, so no internal structure leaks.\n */\nexport function displayValue(value: unknown): string {\n if (value === null || value === undefined) return '';\n if (typeof value === 'string') return value;\n if (typeof value === 'number') return Number.isFinite(value) ? String(value) : '';\n if (typeof value === 'boolean') return value ? 'true' : 'false';\n return '';\n}\n\n/**\n * Format a number with the widget's optional format hints, safely — mirrors the\n * in-app MetricCardWidget `formatValue` so embedded numbers read identically\n * (thousands separators, currency, percentage, compact notation) instead of a\n * bare `1284530.5`. `config.format` is the same enum the in-app widgets use.\n */\nexport function formatNumber(value: number, config: Record<string, unknown>): string {\n const format = asString(config.format, 'number');\n const decimals = asFiniteNumber(config.decimals);\n const prefix = asString(config.prefix);\n const suffix = asString(config.suffix);\n\n let formatted: string;\n switch (format) {\n case 'currency': {\n // `Intl.NumberFormat` throws `RangeError` on a currency code that isn't a\n // well-formed ISO 4217 string (e.g. '', 'US', 'ABCD'). This is untrusted\n // customer-facing config, so validate the shape and fall back to USD;\n // a defensive try/catch keeps a malformed value from crashing the widget.\n const currency = resolveCurrencyCode(config.currency);\n const maximumFractionDigits = decimals !== null ? clampDecimals(decimals) : 2;\n try {\n formatted = new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency,\n minimumFractionDigits: 0,\n maximumFractionDigits,\n }).format(value);\n } catch {\n formatted = new Intl.NumberFormat('en-US', { maximumFractionDigits }).format(value);\n }\n break;\n }\n case 'percentage': {\n const pctDecimals = decimals !== null ? clampDecimals(decimals) : 1;\n formatted = `${new Intl.NumberFormat('en-US', {\n minimumFractionDigits: pctDecimals,\n maximumFractionDigits: pctDecimals,\n }).format(value * 100)}%`;\n break;\n }\n case 'compact':\n formatted = new Intl.NumberFormat('en-US', {\n notation: 'compact',\n maximumFractionDigits: decimals !== null ? clampDecimals(decimals) : 1,\n }).format(value);\n break;\n case 'number':\n default:\n formatted = new Intl.NumberFormat('en-US', {\n maximumFractionDigits: decimals !== null ? clampDecimals(decimals) : 2,\n }).format(value);\n }\n\n // `currency` already carries its own symbol; only apply an explicit prefix to\n // the other formats so we never render e.g. \"$$1,284,530\".\n if (prefix && format !== 'currency') formatted = `${prefix}${formatted}`;\n if (suffix) formatted = `${formatted}${suffix}`;\n return formatted;\n}\n\nfunction clampDecimals(decimals: number): number {\n return Math.min(Math.max(Math.trunc(decimals), 0), 10);\n}\n\n/**\n * Narrow an untrusted `currency` config value to a well-formed ISO 4217 alpha\n * code (three letters), defaulting to USD. Prevents the `RangeError` that\n * `Intl.NumberFormat({ style: 'currency' })` throws on a malformed code.\n */\nfunction resolveCurrencyCode(value: unknown): string {\n const code = asString(value, 'USD').toUpperCase();\n return /^[A-Z]{3}$/.test(code) ? code : 'USD';\n}\n\n/**\n * Shared cell number formatter — constructed once (a table can render hundreds of\n * cells, and `new Intl.NumberFormat` per call is a measurable hot-path cost).\n *\n * `maximumFractionDigits: 20` (the API max) is LOSSLESS for JS doubles (~17\n * significant digits), so this only adds grouping separators — it never rounds\n * away precision. A blanket round (e.g. 4 dp) would corrupt customer-facing\n * high-precision ratios/coordinates/measurements (`0.0000123` → `0`), whereas\n * embed cells with no explicit column format must preserve the raw value.\n */\nconst CELL_NUMBER_FORMAT = new Intl.NumberFormat('en-US', { maximumFractionDigits: 20 });\n\n/**\n * Format an arbitrary table cell: finite numbers get thousands separators\n * (matching the in-app TableCell) at full precision, everything else falls back\n * to the safe string coercion that never leaks internal object structure.\n */\nexport function formatCell(value: unknown): string {\n if (typeof value === 'number' && Number.isFinite(value)) {\n return CELL_NUMBER_FORMAT.format(value);\n }\n return displayValue(value);\n}\n\n/** True when a value is a finite number — used for right-aligning numeric columns. */\nexport function isNumeric(value: unknown): boolean {\n return typeof value === 'number' && Number.isFinite(value);\n}\n\n/**\n * Allow only inert CSS color values (defense in depth — the service already runs\n * its own safeColor): hex, rgb/rgba/hsl/hsla with numeric arguments, or a\n * `var(--token)` reference. Anything else (`url(...)`, `expression(...)`, named\n * colors carrying odd payloads) is dropped so it can never reach an SVG `fill`\n * or a style attribute.\n */\nconst HEX_COLOR = /^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/i;\nconst FUNC_COLOR = /^(?:rgb|rgba|hsl|hsla)\\(\\s*[0-9.%\\s,/deg-]+\\)$/i;\nconst VAR_COLOR = /^var\\(--[a-z0-9-]+\\)$/i;\n\nexport function safeColor(value: unknown): string | undefined {\n if (typeof value !== 'string') return undefined;\n const v = value.trim();\n if (v.length === 0 || v.length > 64) return undefined;\n return HEX_COLOR.test(v) || FUNC_COLOR.test(v) || VAR_COLOR.test(v) ? v : undefined;\n}\n\n/** A string, trimmed and length-capped, or undefined. */\nexport function asOptionalString(value: unknown, max = 500): string | undefined {\n return typeof value === 'string' && value.length > 0 ? value.slice(0, max) : undefined;\n}\n\n/** Array of records only (drops scalars/arrays), capped. */\nexport function asRecordArray(value: unknown, max = 5000): Record<string, unknown>[] {\n return asArray(value)\n .slice(0, max)\n .filter((v): v is Record<string, unknown> => !!v && typeof v === 'object' && !Array.isArray(v));\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardGuide.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/overview/DashboardGuide.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAyB,MAAM,OAAO,CAAC;AAevE,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAEf,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+DAA+D;IAC/D,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAC5C;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAWD,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAU3D;AAmFD,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAqGjD,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardGuide.js","names":[],"sources":["../../../../src/bigconsole/components/overview/DashboardGuide.tsx"],"sourcesContent":["/**\n * DashboardGuide\n *\n * \"How to create a complete dashboard, end to end\" — a numbered, deep-linked\n * walkthrough on the Overview. Props-only (no data fetching, no context): the\n * page builds the steps with `buildDashboardGuideSteps` and passes translated\n * labels, which keeps it renderable in tests and Storybook.\n *\n * It intentionally does not use fe-libs `NextSteps`: that component shows an\n * \"N to go\" counter that only decreases for steps marked `done`, and this guide\n * teaches the flow rather than tracking completion.\n */\n\nimport { type FC, type ReactNode, Fragment, memo, useId } from 'react';\nimport { Badge, Button } from '@burdenoff/fe-libs/ui';\nimport {\n ArrowRight,\n ChevronDown,\n Database,\n FileCode2,\n GraduationCap,\n LayoutDashboard,\n LayoutGrid,\n Lightbulb,\n Share2,\n Sparkles,\n Upload,\n} from 'lucide-react';\nimport {\n splitGuideEmphasis,\n type GuideAction,\n type GuideAlternative,\n type GuideStep,\n type GuideStepId,\n} from './dashboardGuideSteps';\n\nexport interface DashboardGuideLabels {\n title: string;\n subtitle: string;\n show: string;\n hide: string;\n optional: string;\n /** Short names for the visual flow strip, in order. */\n flow: string[];\n /** Screen-reader prefix for a step heading, e.g. \"Step 2:\". */\n stepPrefix: (stepNumber: number) => string;\n}\n\nexport interface DashboardGuideProps {\n steps: GuideStep[];\n alternative?: GuideAlternative | null;\n labels: DashboardGuideLabels;\n expanded: boolean;\n onToggle: () => void;\n onNavigate: (path: string) => void;\n}\n\nconst STEP_ICONS: Record<GuideStepId, ReactNode> = {\n createDataSink: <Database className=\"size-4\" aria-hidden=\"true\" />,\n loadData: <Upload className=\"size-4\" aria-hidden=\"true\" />,\n shapeWithParser: <FileCode2 className=\"size-4\" aria-hidden=\"true\" />,\n createDashboard: <LayoutDashboard className=\"size-4\" aria-hidden=\"true\" />,\n addWidgets: <LayoutGrid className=\"size-4\" aria-hidden=\"true\" />,\n saveAndShare: <Share2 className=\"size-4\" aria-hidden=\"true\" />,\n};\n\n/** Render `**label**` markers as emphasised on-screen labels. */\nexport function renderGuideEmphasis(text: string): ReactNode {\n return splitGuideEmphasis(text).map((segment, index) =>\n segment.emphasis ? (\n <strong key={index} className=\"font-semibold text-text-primary\">\n {segment.text}\n </strong>\n ) : (\n <Fragment key={index}>{segment.text}</Fragment>\n )\n );\n}\n\nconst GuideActionButton: FC<{\n action: GuideAction;\n variant: 'default' | 'ghost' | 'outline';\n onNavigate: (path: string) => void;\n}> = ({ action, variant, onNavigate }) => (\n <Button\n type=\"button\"\n size=\"sm\"\n variant={variant}\n onClick={() => onNavigate(action.path)}\n className=\"min-h-11 sm:min-h-9\"\n >\n {action.label}\n {variant === 'default' ? <ArrowRight className=\"size-4\" aria-hidden=\"true\" /> : null}\n </Button>\n);\n\nconst GuideStepCard: FC<{\n step: GuideStep;\n number: number;\n optionalLabel: string;\n stepPrefix: string;\n onNavigate: (path: string) => void;\n}> = memo(function GuideStepCard({ step, number, optionalLabel, stepPrefix, onNavigate }) {\n return (\n <li\n data-tour={`bigconsole-overview-guide-step-${step.id}`}\n data-testid={`overview-guide-step-${step.id}`}\n className=\"flex h-full flex-col gap-3 rounded-card border border-[var(--color-border-seam)] bg-bg-canvas p-4\"\n >\n <div className=\"flex items-start gap-3\">\n <span\n aria-hidden=\"true\"\n className=\"inline-flex size-8 shrink-0 items-center justify-center rounded-full bg-action-primary-bg text-sm font-semibold tabular-nums text-action-primary-text\"\n >\n {number}\n </span>\n <div className=\"flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1 pt-1\">\n <span className=\"text-text-secondary\">{STEP_ICONS[step.id]}</span>\n <h3 className=\"text-sm font-semibold text-text-primary\">\n {/* The number badge is decorative; the heading carries the step number. */}\n <span className=\"sr-only\">{`${stepPrefix} `}</span>\n {step.title}\n </h3>\n {step.optional ? <Badge variant=\"secondary\">{optionalLabel}</Badge> : null}\n </div>\n </div>\n\n <p className=\"text-sm leading-relaxed text-text-secondary\">{renderGuideEmphasis(step.body)}</p>\n\n {step.tips.length > 0 ? (\n <ul className=\"space-y-1.5\">\n {step.tips.map((tip) => (\n <li key={tip} className=\"flex gap-2 text-xs leading-relaxed text-text-secondary\">\n <Lightbulb\n className=\"mt-0.5 size-3.5 shrink-0 text-[var(--color-status-warning-text)]\"\n aria-hidden=\"true\"\n />\n <span>{renderGuideEmphasis(tip)}</span>\n </li>\n ))}\n </ul>\n ) : null}\n\n <div className=\"mt-auto space-y-1.5 pt-1\">\n <div className=\"flex flex-wrap items-center gap-2\">\n {step.action ? (\n <GuideActionButton action={step.action} variant=\"default\" onNavigate={onNavigate} />\n ) : step.noPermissionMessage ? (\n <p className=\"text-xs text-text-muted\">{step.noPermissionMessage}</p>\n ) : null}\n {step.secondaryAction ? (\n <GuideActionButton action={step.secondaryAction} variant=\"ghost\" onNavigate={onNavigate} />\n ) : null}\n </div>\n {step.action?.hint ? <p className=\"text-xs text-text-muted\">{step.action.hint}</p> : null}\n </div>\n </li>\n );\n});\n\nexport const DashboardGuide: FC<DashboardGuideProps> = memo(function DashboardGuide({\n steps,\n alternative,\n labels,\n expanded,\n onToggle,\n onNavigate,\n}) {\n const headingId = useId();\n const bodyId = useId();\n\n return (\n <section\n aria-labelledby={headingId}\n data-tour=\"bigconsole-overview-guide\"\n data-testid=\"overview-guide\"\n className=\"rounded-card border border-[var(--color-border-seam)] bg-bg-surface shadow-[var(--shadow-elevation-1)]\"\n >\n <div className=\"flex flex-col gap-3 p-5 sm:flex-row sm:items-center sm:justify-between\">\n <div className=\"flex min-w-0 items-start gap-3\">\n <span\n aria-hidden=\"true\"\n className=\"inline-flex size-10 shrink-0 items-center justify-center rounded-lg bg-[var(--color-accent-soft)] text-text-primary\"\n >\n <GraduationCap className=\"size-5\" />\n </span>\n <div className=\"min-w-0\">\n <h2 id={headingId} className=\"text-lg font-semibold tracking-tight text-text-primary\">\n {labels.title}\n </h2>\n <p className=\"mt-1 text-sm text-text-secondary\">{labels.subtitle}</p>\n </div>\n </div>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n onClick={onToggle}\n aria-expanded={expanded}\n aria-controls={bodyId}\n className=\"min-h-11 shrink-0 self-start sm:min-h-9 sm:self-center\"\n data-testid=\"overview-guide-toggle\"\n >\n {expanded ? labels.hide : labels.show}\n <ChevronDown\n className={`size-4 transition-transform motion-reduce:transition-none ${expanded ? 'rotate-180' : ''}`}\n aria-hidden=\"true\"\n />\n </Button>\n </div>\n\n {/* Kept in the DOM (hidden when collapsed) so aria-controls always\n references an element. */}\n <div id={bodyId} hidden={!expanded} className=\"space-y-5 border-t border-[var(--color-border-seam)] p-5\">\n {/* Visual summary of the flow. Decorative: the numbered step headings\n below carry the same information for assistive technology. */}\n <div aria-hidden=\"true\" className=\"flex flex-wrap items-center gap-2\">\n {labels.flow.map((name, index) => (\n <Fragment key={name}>\n {index > 0 ? <ArrowRight className=\"size-3.5 text-text-muted\" /> : null}\n <span className=\"rounded-pill border border-[var(--color-border-seam)] bg-bg-sunken px-2.5 py-1 text-xs font-medium text-text-secondary\">\n {name}\n </span>\n </Fragment>\n ))}\n </div>\n\n {/* role=\"list\": WebKit drops list semantics from unstyled lists. */}\n <ol role=\"list\" className=\"grid grid-cols-1 gap-3 md:grid-cols-2 xl:grid-cols-3\">\n {steps.map((step, index) => (\n <GuideStepCard\n key={step.id}\n step={step}\n number={index + 1}\n optionalLabel={labels.optional}\n stepPrefix={labels.stepPrefix(index + 1)}\n onNavigate={onNavigate}\n />\n ))}\n </ol>\n\n {alternative ? (\n <div\n data-testid=\"overview-guide-ai\"\n className=\"flex flex-col gap-3 rounded-card border border-dashed border-[var(--color-border-seam)] p-4 sm:flex-row sm:items-center sm:justify-between\"\n >\n <div className=\"flex min-w-0 items-start gap-3\">\n <Sparkles className=\"mt-0.5 size-4 shrink-0 text-text-secondary\" aria-hidden=\"true\" />\n <div className=\"min-w-0\">\n <p className=\"text-sm font-semibold text-text-primary\">{alternative.title}</p>\n <p className=\"mt-1 text-sm leading-relaxed text-text-secondary\">\n {renderGuideEmphasis(alternative.body)}\n </p>\n </div>\n </div>\n <GuideActionButton action={alternative.action} variant=\"outline\" onNavigate={onNavigate} />\n </div>\n ) : null}\n </div>\n </section>\n );\n});\n\nexport default DashboardGuide;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataHealthCard.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/overview/DataHealthCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AAMtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAC/C;AAED,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CA4GjD,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataHealthCard.js","names":[],"sources":["../../../../src/bigconsole/components/overview/DataHealthCard.tsx"],"sourcesContent":["/**\n * DataHealthCard\n *\n * Which data sinks need attention — errored sinks first, then stale ones (a\n * page per status, each shown oldest refresh first), with a count of the rest.\n * Each row opens the sink, where the user can inspect the linked workflow or\n * import fresh data.\n */\n\nimport { type FC, memo } from 'react';\nimport { Button, EmptyState, Skeleton } from '@burdenoff/fe-libs/ui';\nimport { Activity, CheckCircle2 } from 'lucide-react';\nimport { useTr } from '../../../shared/hooks/useTr';\nimport { Section } from '../common';\nimport { DataSinkStatusBadge } from '../datasink/DataSinkStatusBadge';\nimport type { DataSinkSummary } from './overviewModel';\n\nexport interface DataHealthCardProps {\n summary: DataSinkSummary;\n /** First load in progress (no data yet). */\n loading: boolean;\n error: { message: string } | undefined;\n canCreate: boolean;\n onRetry: () => void;\n onNavigate: (path: string) => void;\n formatUpdated: (iso: string) => string | null;\n}\n\nexport const DataHealthCard: FC<DataHealthCardProps> = memo(function DataHealthCard({\n summary,\n loading,\n error,\n canCreate,\n onRetry,\n onNavigate,\n formatUpdated,\n}) {\n const tr = useTr();\n const title = tr('bigconsole.overview.dataHealth.title', 'Data health');\n\n if (error && summary.total === undefined) {\n return (\n <Section\n headingLevel={2}\n tone=\"danger\"\n data-testid=\"overview-data-health-error\"\n title={tr('bigconsole.overview.dataHealth.errorTitle', 'Couldn’t load data sink health')}\n description={error.message}\n actions={\n <Button size=\"sm\" onClick={onRetry}>\n {tr('bigconsole.overview.retry', 'Retry')}\n </Button>\n }\n />\n );\n }\n\n const viewAll = (\n <Button variant=\"link\" size=\"sm\" onClick={() => onNavigate('/datasinks')}>\n {tr('bigconsole.overview.viewAll', 'View all')}\n {/* Appended so the accessible name starts with the visible label (WCAG 2.5.3). */}\n <span className=\"sr-only\"> {tr('bigconsole.overview.dataHealth.viewAllContext', 'data sinks')}</span>\n </Button>\n );\n\n return (\n <Section\n headingLevel={2}\n data-testid=\"overview-data-health\"\n icon={<Activity className=\"h-icon-sm w-icon-sm\" />}\n title={title}\n actions={summary.total ? viewAll : undefined}\n >\n {loading && summary.total === undefined ? (\n <div className=\"space-y-2\" aria-hidden=\"true\">\n <Skeleton className=\"h-10 w-full\" />\n <Skeleton className=\"h-10 w-full\" />\n </div>\n ) : !summary.total ? (\n <EmptyState\n compact\n title={tr('bigconsole.overview.dataHealth.emptyTitle', 'No data sinks yet')}\n description={tr(\n 'bigconsole.overview.dataHealth.emptyDescription',\n 'Data sinks hold the data your dashboards display.'\n )}\n action={\n canCreate ? (\n <Button size=\"sm\" onClick={() => onNavigate('/datasinks/new')}>\n {tr('bigconsole.overview.actions.newDataSink', 'New Data Sink')}\n </Button>\n ) : undefined\n }\n />\n ) : summary.rows.length === 0 ? (\n <p className=\"flex items-center gap-2 text-sm text-status-success-text\" data-testid=\"overview-data-health-ok\">\n <CheckCircle2 className=\"size-4 shrink-0\" aria-hidden=\"true\" />\n {tr('bigconsole.overview.dataHealth.allHealthy', 'All data sinks are healthy.')}\n </p>\n ) : (\n <div className=\"space-y-2\">\n <ul className=\"flex flex-col gap-2\">\n {summary.rows.map((row) => {\n const refreshed = row.lastRefreshedAt ? formatUpdated(row.lastRefreshedAt) : null;\n return (\n <li key={row.id}>\n <button\n type=\"button\"\n onClick={() => onNavigate(`/datasinks/${encodeURIComponent(row.id)}`)}\n className=\"flex min-h-11 w-full items-center justify-between gap-3 rounded-card border border-border-subtle bg-bg-surface px-3 py-2 text-left transition-colors duration-200 hover:bg-bg-sunken focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus motion-reduce:transition-none\"\n >\n <span className=\"min-w-0\">\n <span className=\"block truncate text-sm font-medium text-text-primary\">{row.name}</span>\n {refreshed ? (\n <span className=\"block text-xs text-text-muted\">\n {tr('bigconsole.overview.dataHealth.lastRefreshed', 'Last refreshed {{time}}', {\n time: refreshed,\n })}\n </span>\n ) : null}\n </span>\n <DataSinkStatusBadge status={row.status} size=\"sm\" />\n </button>\n </li>\n );\n })}\n </ul>\n {summary.hiddenCount > 0 ? (\n <Button variant=\"link\" size=\"sm\" className=\"px-0\" onClick={() => onNavigate('/datasinks')}>\n {tr('bigconsole.overview.dataHealth.more', '+{{count}} more', { count: summary.hiddenCount })}\n </Button>\n ) : null}\n </div>\n )}\n </Section>\n );\n});\n\nexport default DataHealthCard;\n"],"mappings":";;;;;;;;;AA4BA,IAAa,IAA0C,EAAK,SAAwB,EAClF,YACA,YACA,UACA,cACA,YACA,eACA,oBACC;CACD,IAAM,IAAK,GAAO,EACZ,IAAQ,EAAG,wCAAwC,cAAc;AAEvE,KAAI,KAAS,EAAQ,UAAU,KAAA,EAC7B,QACE,kBAAC,GAAD;EACE,cAAc;EACd,MAAK;EACL,eAAY;EACZ,OAAO,EAAG,6CAA6C,iCAAiC;EACxF,aAAa,EAAM;EACnB,SACE,kBAAC,GAAD;GAAQ,MAAK;GAAK,SAAS;aACxB,EAAG,6BAA6B,QAAQ;GAClC,CAAA;EAEX,CAAA;CAIN,IAAM,IACJ,kBAAC,GAAD;EAAQ,SAAQ;EAAO,MAAK;EAAK,eAAe,EAAW,aAAa;YAAxE,CACG,EAAG,+BAA+B,WAAW,EAE9C,kBAAC,QAAD;GAAM,WAAU;aAAhB,CAA0B,KAAE,EAAG,iDAAiD,aAAa,CAAQ;KAC9F;;AAGX,QACE,kBAAC,GAAD;EACE,cAAc;EACd,eAAY;EACZ,MAAM,kBAAC,GAAD,EAAU,WAAU,uBAAwB,CAAA;EAC3C;EACP,SAAS,EAAQ,QAAQ,IAAU,KAAA;YAElC,KAAW,EAAQ,UAAU,KAAA,IAC5B,kBAAC,OAAD;GAAK,WAAU;GAAY,eAAY;aAAvC,CACE,kBAAC,GAAD,EAAU,WAAU,eAAgB,CAAA,EACpC,kBAAC,GAAD,EAAU,WAAU,eAAgB,CAAA,CAChC;OACH,EAAQ,QAgBT,EAAQ,KAAK,WAAW,IAC1B,kBAAC,KAAD;GAAG,WAAU;GAA2D,eAAY;aAApF,CACE,kBAAC,GAAD;IAAc,WAAU;IAAkB,eAAY;IAAS,CAAA,EAC9D,EAAG,6CAA6C,8BAA8B,CAC7E;OAEJ,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,MAAD;IAAI,WAAU;cACX,EAAQ,KAAK,KAAK,MAAQ;KACzB,IAAM,IAAY,EAAI,kBAAkB,EAAc,EAAI,gBAAgB,GAAG;AAC7E,YACE,kBAAC,MAAD,EAAA,UACE,kBAAC,UAAD;MACE,MAAK;MACL,eAAe,EAAW,cAAc,mBAAmB,EAAI,GAAG,GAAG;MACrE,WAAU;gBAHZ,CAKE,kBAAC,QAAD;OAAM,WAAU;iBAAhB,CACE,kBAAC,QAAD;QAAM,WAAU;kBAAwD,EAAI;QAAY,CAAA,EACvF,IACC,kBAAC,QAAD;QAAM,WAAU;kBACb,EAAG,gDAAgD,2BAA2B,EAC7E,MAAM,GACP,CAAC;QACG,CAAA,GACL,KACC;UACP,kBAAC,GAAD;OAAqB,QAAQ,EAAI;OAAQ,MAAK;OAAO,CAAA,CAC9C;SACN,EAlBI,EAAI,GAkBR;MAEP;IACC,CAAA,EACJ,EAAQ,cAAc,IACrB,kBAAC,GAAD;IAAQ,SAAQ;IAAO,MAAK;IAAK,WAAU;IAAO,eAAe,EAAW,aAAa;cACtF,EAAG,uCAAuC,mBAAmB,EAAE,OAAO,EAAQ,aAAa,CAAC;IACtF,CAAA,GACP,KACA;OArDN,kBAAC,GAAD;GACE,SAAA;GACA,OAAO,EAAG,6CAA6C,oBAAoB;GAC3E,aAAa,EACX,mDACA,oDACD;GACD,QACE,IACE,kBAAC,GAAD;IAAQ,MAAK;IAAK,eAAe,EAAW,iBAAiB;cAC1D,EAAG,2CAA2C,gBAAgB;IACxD,CAAA,GACP,KAAA;GAEN,CAAA;EAyCI,CAAA;EAEZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OverviewQuickActions.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/overview/OverviewQuickActions.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAQ,MAAM,OAAO,CAAC;AAMtD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CA8B7D,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OverviewQuickActions.js","names":[],"sources":["../../../../src/bigconsole/components/overview/OverviewQuickActions.tsx"],"sourcesContent":["/**\n * OverviewQuickActions\n *\n * Navigation shortcuts to the most common \"create\" flows. Actions the caller\n * is not permitted to perform are hidden, not disabled; the card is omitted by\n * the page when none remain.\n */\n\nimport { type FC, type ReactNode, memo } from 'react';\nimport { Button } from '@burdenoff/fe-libs/ui';\nimport { Zap } from 'lucide-react';\nimport { useTr } from '../../../shared/hooks/useTr';\nimport { Section } from '../common';\n\nexport interface OverviewQuickAction {\n id: string;\n label: string;\n icon: ReactNode;\n path: string;\n primary?: boolean;\n}\n\nexport interface OverviewQuickActionsProps {\n actions: OverviewQuickAction[];\n onNavigate: (path: string) => void;\n}\n\nexport const OverviewQuickActions: FC<OverviewQuickActionsProps> = memo(function OverviewQuickActions({\n actions,\n onNavigate,\n}) {\n const tr = useTr();\n\n return (\n <Section\n headingLevel={2}\n data-testid=\"overview-quick-actions\"\n icon={<Zap className=\"h-icon-sm w-icon-sm\" />}\n title={tr('bigconsole.overview.quickActions.title', 'Quick actions')}\n >\n <div className=\"flex flex-wrap gap-3\">\n {actions.map((action) => (\n <Button\n key={action.id}\n type=\"button\"\n variant={action.primary ? 'default' : 'outline'}\n onClick={() => onNavigate(action.path)}\n className=\"min-h-11 w-full justify-start sm:w-auto sm:min-h-10\"\n data-testid={`overview-quick-action-${action.id}`}\n >\n {action.icon}\n {action.label}\n </Button>\n ))}\n </div>\n </Section>\n );\n});\n\nexport default OverviewQuickActions;\n"],"mappings":";;;;;;;;AA2BA,IAAa,IAAsD,EAAK,SAA8B,EACpG,YACA,iBACC;CACD,IAAM,IAAK,GAAO;AAElB,QACE,kBAAC,GAAD;EACE,cAAc;EACd,eAAY;EACZ,MAAM,kBAAC,GAAD,EAAK,WAAU,uBAAwB,CAAA;EAC7C,OAAO,EAAG,0CAA0C,gBAAgB;YAEpE,kBAAC,OAAD;GAAK,WAAU;aACZ,EAAQ,KAAK,MACZ,kBAAC,GAAD;IAEE,MAAK;IACL,SAAS,EAAO,UAAU,YAAY;IACtC,eAAe,EAAW,EAAO,KAAK;IACtC,WAAU;IACV,eAAa,yBAAyB,EAAO;cAN/C,CAQG,EAAO,MACP,EAAO,MACD;MATF,EAAO,GASL,CACT;GACE,CAAA;EACE,CAAA;EAEZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OverviewStatCard.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/overview/OverviewStatCard.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAQ,MAAM,OAAO,CAAC;AAItD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEpE,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAUD,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAsDrD,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"OverviewStatCard.js","names":[],"sources":["../../../../src/bigconsole/components/overview/OverviewStatCard.tsx"],"sourcesContent":["/**\n * OverviewStatCard\n *\n * KPI tile for the Overview: a label, a large number and an optional subtitle,\n * on the GlassCard \"metric\" surface. When `onClick` is set the whole tile is a\n * real `<button>` so it is keyboard- and screen-reader-navigable.\n */\n\nimport { type FC, type ReactNode, memo } from 'react';\nimport { GlassCard, Skeleton } from '@burdenoff/fe-libs/ui';\nimport { AnimatedCounter } from '@burdenoff/fe-libs/shared/motion';\n\nexport type OverviewStatVariant = 'default' | 'success' | 'warning';\n\nexport interface OverviewStatCardProps {\n title: string;\n /** The count; `undefined` while loading or when the section failed to load. */\n value: number | undefined;\n /** The section is still loading — an undefined value renders a skeleton. */\n loading?: boolean;\n /** A conservative lower-bound marker when the backend count is capped. */\n valueSuffix?: string;\n subtitle?: string;\n icon: ReactNode;\n variant?: OverviewStatVariant;\n onClick?: () => void;\n 'data-testid'?: string;\n}\n\n// Icon chip tint per variant. Warning text has no registered utility in the\n// shell theme, so it uses the token variable directly.\nconst ICON_CHIP_CLASSES: Record<OverviewStatVariant, string> = {\n default: 'bg-[var(--color-accent-soft)] text-text-primary',\n success: 'bg-status-success-bg-subtle text-status-success-text',\n warning: 'bg-status-warning-bg-subtle text-[var(--color-status-warning-text)]',\n};\n\nexport const OverviewStatCard: FC<OverviewStatCardProps> = memo(function OverviewStatCard({\n title,\n value,\n loading = false,\n valueSuffix,\n subtitle,\n icon,\n variant = 'default',\n onClick,\n 'data-testid': testId,\n}) {\n const body = (\n <div className=\"flex flex-col gap-2.5\">\n <div className=\"flex items-center justify-between gap-3\">\n <p className=\"text-sm font-medium text-text-secondary\">{title}</p>\n <span\n aria-hidden=\"true\"\n className={`flex size-9 shrink-0 items-center justify-center rounded-lg [&>svg]:size-4 ${ICON_CHIP_CLASSES[variant]}`}\n >\n {icon}\n </span>\n </div>\n {value !== undefined ? (\n <div className=\"text-2xl font-semibold tabular-nums text-text-primary\">\n <AnimatedCounter value={value} />\n {valueSuffix}\n </div>\n ) : loading ? (\n <Skeleton className=\"h-8 w-16\" />\n ) : (\n // Failed to load: a neutral placeholder; the subtitle says why.\n <div aria-hidden=\"true\" className=\"text-2xl font-semibold text-text-muted\">\n —\n </div>\n )}\n {subtitle ? <p className=\"text-xs text-text-secondary\">{subtitle}</p> : null}\n </div>\n );\n\n return (\n <GlassCard treatment=\"metric\" className=\"h-full border-[var(--color-border-seam)] p-0\" data-testid={testId}>\n {onClick ? (\n <button\n type=\"button\"\n onClick={onClick}\n className=\"block h-full w-full rounded-card p-5 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus\"\n >\n {body}\n </button>\n ) : (\n <div className=\"p-5\">{body}</div>\n )}\n </GlassCard>\n );\n});\n\nexport default OverviewStatCard;\n"],"mappings":";;;;;AA+BA,IAAM,IAAyD;CAC7D,SAAS;CACT,SAAS;CACT,SAAS;CACV,EAEY,IAA8C,EAAK,SAA0B,EACxF,UACA,UACA,aAAU,IACV,gBACA,aACA,SACA,aAAU,WACV,YACA,eAAe,KACd;CACD,IAAM,IACJ,kBAAC,OAAD;EAAK,WAAU;YAAf;GACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,KAAD;KAAG,WAAU;eAA2C;KAAU,CAAA,EAClE,kBAAC,QAAD;KACE,eAAY;KACZ,WAAW,8EAA8E,EAAkB;eAE1G;KACI,CAAA,CACH;;GACL,MAAU,KAAA,IAKP,IACF,kBAAC,GAAD,EAAU,WAAU,YAAa,CAAA,GAGjC,kBAAC,OAAD;IAAK,eAAY;IAAO,WAAU;cAAyC;IAErE,CAAA,GAVN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD,EAAwB,UAAS,CAAA,EAChC,EACG;;GASP,IAAW,kBAAC,KAAD;IAAG,WAAU;cAA+B;IAAa,CAAA,GAAG;GACpE;;AAGR,QACE,kBAAC,GAAD;EAAW,WAAU;EAAS,WAAU;EAA+C,eAAa;YACjG,IACC,kBAAC,UAAD;GACE,MAAK;GACI;GACT,WAAU;aAET;GACM,CAAA,GAET,kBAAC,OAAD;GAAK,WAAU;aAAO;GAAW,CAAA;EAEzB,CAAA;EAEd"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RecentDashboardsPanel.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/overview/RecentDashboardsPanel.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AAMtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC9C,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,0BAA0B,CA0H/D,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"RecentDashboardsPanel.js","names":[],"sources":["../../../../src/bigconsole/components/overview/RecentDashboardsPanel.tsx"],"sourcesContent":["/**\n * RecentDashboardsPanel\n *\n * The Overview's single emphasis zone: the most recently updated dashboards,\n * each one click away, with their lifecycle status and widget count.\n */\n\nimport { type FC, memo } from 'react';\nimport { Button, EmphasisPanel, IllustratedEmptyState, Skeleton } from '@burdenoff/fe-libs/ui';\nimport { ArrowRight, LayoutDashboard } from 'lucide-react';\nimport { useTr } from '../../../shared/hooks/useTr';\nimport { Section } from '../common';\nimport { DashboardStatusPill, useDashboardStatusLabel } from '../dashboard/DashboardStatusPill';\nimport type { RecentDashboard } from './overviewModel';\n\nexport interface RecentDashboardsPanelProps {\n dashboards: RecentDashboard[];\n /** First load in progress (no data yet). */\n loading: boolean;\n error: { message: string } | undefined;\n canCreate: boolean;\n onRetry: () => void;\n onNavigate: (path: string) => void;\n formatUpdated: (iso: string) => string | null;\n createDashboardPath: string;\n}\n\nexport const RecentDashboardsPanel: FC<RecentDashboardsPanelProps> = memo(function RecentDashboardsPanel({\n dashboards,\n loading,\n error,\n canCreate,\n onRetry,\n onNavigate,\n formatUpdated,\n createDashboardPath,\n}) {\n const tr = useTr();\n const statusLabel = useDashboardStatusLabel();\n\n if (error && dashboards.length === 0) {\n return (\n <Section\n headingLevel={2}\n tone=\"danger\"\n\n data-testid=\"overview-recent-dashboards-error\"\n title={tr('bigconsole.overview.recentDashboards.errorTitle', 'Couldn’t load your dashboards')}\n description={error.message}\n actions={\n <Button size=\"sm\" onClick={onRetry}>\n {tr('bigconsole.overview.retry', 'Retry')}\n </Button>\n }\n />\n );\n }\n\n return (\n <EmphasisPanel\n data-testid=\"overview-recent-dashboards\"\n // EmphasisPanel's own `bg-accent-wash` / `border-border-seam` utilities are\n // not registered in the shell theme, so the surface, wash and border are\n // set explicitly from the same tokens.\n className=\"flex flex-col border-[color-mix(in_oklab,var(--color-action-primary-bg)_34%,transparent)] bg-bg-surface bg-[image:var(--gradient-accent-wash)] shadow-[var(--shadow-glow)]\"\n >\n <div className=\"mb-5 flex items-center justify-between gap-3\">\n <h2 className=\"flex items-center gap-2.5 text-lg font-semibold tracking-tight text-text-primary\">\n <span\n aria-hidden=\"true\"\n className=\"inline-flex size-8 items-center justify-center rounded-lg bg-[var(--color-accent-soft)] text-text-primary\"\n >\n <LayoutDashboard className=\"size-5\" />\n </span>\n {tr('bigconsole.overview.recentDashboards.title', 'Recent dashboards')}\n </h2>\n <Button variant=\"link\" size=\"sm\" onClick={() => onNavigate('/dashboards')}>\n {tr('bigconsole.overview.viewAll', 'View all')}\n {/* Context for screen readers, appended so the accessible name still\n starts with the visible label in every locale (WCAG 2.5.3). */}\n <span className=\"sr-only\"> {tr('bigconsole.overview.recentDashboards.viewAllContext', 'dashboards')}</span>\n </Button>\n </div>\n\n {loading && dashboards.length === 0 ? (\n <div className=\"space-y-2\" aria-hidden=\"true\">\n <Skeleton className=\"h-14 w-full\" />\n <Skeleton className=\"h-14 w-full\" />\n <Skeleton className=\"h-14 w-full\" />\n </div>\n ) : dashboards.length === 0 ? (\n <IllustratedEmptyState\n className=\"flex-1 py-6\"\n illustration=\"empty-data\"\n title={tr('bigconsole.overview.recentDashboards.emptyTitle', 'No dashboards yet')}\n description={tr(\n 'bigconsole.overview.recentDashboards.emptyDescription',\n 'Follow the guide below to build your first dashboard.'\n )}\n action={\n canCreate ? (\n <Button onClick={() => onNavigate(createDashboardPath)}>\n {tr('bigconsole.overview.actions.createDashboard', 'Create Dashboard')}\n </Button>\n ) : undefined\n }\n />\n ) : (\n <ul className=\"grid grid-cols-1 gap-4 lg:grid-cols-2\">\n {dashboards.map((dashboard) => {\n const updated = formatUpdated(dashboard.updatedAt);\n return (\n <li key={dashboard.id}>\n <button\n type=\"button\"\n onClick={() => onNavigate(`/dashboards/${encodeURIComponent(dashboard.id)}`)}\n className=\"flex min-h-28 w-full items-center gap-3 rounded-card border border-border-subtle bg-bg-surface px-5 py-4 text-left transition-colors duration-200 hover:bg-bg-sunken focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus motion-reduce:transition-none\"\n >\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <span className=\"truncate text-base font-semibold text-text-primary\">{dashboard.name}</span>\n <DashboardStatusPill status={dashboard.status} label={statusLabel(dashboard.status)} />\n </div>\n {dashboard.description ? (\n <p className=\"mt-0.5 line-clamp-2 text-xs text-text-muted\">{dashboard.description}</p>\n ) : null}\n <p className=\"mt-0.5 text-xs text-text-secondary\">\n {dashboard.widgetCount === 1\n ? tr('bigconsole.overview.recentDashboards.widgetsOne', '1 widget')\n : tr('bigconsole.overview.recentDashboards.widgetsOther', '{{count}} widgets', {\n count: dashboard.widgetCount,\n })}\n {updated ? (\n <>\n <span aria-hidden=\"true\"> · </span>\n {tr('bigconsole.overview.recentDashboards.updated', 'Updated {{time}}', { time: updated })}\n </>\n ) : null}\n </p>\n </div>\n <ArrowRight className=\"size-4 shrink-0 text-text-muted\" aria-hidden=\"true\" />\n </button>\n </li>\n );\n })}\n </ul>\n )}\n </EmphasisPanel>\n );\n});\n\nexport default RecentDashboardsPanel;\n"],"mappings":";;;;;;;;;AA2BA,IAAa,IAAwD,EAAK,SAA+B,EACvG,eACA,YACA,UACA,cACA,YACA,eACA,kBACA,0BACC;CACD,IAAM,IAAK,GAAO,EACZ,IAAc,GAAyB;AAoB7C,QAlBI,KAAS,EAAW,WAAW,IAE/B,kBAAC,GAAD;EACE,cAAc;EACd,MAAK;EAEL,eAAY;EACZ,OAAO,EAAG,mDAAmD,gCAAgC;EAC7F,aAAa,EAAM;EACnB,SACE,kBAAC,GAAD;GAAQ,MAAK;GAAK,SAAS;aACxB,EAAG,6BAA6B,QAAQ;GAClC,CAAA;EAEX,CAAA,GAKJ,kBAAC,GAAD;EACE,eAAY;EAIZ,WAAU;YALZ,CAOE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,MAAD;IAAI,WAAU;cAAd,CACE,kBAAC,QAAD;KACE,eAAY;KACZ,WAAU;eAEV,kBAAC,GAAD,EAAiB,WAAU,UAAW,CAAA;KACjC,CAAA,EACN,EAAG,8CAA8C,oBAAoB,CACnE;OACL,kBAAC,GAAD;IAAQ,SAAQ;IAAO,MAAK;IAAK,eAAe,EAAW,cAAc;cAAzE,CACG,EAAG,+BAA+B,WAAW,EAG9C,kBAAC,QAAD;KAAM,WAAU;eAAhB,CAA0B,KAAE,EAAG,uDAAuD,aAAa,CAAQ;OACpG;MACL;MAEL,KAAW,EAAW,WAAW,IAChC,kBAAC,OAAD;GAAK,WAAU;GAAY,eAAY;aAAvC;IACE,kBAAC,GAAD,EAAU,WAAU,eAAgB,CAAA;IACpC,kBAAC,GAAD,EAAU,WAAU,eAAgB,CAAA;IACpC,kBAAC,GAAD,EAAU,WAAU,eAAgB,CAAA;IAChC;OACJ,EAAW,WAAW,IACxB,kBAAC,GAAD;GACE,WAAU;GACV,cAAa;GACb,OAAO,EAAG,mDAAmD,oBAAoB;GACjF,aAAa,EACX,yDACA,wDACD;GACD,QACE,IACE,kBAAC,GAAD;IAAQ,eAAe,EAAW,EAAoB;cACnD,EAAG,+CAA+C,mBAAmB;IAC/D,CAAA,GACP,KAAA;GAEN,CAAA,GAEF,kBAAC,MAAD;GAAI,WAAU;aACX,EAAW,KAAK,MAAc;IAC7B,IAAM,IAAU,EAAc,EAAU,UAAU;AAClD,WACE,kBAAC,MAAD,EAAA,UACE,kBAAC,UAAD;KACE,MAAK;KACL,eAAe,EAAW,eAAe,mBAAmB,EAAU,GAAG,GAAG;KAC5E,WAAU;eAHZ,CAKE,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,QAAD;SAAM,WAAU;mBAAsD,EAAU;SAAY,CAAA,EAC5F,kBAAC,GAAD;SAAqB,QAAQ,EAAU;SAAQ,OAAO,EAAY,EAAU,OAAO;SAAI,CAAA,CACnF;;OACL,EAAU,cACT,kBAAC,KAAD;QAAG,WAAU;kBAA+C,EAAU;QAAgB,CAAA,GACpF;OACJ,kBAAC,KAAD;QAAG,WAAU;kBAAb,CACG,EAAU,gBAAgB,IACvB,EAAG,mDAAmD,WAAW,GACjE,EAAG,qDAAqD,qBAAqB,EAC3E,OAAO,EAAU,aAClB,CAAC,EACL,IACC,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,QAAD;SAAM,eAAY;mBAAO;SAAU,CAAA,EAClC,EAAG,gDAAgD,oBAAoB,EAAE,MAAM,GAAS,CAAC,CACzF,EAAA,CAAA,GACD,KACF;;OACA;SACN,kBAAC,GAAD;MAAY,WAAU;MAAkC,eAAY;MAAS,CAAA,CACtE;QACN,EA9BI,EAAU,GA8Bd;KAEP;GACC,CAAA,CAEO;;EAElB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dashboardGuideSteps.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/overview/dashboardGuideSteps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;AAEjH,MAAM,MAAM,WAAW,GACrB,gBAAgB,GAAG,UAAU,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,YAAY,GAAG,cAAc,CAAC;AAExG,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,WAAW,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,0FAA0F;AAC1F,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,iFAAiF;IACjF,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,cAAc,CAAC;IACnB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,eAAe,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC7C;AAED,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,yBAAyB,CAAC;AAS5D,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,eAAe,EAAE,EAAE,oBAAoB,GAAG,SAAS,EAAE,CAuKhH;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAa1G;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAUnE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dashboardGuideSteps.js","names":[],"sources":["../../../../src/bigconsole/components/overview/dashboardGuideSteps.ts"],"sourcesContent":["/**\n * Dashboard guide — the \"How to create a complete dashboard, end to end\" steps.\n *\n * Pure: takes a translator, the caller's permissions and the latest dashboard,\n * and returns the ordered steps the Overview renders. The copy mirrors the\n * labels users see on each target page (e.g. the DataSink builder's\n * \"Create DataSink\" button, the widget inspector's \"Data\" tab and\n * \"Save Changes\" footer), so a user can follow it click-for-click.\n *\n * `**bold**` markers in the copy highlight on-screen labels; the guide renders\n * them with `renderGuideEmphasis`. Paths are relative to the BigConsole base\n * path — the page navigates with `useAppNavigate`, which prefixes it.\n *\n * The guide is deliberately static: it never claims a step is \"done\". Existing\n * queries cannot tell workspace-wide whether a widget is bound or a board is\n * shared, so completion is not tracked.\n */\n\nexport type GuideTranslate = (key: string, fallback: string, params?: Record<string, string | number>) => string;\n\nexport type GuideStepId =\n 'createDataSink' | 'loadData' | 'shapeWithParser' | 'createDashboard' | 'addWidgets' | 'saveAndShare';\n\nexport interface GuideAction {\n label: string;\n path: string;\n /** Extra context shown under the action (e.g. which dashboard it opens). */\n hint?: string;\n}\n\nexport interface GuideStep {\n id: GuideStepId;\n title: string;\n body: string;\n tips: string[];\n optional: boolean;\n /** Primary call to action; absent when the caller lacks the permission. */\n action?: GuideAction;\n secondaryAction?: GuideAction;\n /** Shown instead of the primary action when it is not permitted. */\n noPermissionMessage?: string;\n}\n\nexport interface GuideAlternative {\n title: string;\n body: string;\n action: GuideAction;\n}\n\n/** Permission facts the guide needs, resolved by the page from BIGCONSOLE_PERMISSIONS. */\nexport interface GuidePermissions {\n canCreateDataSink: boolean;\n canReadDataSinks: boolean;\n canCreateWorkflow: boolean;\n canCreateParser: boolean;\n canCreateDashboard: boolean;\n canReadDashboards: boolean;\n /** Dashboard update AND widget create — needed to add widgets in the builder. */\n canBuildDashboards: boolean;\n canGenerateWithAi: boolean;\n}\n\nexport interface LatestDashboardRef {\n id: string;\n name: string;\n}\n\nexport interface BuildGuideStepsInput {\n tr: GuideTranslate;\n permissions: GuidePermissions;\n latestDashboard?: LatestDashboardRef | null;\n}\n\n/** Query param that makes the Dashboards page open its Create Dashboard dialog. */\nexport const CREATE_DASHBOARD_PATH = '/dashboards?create=1';\n\nfunction noPermission(tr: GuideTranslate): string {\n return tr(\n 'bigconsole.overview.guide.noPermission',\n \"You don't have permission for this step yet. Ask a workspace admin for access.\"\n );\n}\n\nexport function buildDashboardGuideSteps({ tr, permissions, latestDashboard }: BuildGuideStepsInput): GuideStep[] {\n const latest = latestDashboard ?? null;\n const denied = noPermission(tr);\n\n const createDataSink: GuideStep = {\n id: 'createDataSink',\n title: tr('bigconsole.overview.guide.steps.createDataSink.title', 'Create a Data Sink'),\n body: tr(\n 'bigconsole.overview.guide.steps.createDataSink.body',\n 'A Data Sink stores the data your widgets display. Give it a name and its **Unique Key** fills in automatically — you can edit the key now, but not after the sink is created. Click **Create DataSink** to save.'\n ),\n tips: [\n tr(\n 'bigconsole.overview.guide.steps.createDataSink.tip1',\n 'Paste sample JSON into **Data Payload** to start with data right away.'\n ),\n ],\n optional: false,\n action: permissions.canCreateDataSink\n ? {\n label: tr('bigconsole.overview.guide.steps.createDataSink.action', 'Create Data Sink'),\n path: '/datasinks/new',\n }\n : undefined,\n noPermissionMessage: permissions.canCreateDataSink ? undefined : denied,\n };\n\n const loadData: GuideStep = {\n id: 'loadData',\n title: tr('bigconsole.overview.guide.steps.loadData.title', 'Load your data'),\n body: tr(\n 'bigconsole.overview.guide.steps.loadData.body',\n 'Open your sink from the Data Sinks list and click **Import Data**, then **Upload a CSV file**. The first row is used as column names. Or build a workflow that writes to the sink’s key to keep it up to date.'\n ),\n tips: [tr('bigconsole.overview.guide.steps.loadData.tip1', 'A CSV import replaces the data already in the sink.')],\n optional: false,\n action: permissions.canReadDataSinks\n ? {\n label: tr('bigconsole.overview.guide.steps.loadData.action', 'Open Data Sinks'),\n path: '/datasinks',\n }\n : undefined,\n secondaryAction: permissions.canCreateWorkflow\n ? {\n label: tr('bigconsole.overview.guide.steps.loadData.secondary', 'Build a workflow'),\n path: '/workflows/new',\n }\n : undefined,\n noPermissionMessage: permissions.canReadDataSinks ? undefined : denied,\n };\n\n const shapeWithParser: GuideStep = {\n id: 'shapeWithParser',\n title: tr('bigconsole.overview.guide.steps.shapeWithParser.title', 'Shape it with a Parser'),\n body: tr(\n 'bigconsole.overview.guide.steps.shapeWithParser.body',\n 'A Parser reshapes a Data Sink’s data with a jq or JSONata expression. Pick the source Data Sink, write the expression, and click **Run Test** to preview the output.'\n ),\n tips: [\n tr(\n 'bigconsole.overview.guide.steps.shapeWithParser.tip1',\n 'Leave **Dashboard Scope** as Global so any dashboard can use it.'\n ),\n tr(\n 'bigconsole.overview.guide.steps.shapeWithParser.tip2',\n 'Skip this step if your data already fits the widget. A widget only lists parsers that read its Data Sink.'\n ),\n ],\n optional: true,\n action: permissions.canCreateParser\n ? {\n label: tr('bigconsole.overview.guide.steps.shapeWithParser.action', 'Create Parser'),\n path: '/parsers/new',\n }\n : undefined,\n noPermissionMessage: permissions.canCreateParser ? undefined : denied,\n };\n\n const createDashboard: GuideStep = {\n id: 'createDashboard',\n title: tr('bigconsole.overview.guide.steps.createDashboard.title', 'Create a dashboard'),\n body: tr(\n 'bigconsole.overview.guide.steps.createDashboard.body',\n 'Click **Create Dashboard**, give it a name, and start with **Blank Dashboard** — it opens straight in the builder. You can also switch to **From Template** when templates are available.'\n ),\n tips: [\n tr(\n 'bigconsole.overview.guide.steps.createDashboard.tip1',\n 'Your plan includes a limited number of dashboards. Deleting or archiving one frees a slot.'\n ),\n ],\n optional: false,\n action: permissions.canCreateDashboard\n ? {\n label: tr('bigconsole.overview.guide.steps.createDashboard.action', 'Create Dashboard'),\n path: CREATE_DASHBOARD_PATH,\n }\n : undefined,\n noPermissionMessage: permissions.canCreateDashboard ? undefined : denied,\n };\n\n const latestHint = latest\n ? tr('bigconsole.overview.guide.latestDashboardHint', 'Opens “{{name}}”, your most recently updated dashboard.', {\n name: latest.name,\n })\n : undefined;\n\n const addWidgetsAction: GuideAction | undefined =\n latest && permissions.canBuildDashboards\n ? {\n label: tr('bigconsole.overview.guide.steps.addWidgets.action', 'Open the builder'),\n path: `/dashboards/${encodeURIComponent(latest.id)}/builder`,\n hint: latestHint,\n }\n : permissions.canReadDashboards\n ? {\n label: tr('bigconsole.overview.guide.goToDashboards', 'Go to Dashboards'),\n path: '/dashboards',\n }\n : undefined;\n\n const addWidgets: GuideStep = {\n id: 'addWidgets',\n title: tr('bigconsole.overview.guide.steps.addWidgets.title', 'Add widgets and connect data'),\n body: tr(\n 'bigconsole.overview.guide.steps.addWidgets.body',\n 'In the builder, click **Add Widget**, then click or drag a widget from the Widgets panel. Its settings open — switch to the **Data** tab, choose your DataSink (and Parser, if you made one), then click **Save Changes**.'\n ),\n tips: [\n tr(\n 'bigconsole.overview.guide.steps.addWidgets.tip1',\n 'If the widget looks empty, set **Data Path** on the Data tab, or field names like **X-Axis Field** or **Value Field** on the **Style** tab, to match your data’s keys.'\n ),\n ],\n optional: false,\n action: addWidgetsAction,\n noPermissionMessage: addWidgetsAction ? undefined : denied,\n };\n\n const saveAndShareAction: GuideAction | undefined =\n latest && permissions.canReadDashboards\n ? {\n label: tr('bigconsole.overview.guide.steps.saveAndShare.action', 'Open dashboard'),\n path: `/dashboards/${encodeURIComponent(latest.id)}`,\n hint: latestHint,\n }\n : permissions.canReadDashboards\n ? {\n label: tr('bigconsole.overview.guide.goToDashboards', 'Go to Dashboards'),\n path: '/dashboards',\n }\n : undefined;\n\n const saveAndShare: GuideStep = {\n id: 'saveAndShare',\n title: tr('bigconsole.overview.guide.steps.saveAndShare.title', 'Save and share'),\n body: tr(\n 'bigconsole.overview.guide.steps.saveAndShare.body',\n 'Click **Save** in the toolbar, then **Share**. Invite people, or set **General access** to Workspace so everyone here can see it.'\n ),\n tips: [],\n optional: false,\n action: saveAndShareAction,\n noPermissionMessage: saveAndShareAction ? undefined : denied,\n };\n\n return [createDataSink, loadData, shapeWithParser, createDashboard, addWidgets, saveAndShare];\n}\n\n/** The AI Insights shortcut shown under the steps; `null` without prompt create permission. */\nexport function buildAiAlternative(tr: GuideTranslate, canGenerateWithAi: boolean): GuideAlternative | null {\n if (!canGenerateWithAi) return null;\n return {\n title: tr('bigconsole.overview.guide.ai.title', 'Prefer to describe it?'),\n body: tr(\n 'bigconsole.overview.guide.ai.body',\n 'Use AI Insights: type what you want and click **Generate dashboard**. It uses AI commands from your plan, and you’ll still connect data to each widget.'\n ),\n action: {\n label: tr('bigconsole.overview.guide.ai.action', 'Open AI Insights'),\n path: '/insights',\n },\n };\n}\n\nexport type GuideTextSegment = { text: string; emphasis: boolean };\n\n/**\n * Split copy on `**` markers into plain / emphasised segments. An unmatched\n * trailing marker is treated as literal text so a translation typo never\n * swallows the rest of the sentence.\n */\nexport function splitGuideEmphasis(text: string): GuideTextSegment[] {\n const parts = text.split('**');\n if (parts.length % 2 === 0) {\n // Odd number of markers: re-join the dangling tail as plain text.\n const tail = parts.splice(parts.length - 2, 2).join('**');\n parts.push(tail);\n }\n return parts\n .map((part, index) => ({ text: part, emphasis: index % 2 === 1 }))\n .filter((segment) => segment.text.length > 0);\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/overview/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EAAE,qBAAqB,EAAE,KAAK,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC3G,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,2BAA2B,EAC3B,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,eAAe,GACrB,MAAM,iBAAiB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"overviewModel.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/overview/overviewModel.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"overviewModel.js","names":[],"sources":["../../../../src/bigconsole/components/overview/overviewModel.ts"],"sourcesContent":["/**\n * Overview model — pure data shaping for the BigConsole Overview page.\n *\n * No React, no Apollo: everything here takes the GraphQL `data` shapes (or\n * `undefined` while a section is loading / not permitted) and returns what the\n * page renders. Structural input types keep this module independent of the\n * generated operation types so it is unit-testable without codegen.\n */\n\nimport type { DashboardListStatus } from '../../hooks/useDashboardOperations';\n\n// ============================================================================\n// Limits\n// ============================================================================\n\n/** Recent dashboards requested for the emphasis panel. */\nexport const RECENT_DASHBOARDS_LIMIT = 5;\n\n/** Errored / stale sinks requested per status for the data health card. */\nexport const DATA_HEALTH_ROW_LIMIT = 5;\n\n// ============================================================================\n// Input shapes (structural subsets of the generated query types)\n// ============================================================================\n\nexport interface OverviewDashboardNode {\n id: string;\n name: string;\n description?: string | null;\n status: string;\n widgetCount: number;\n updatedAt: string;\n}\n\nexport interface OverviewDashboardsData {\n listDashboards: {\n totalCount: number;\n edges: Array<{ node: OverviewDashboardNode }>;\n };\n}\n\nexport interface OverviewDataSinkNode {\n id: string;\n name?: string | null;\n key: string;\n lastRefreshedAt?: string | null;\n}\n\ninterface CountOnlyConnection {\n totalCount: number;\n}\n\ninterface DataSinkNodeConnection extends CountOnlyConnection {\n edges: Array<{ node: OverviewDataSinkNode }>;\n}\n\nexport interface OverviewDataSinksData {\n all: CountOnlyConnection;\n ready: CountOnlyConnection;\n errored: DataSinkNodeConnection;\n stale: DataSinkNodeConnection;\n}\n\n// ============================================================================\n// Dashboards\n// ============================================================================\n\nexport interface RecentDashboard {\n id: string;\n name: string;\n description: string | null;\n status: DashboardListStatus;\n widgetCount: number;\n updatedAt: string;\n}\n\nexport interface DashboardsSummary {\n /** Total dashboards the caller can read; `undefined` until loaded. */\n total: number | undefined;\n /** Most recently updated dashboards, newest first. */\n recent: RecentDashboard[];\n /** The dashboard the guide deep-links into (newest), if any. */\n latest: RecentDashboard | null;\n}\n\n/** Normalise the API enum to the list-status union the UI renders. */\nexport function toDashboardListStatus(status: string | null | undefined): DashboardListStatus {\n switch (status) {\n case 'PUBLISHED':\n return 'PUBLISHED';\n case 'ARCHIVED':\n return 'ARCHIVED';\n default:\n return 'DRAFT';\n }\n}\n\nexport function summarizeDashboards(data: OverviewDashboardsData | null | undefined): DashboardsSummary {\n if (!data) {\n return { total: undefined, recent: [], latest: null };\n }\n\n const recent = data.listDashboards.edges.slice(0, RECENT_DASHBOARDS_LIMIT).map(({ node }) => ({\n id: node.id,\n name: node.name,\n description: node.description?.trim() ? node.description.trim() : null,\n status: toDashboardListStatus(node.status),\n widgetCount: Math.max(0, node.widgetCount ?? 0),\n updatedAt: node.updatedAt,\n }));\n\n return {\n total: data.listDashboards.totalCount,\n recent,\n latest: recent[0] ?? null,\n };\n}\n\n// ============================================================================\n// Data sinks\n// ============================================================================\n\nexport type DataSinkAttentionStatus = 'error' | 'stale';\n\nexport interface DataSinkHealthRow {\n id: string;\n /** Display name — the sink name, or its key when the name is empty. */\n name: string;\n status: DataSinkAttentionStatus;\n lastRefreshedAt: string | null;\n}\n\nexport interface DataSinkSummary {\n /** Total data sinks; `undefined` until loaded. */\n total: number | undefined;\n /** Sinks in the `ready` state; `undefined` until loaded. */\n ready: number | undefined;\n /** Errored + stale sinks; `undefined` until loaded. */\n attentionCount: number | undefined;\n /**\n * Rows for the health card: errored sinks, then stale ones. Each status\n * contributes at most `limit` sinks in server order (by key); within a\n * status the rows are shown oldest refresh first.\n */\n rows: DataSinkHealthRow[];\n /** Sinks needing attention that are not listed in `rows`. */\n hiddenCount: number;\n}\n\nfunction toTimestamp(value: string | null): number {\n if (!value) return Number.NEGATIVE_INFINITY;\n const parsed = Date.parse(value);\n return Number.isNaN(parsed) ? Number.NEGATIVE_INFINITY : parsed;\n}\n\nfunction toHealthRows(connection: DataSinkNodeConnection, status: DataSinkAttentionStatus): DataSinkHealthRow[] {\n return connection.edges\n .map(({ node }) => ({\n id: node.id,\n name: node.name?.trim() ? node.name.trim() : node.key,\n status,\n lastRefreshedAt: node.lastRefreshedAt ?? null,\n }))\n .sort((a, b) => toTimestamp(a.lastRefreshedAt) - toTimestamp(b.lastRefreshedAt));\n}\n\nexport function summarizeDataSinks(\n data: OverviewDataSinksData | null | undefined,\n limit: number = DATA_HEALTH_ROW_LIMIT\n): DataSinkSummary {\n if (!data) {\n return { total: undefined, ready: undefined, attentionCount: undefined, rows: [], hiddenCount: 0 };\n }\n\n const attentionCount = data.errored.totalCount + data.stale.totalCount;\n const seen = new Set<string>();\n const rows = [...toHealthRows(data.errored, 'error'), ...toHealthRows(data.stale, 'stale')]\n .filter((row) => {\n if (seen.has(row.id)) return false;\n seen.add(row.id);\n return true;\n })\n .slice(0, Math.max(0, limit));\n\n return {\n total: data.all.totalCount,\n ready: data.ready.totalCount,\n attentionCount,\n rows,\n hiddenCount: Math.max(0, attentionCount - rows.length),\n };\n}\n\n// ============================================================================\n// Guide default state\n// ============================================================================\n\nexport interface GuideDefaultInput {\n permissionsLoading: boolean;\n dashboardsAllowed: boolean;\n dashboardsLoading: boolean;\n dashboardsTotal: number | undefined;\n dashboardsFailed: boolean;\n}\n\n/**\n * Decide whether the dashboard guide starts expanded.\n *\n * Returns `null` while the answer is still unknown (permissions or the first\n * dashboards response pending) so the page can keep the guide collapsed\n * without flashing. Once known: expanded for a workspace with no dashboards,\n * or when the caller cannot see dashboards / the query failed (the guide is the\n * most useful thing on the page then); collapsed otherwise.\n */\nexport function resolveGuideDefaultExpanded(input: GuideDefaultInput): boolean | null {\n if (input.permissionsLoading) return null;\n if (!input.dashboardsAllowed || input.dashboardsFailed) return true;\n if (input.dashboardsTotal === undefined) return input.dashboardsLoading ? null : true;\n return input.dashboardsTotal === 0;\n}\n\n// ============================================================================\n// Relative time\n// ============================================================================\n\nexport type RelativeTime =\n { unit: 'justNow' } | { unit: 'minutes' | 'hours' | 'days'; count: number } | { unit: 'date'; date: Date };\n\nconst MINUTE_MS = 60_000;\nconst HOUR_MS = 60 * MINUTE_MS;\nconst DAY_MS = 24 * HOUR_MS;\n\n/** Bucket a timestamp relative to `now` (future timestamps read as \"just now\"). */\nexport function toRelativeTime(iso: string, now: Date): RelativeTime | null {\n const time = Date.parse(iso);\n if (Number.isNaN(time)) return null;\n\n const diff = now.getTime() - time;\n if (diff < MINUTE_MS) return { unit: 'justNow' };\n if (diff < HOUR_MS) return { unit: 'minutes', count: Math.floor(diff / MINUTE_MS) };\n if (diff < DAY_MS) return { unit: 'hours', count: Math.floor(diff / HOUR_MS) };\n if (diff < 7 * DAY_MS) return { unit: 'days', count: Math.floor(diff / DAY_MS) };\n return { unit: 'date', date: new Date(time) };\n}\n\nexport type OverviewTranslate = (key: string, fallback: string, params?: Record<string, string | number>) => string;\n\nfunction relativeTimeFormatter(locale: string): Intl.RelativeTimeFormat {\n try {\n return new Intl.RelativeTimeFormat(locale, { numeric: 'always', style: 'short' });\n } catch {\n // Unknown locale tag — fall back to the runtime default.\n return new Intl.RelativeTimeFormat(undefined, { numeric: 'always', style: 'short' });\n }\n}\n\nfunction dateFormatter(locale: string, includeYear: boolean): Intl.DateTimeFormat {\n const options: Intl.DateTimeFormatOptions = {\n month: 'short',\n day: 'numeric',\n year: includeYear ? 'numeric' : undefined,\n };\n try {\n return new Intl.DateTimeFormat(locale, options);\n } catch {\n return new Intl.DateTimeFormat(undefined, options);\n }\n}\n\n/**\n * Human \"updated …\" text for a timestamp, meant to be embedded mid-sentence\n * (\"Updated {{time}}\"): relative for the last week, a short locale date after\n * that. Relative values use `Intl.RelativeTimeFormat`, so plural forms are\n * correct in every locale. Returns `null` for an unparseable timestamp.\n */\nexport function formatRelativeTime(iso: string, now: Date, tr: OverviewTranslate, locale: string): string | null {\n const relative = toRelativeTime(iso, now);\n if (!relative) return null;\n\n switch (relative.unit) {\n case 'justNow':\n return tr('bigconsole.overview.time.justNow', 'just now');\n case 'minutes':\n return relativeTimeFormatter(locale).format(-relative.count, 'minute');\n case 'hours':\n return relativeTimeFormatter(locale).format(-relative.count, 'hour');\n case 'days':\n return relativeTimeFormatter(locale).format(-relative.count, 'day');\n case 'date':\n return dateFormatter(locale, relative.date.getFullYear() !== now.getFullYear()).format(relative.date);\n }\n}\n"],"mappings":"AAsFA,SAAgB,EAAsB,GAAwD;AAC5F,SAAQ,GAAR;EACE,KAAK,YACH,QAAO;EACT,KAAK,WACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAgB,EAAoB,GAAoE;AACtG,KAAI,CAAC,EACH,QAAO;EAAE,OAAO,KAAA;EAAW,QAAQ,EAAE;EAAE,QAAQ;EAAM;CAGvD,IAAM,IAAS,EAAK,eAAe,MAAM,MAAM,GAAA,EAA2B,CAAC,KAAK,EAAE,eAAY;EAC5F,IAAI,EAAK;EACT,MAAM,EAAK;EACX,aAAa,EAAK,aAAa,MAAM,GAAG,EAAK,YAAY,MAAM,GAAG;EAClE,QAAQ,EAAsB,EAAK,OAAO;EAC1C,aAAa,KAAK,IAAI,GAAG,EAAK,eAAe,EAAE;EAC/C,WAAW,EAAK;EACjB,EAAE;AAEH,QAAO;EACL,OAAO,EAAK,eAAe;EAC3B;EACA,QAAQ,EAAO,MAAM;EACtB;;AAkCH,SAAS,EAAY,GAA8B;AACjD,KAAI,CAAC,EAAO,QAAO;CACnB,IAAM,IAAS,KAAK,MAAM,EAAM;AAChC,QAAO,OAAO,MAAM,EAAO,GAAG,YAA2B;;AAG3D,SAAS,EAAa,GAAoC,GAAsD;AAC9G,QAAO,EAAW,MACf,KAAK,EAAE,eAAY;EAClB,IAAI,EAAK;EACT,MAAM,EAAK,MAAM,MAAM,GAAG,EAAK,KAAK,MAAM,GAAG,EAAK;EAClD;EACA,iBAAiB,EAAK,mBAAmB;EAC1C,EAAE,CACF,MAAM,GAAG,MAAM,EAAY,EAAE,gBAAgB,GAAG,EAAY,EAAE,gBAAgB,CAAC;;AAGpF,SAAgB,EACd,GACA,IAAA,GACiB;AACjB,KAAI,CAAC,EACH,QAAO;EAAE,OAAO,KAAA;EAAW,OAAO,KAAA;EAAW,gBAAgB,KAAA;EAAW,MAAM,EAAE;EAAE,aAAa;EAAG;CAGpG,IAAM,IAAiB,EAAK,QAAQ,aAAa,EAAK,MAAM,YACtD,oBAAO,IAAI,KAAa,EACxB,IAAO,CAAC,GAAG,EAAa,EAAK,SAAS,QAAQ,EAAE,GAAG,EAAa,EAAK,OAAO,QAAQ,CAAC,CACxF,QAAQ,MACH,EAAK,IAAI,EAAI,GAAG,GAAS,MAC7B,EAAK,IAAI,EAAI,GAAG,EACT,IACP,CACD,MAAM,GAAG,KAAK,IAAI,GAAG,EAAM,CAAC;AAE/B,QAAO;EACL,OAAO,EAAK,IAAI;EAChB,OAAO,EAAK,MAAM;EAClB;EACA;EACA,aAAa,KAAK,IAAI,GAAG,IAAiB,EAAK,OAAO;EACvD;;AAwBH,SAAgB,EAA4B,GAA0C;AAIpF,QAHI,EAAM,qBAA2B,OACjC,CAAC,EAAM,qBAAqB,EAAM,mBAAyB,KAC3D,EAAM,oBAAoB,KAAA,IAAkB,EAAM,oBAAoB,OAAO,KAC1E,EAAM,oBAAoB;;AAUnC,IAAM,IAAY,KACZ,IAAU,KAAK,GACf,IAAS,KAAK;AAGpB,SAAgB,EAAe,GAAa,GAAgC;CAC1E,IAAM,IAAO,KAAK,MAAM,EAAI;AAC5B,KAAI,OAAO,MAAM,EAAK,CAAE,QAAO;CAE/B,IAAM,IAAO,EAAI,SAAS,GAAG;AAK7B,QAJI,IAAO,IAAkB,EAAE,MAAM,WAAW,GAC5C,IAAO,IAAgB;EAAE,MAAM;EAAW,OAAO,KAAK,MAAM,IAAO,EAAU;EAAE,GAC/E,IAAO,IAAe;EAAE,MAAM;EAAS,OAAO,KAAK,MAAM,IAAO,EAAQ;EAAE,GAC1E,IAAO,IAAI,IAAe;EAAE,MAAM;EAAQ,OAAO,KAAK,MAAM,IAAO,EAAO;EAAE,GACzE;EAAE,MAAM;EAAQ,MAAM,IAAI,KAAK,EAAK;EAAE;;AAK/C,SAAS,EAAsB,GAAyC;AACtE,KAAI;AACF,SAAO,IAAI,KAAK,mBAAmB,GAAQ;GAAE,SAAS;GAAU,OAAO;GAAS,CAAC;SAC3E;AAEN,SAAO,IAAI,KAAK,mBAAmB,KAAA,GAAW;GAAE,SAAS;GAAU,OAAO;GAAS,CAAC;;;AAIxF,SAAS,EAAc,GAAgB,GAA2C;CAChF,IAAM,IAAsC;EAC1C,OAAO;EACP,KAAK;EACL,MAAM,IAAc,YAAY,KAAA;EACjC;AACD,KAAI;AACF,SAAO,IAAI,KAAK,eAAe,GAAQ,EAAQ;SACzC;AACN,SAAO,IAAI,KAAK,eAAe,KAAA,GAAW,EAAQ;;;AAUtD,SAAgB,EAAmB,GAAa,GAAW,GAAuB,GAA+B;CAC/G,IAAM,IAAW,EAAe,GAAK,EAAI;AACzC,KAAI,CAAC,EAAU,QAAO;AAEtB,SAAQ,EAAS,MAAjB;EACE,KAAK,UACH,QAAO,EAAG,oCAAoC,WAAW;EAC3D,KAAK,UACH,QAAO,EAAsB,EAAO,CAAC,OAAO,CAAC,EAAS,OAAO,SAAS;EACxE,KAAK,QACH,QAAO,EAAsB,EAAO,CAAC,OAAO,CAAC,EAAS,OAAO,OAAO;EACtE,KAAK,OACH,QAAO,EAAsB,EAAO,CAAC,OAAO,CAAC,EAAS,OAAO,MAAM;EACrE,KAAK,OACH,QAAO,EAAc,GAAQ,EAAS,KAAK,aAAa,KAAK,EAAI,aAAa,CAAC,CAAC,OAAO,EAAS,KAAK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOverviewData.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/overview/useOverviewData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,EAKL,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACtC,MAAM,sCAAsC,CAAC;AAG9C,MAAM,WAAW,oBAAoB,CAAC,KAAK;IACzC,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,KAAK,GAAG,SAAS,CAAC;IACxB,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,oBAAoB,CAAC,iCAAiC,CAAC,CAAC;IACpE,SAAS,EAAE,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;IAClE,OAAO,EAAE,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IAC9D,SAAS,EAAE,oBAAoB,CAAC,gCAAgC,CAAC,CAAC;IAClE,mEAAmE;IACnE,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAOD,wBAAgB,eAAe,IAAI,qBAAqB,CA2FvD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOverviewData.js","names":[],"sources":["../../../../src/bigconsole/components/overview/useOverviewData.ts"],"sourcesContent":["/**\n * useOverviewData Hook\n *\n * Loads the BigConsole Overview's resource counts and data health — each as its own operation gated on its own read permission.\n *\n * Why separate operations: the gateway checks `@rbac` per top-level field and rejects\n * the entire operation when any check fails, so a combined query would blank\n * every section (and raise a permission toast) for a user who can read\n * dashboards but not data sinks. Queries skip until the permission set has\n * resolved; both fire in the same render and share one batched POST to the\n * workspace gateway.\n */\n\nimport { useCallback } from 'react';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { BIGCONSOLE_PERMISSIONS } from '../../../constants/permissions';\nimport {\n useBigConsoleOverviewDashboardsQuery,\n useBigConsoleOverviewDataSinksQuery,\n useBigConsoleOverviewParsersQuery,\n useBigConsoleOverviewPipelinesQuery,\n type BigConsoleOverviewParsersQuery,\n type BigConsoleOverviewPipelinesQuery,\n type BigConsoleOverviewDashboardsQuery,\n type BigConsoleOverviewDataSinksQuery,\n} from '../../../generated/wspace-operations';\nimport { DATA_HEALTH_ROW_LIMIT, RECENT_DASHBOARDS_LIMIT } from './overviewModel';\n\nexport interface OverviewSectionState<TData> {\n /** The caller holds the read permission for this section. */\n allowed: boolean;\n data: TData | undefined;\n /** A request (initial load or refetch) is in flight. */\n loading: boolean;\n error: { message: string } | undefined;\n refetch: () => void;\n}\n\nexport interface UseOverviewDataResult {\n permissionsLoading: boolean;\n dashboards: OverviewSectionState<BigConsoleOverviewDashboardsQuery>;\n dataSinks: OverviewSectionState<BigConsoleOverviewDataSinksQuery>;\n parsers: OverviewSectionState<BigConsoleOverviewParsersQuery>;\n pipelines: OverviewSectionState<BigConsoleOverviewPipelinesQuery>;\n /** Refetch every permitted section (the page's Refresh action). */\n refetchAll: () => void;\n}\n\nfunction ignoreRefetchRejection(): void {\n // A failed refetch is surfaced through the query's `error` state; nothing\n // else to do with the rejected promise.\n}\n\nexport function useOverviewData(): UseOverviewDataResult {\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const canReadDashboards = !permissionsLoading && hasPermission(BIGCONSOLE_PERMISSIONS.DASHBOARD_READ);\n const canReadDataSinks = !permissionsLoading && hasPermission(BIGCONSOLE_PERMISSIONS.DATASINK_READ);\n\n const canReadParsers = !permissionsLoading && hasPermission(BIGCONSOLE_PERMISSIONS.PARSER_READ);\n const canReadPipelines = !permissionsLoading && hasPermission(BIGCONSOLE_PERMISSIONS.PIPELINE_READ);\n const parsersQuery = useBigConsoleOverviewParsersQuery({\n skip: !canReadParsers,\n fetchPolicy: 'cache-and-network',\n notifyOnNetworkStatusChange: true,\n });\n const pipelinesQuery = useBigConsoleOverviewPipelinesQuery({\n skip: !canReadPipelines,\n fetchPolicy: 'cache-and-network',\n notifyOnNetworkStatusChange: true,\n });\n const dashboardsQuery = useBigConsoleOverviewDashboardsQuery({\n variables: { first: RECENT_DASHBOARDS_LIMIT },\n skip: !canReadDashboards,\n fetchPolicy: 'cache-and-network',\n notifyOnNetworkStatusChange: true,\n });\n\n const dataSinksQuery = useBigConsoleOverviewDataSinksQuery({\n variables: { attentionFirst: DATA_HEALTH_ROW_LIMIT },\n skip: !canReadDataSinks,\n fetchPolicy: 'cache-and-network',\n notifyOnNetworkStatusChange: true,\n });\n\n const { refetch: refetchDashboardsQuery } = dashboardsQuery;\n const { refetch: refetchDataSinksQuery } = dataSinksQuery;\n\n const refetchDashboards = useCallback(() => {\n if (!canReadDashboards) return;\n refetchDashboardsQuery().catch(ignoreRefetchRejection);\n }, [canReadDashboards, refetchDashboardsQuery]);\n\n const refetchDataSinks = useCallback(() => {\n if (!canReadDataSinks) return;\n refetchDataSinksQuery().catch(ignoreRefetchRejection);\n }, [canReadDataSinks, refetchDataSinksQuery]);\n\n const { refetch: refetchParsersQuery } = parsersQuery;\n const { refetch: refetchPipelinesQuery } = pipelinesQuery;\n const refetchParsers = useCallback(() => {\n if (canReadParsers) refetchParsersQuery().catch(ignoreRefetchRejection);\n }, [canReadParsers, refetchParsersQuery]);\n const refetchPipelines = useCallback(() => {\n if (canReadPipelines) refetchPipelinesQuery().catch(ignoreRefetchRejection);\n }, [canReadPipelines, refetchPipelinesQuery]);\n const refetchAll = useCallback(() => {\n refetchDashboards();\n refetchDataSinks();\n refetchParsers();\n refetchPipelines();\n }, [refetchDashboards, refetchDataSinks, refetchParsers, refetchPipelines]);\n\n return {\n permissionsLoading,\n parsers: {\n allowed: canReadParsers,\n data: canReadParsers ? parsersQuery.data : undefined,\n loading: canReadParsers && parsersQuery.loading,\n error: canReadParsers ? parsersQuery.error : undefined,\n refetch: refetchParsers,\n },\n pipelines: {\n allowed: canReadPipelines,\n data: canReadPipelines ? pipelinesQuery.data : undefined,\n loading: canReadPipelines && pipelinesQuery.loading,\n error: canReadPipelines ? pipelinesQuery.error : undefined,\n refetch: refetchPipelines,\n },\n dashboards: {\n allowed: canReadDashboards,\n data: canReadDashboards ? dashboardsQuery.data : undefined,\n loading: canReadDashboards && dashboardsQuery.loading,\n error: canReadDashboards ? dashboardsQuery.error : undefined,\n refetch: refetchDashboards,\n },\n dataSinks: {\n allowed: canReadDataSinks,\n data: canReadDataSinks ? dataSinksQuery.data : undefined,\n loading: canReadDataSinks && dataSinksQuery.loading,\n error: canReadDataSinks ? dataSinksQuery.error : undefined,\n refetch: refetchDataSinks,\n },\n refetchAll,\n };\n}\n"],"mappings":";;;;;;AAgDA,SAAS,IAA+B;AAKxC,SAAgB,IAAyC;CACvD,IAAM,EAAE,kBAAe,WAAW,MAAuB,GAAgB,EACnE,IAAoB,CAAC,KAAsB,EAAc,EAAuB,eAAe,EAC/F,IAAmB,CAAC,KAAsB,EAAc,EAAuB,cAAc,EAE7F,IAAiB,CAAC,KAAsB,EAAc,EAAuB,YAAY,EACzF,IAAmB,CAAC,KAAsB,EAAc,EAAuB,cAAc,EAC7F,IAAe,EAAkC;EACrD,MAAM,CAAC;EACP,aAAa;EACb,6BAA6B;EAC9B,CAAC,EACI,IAAiB,EAAoC;EACzD,MAAM,CAAC;EACP,aAAa;EACb,6BAA6B;EAC9B,CAAC,EACI,IAAkB,EAAqC;EAC3D,WAAW,EAAE,OAAA,GAAgC;EAC7C,MAAM,CAAC;EACP,aAAa;EACb,6BAA6B;EAC9B,CAAC,EAEI,IAAiB,EAAoC;EACzD,WAAW,EAAE,gBAAA,GAAuC;EACpD,MAAM,CAAC;EACP,aAAa;EACb,6BAA6B;EAC9B,CAAC,EAEI,EAAE,SAAS,MAA2B,GACtC,EAAE,SAAS,MAA0B,GAErC,IAAoB,QAAkB;AACrC,OACL,GAAwB,CAAC,MAAM,EAAuB;IACrD,CAAC,GAAmB,EAAuB,CAAC,EAEzC,IAAmB,QAAkB;AACpC,OACL,GAAuB,CAAC,MAAM,EAAuB;IACpD,CAAC,GAAkB,EAAsB,CAAC,EAEvC,EAAE,SAAS,MAAwB,GACnC,EAAE,SAAS,MAA0B,GACrC,IAAiB,QAAkB;AACvC,EAAI,KAAgB,GAAqB,CAAC,MAAM,EAAuB;IACtE,CAAC,GAAgB,EAAoB,CAAC,EACnC,IAAmB,QAAkB;AACzC,EAAI,KAAkB,GAAuB,CAAC,MAAM,EAAuB;IAC1E,CAAC,GAAkB,EAAsB,CAAC,EACvC,IAAa,QAAkB;AAInC,EAHA,GAAmB,EACnB,GAAkB,EAClB,GAAgB,EAChB,GAAkB;IACjB;EAAC;EAAmB;EAAkB;EAAgB;EAAiB,CAAC;AAE3E,QAAO;EACL;EACA,SAAS;GACP,SAAS;GACT,MAAM,IAAiB,EAAa,OAAO,KAAA;GAC3C,SAAS,KAAkB,EAAa;GACxC,OAAO,IAAiB,EAAa,QAAQ,KAAA;GAC7C,SAAS;GACV;EACD,WAAW;GACT,SAAS;GACT,MAAM,IAAmB,EAAe,OAAO,KAAA;GAC/C,SAAS,KAAoB,EAAe;GAC5C,OAAO,IAAmB,EAAe,QAAQ,KAAA;GACjD,SAAS;GACV;EACD,YAAY;GACV,SAAS;GACT,MAAM,IAAoB,EAAgB,OAAO,KAAA;GACjD,SAAS,KAAqB,EAAgB;GAC9C,OAAO,IAAoB,EAAgB,QAAQ,KAAA;GACnD,SAAS;GACV;EACD,WAAW;GACT,SAAS;GACT,MAAM,IAAmB,EAAe,OAAO,KAAA;GAC/C,SAAS,KAAoB,EAAe;GAC5C,OAAO,IAAmB,EAAe,QAAQ,KAAA;GACjD,SAAS;GACV;EACD;EACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataSinkSelector.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/parser/DataSinkSelector.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAclD,UAAU,qBAAqB;IAC7B,sCAAsC;IACtC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,sCAAsC;IACtC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvC,uBAAuB;IACvB,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAiDD,eAAO,MAAM,gBAAgB,6DAkQ3B,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataSinkSelector.js","names":[],"sources":["../../../../src/bigconsole/components/parser/DataSinkSelector.tsx"],"sourcesContent":["/**\n * DataSink Selector\n *\n * Dropdown component for selecting a DataSink as a parser's input source.\n */\n\nimport { memo, useState, useMemo, useCallback, Fragment } from 'react';\nimport { Plus } from 'lucide-react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useDataSinkOperations } from '../../hooks/useDataSinkOperations';\nimport { useBuildPath } from '../../contexts';\nimport { DataSinkStatusBadge } from '../datasink/DataSinkStatusBadge';\nimport { SECTION_FOCUS_RING } from '../common';\nimport type { DataSinkStatus } from '../../types';\n\n/**\n * Group header inside the dropdown — kept identical to ParserSelector's so the\n * two pickers that sit next to each other in the widget inspector read as one\n * system instead of two.\n */\nconst GROUP_HEADER = 'sticky top-0 z-[1] bg-bg-sunken px-3 py-1.5 border-y border-[var(--color-border-default)]';\nconst GROUP_HEADER_LABEL = 'text-xs font-semibold uppercase tracking-wide text-text-secondary';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\ninterface DataSinkSelectorProps {\n /** Currently selected DataSink key */\n value: string | null;\n /** Callback when selection changes */\n onChange: (key: string | null) => void;\n /** Filter by status */\n filterStatus?: DataSinkStatus;\n /** Placeholder text */\n placeholder?: string;\n /** Whether the selector is disabled */\n disabled?: boolean;\n /** Whether to show error state */\n error?: boolean;\n /** Error message to display */\n errorMessage?: string;\n}\n\n// ============================================================================\n// HELPERS\n// ============================================================================\n\ntype TranslateFn = (\n key: string,\n fallbackOrParams?: string | Record<string, string | number>,\n params?: Record<string, string | number>\n) => string;\n\n/**\n * Format relative time from date string\n */\nfunction formatRelativeTime(dateString: string | null | undefined, t: TranslateFn): string {\n if (!dateString) return t('bigconsole.parsers.dataSinkSelector.relativeTime.never', 'Never');\n\n const date = new Date(dateString);\n const diff = Date.now() - date.getTime();\n const minutes = Math.floor(diff / 60000);\n\n if (minutes < 1) return t('bigconsole.parsers.dataSinkSelector.relativeTime.justNow', 'Just now');\n if (minutes < 60)\n return t('bigconsole.parsers.dataSinkSelector.relativeTime.minutesAgo', '{{minutes}}m ago', { minutes });\n\n const hours = Math.floor(minutes / 60);\n if (hours < 24) return t('bigconsole.parsers.dataSinkSelector.relativeTime.hoursAgo', '{{hours}}h ago', { hours });\n\n const days = Math.floor(hours / 24);\n if (days < 7) return t('bigconsole.parsers.dataSinkSelector.relativeTime.daysAgo', '{{days}}d ago', { days });\n\n return date.toLocaleDateString();\n}\n\n// ============================================================================\n// ICONS\n// ============================================================================\n\nconst ChevronDownIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M19 9l-7 7-7-7\" />\n </svg>\n);\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport const DataSinkSelector = memo(function DataSinkSelector({\n value,\n onChange,\n filterStatus,\n placeholder,\n disabled = false,\n error = false,\n errorMessage,\n}: DataSinkSelectorProps) {\n const { t } = useI18n();\n const [isOpen, setIsOpen] = useState(false);\n const [searchQuery, setSearchQuery] = useState('');\n\n const resolvedPlaceholder =\n placeholder ?? t('bigconsole.parsers.dataSinkSelector.placeholder', 'Select a data source...');\n\n const buildPath = useBuildPath();\n\n const { dataSinks, loading, fetchDataSinks } = useDataSinkOperations({ skipFetch: false });\n\n // Filter data sinks\n const filteredDataSinks = useMemo(\n () =>\n dataSinks.filter((ds) => {\n // Filter by status if specified\n if (filterStatus && ds.status !== filterStatus) return false;\n\n // Filter by search query\n if (searchQuery) {\n const query = searchQuery.toLowerCase();\n return (\n (ds.name || ds.key).toLowerCase().includes(query) ||\n ds.key.toLowerCase().includes(query) ||\n ds.description?.toLowerCase().includes(query)\n );\n }\n\n return true;\n }),\n [dataSinks, filterStatus, searchQuery]\n );\n\n // Find selected DataSink\n const selectedDataSink = useMemo(() => dataSinks.find((ds) => ds.key === value), [dataSinks, value]);\n\n // Handle selection\n const handleSelect = useCallback(\n (key: string | null) => {\n onChange(key);\n setIsOpen(false);\n setSearchQuery('');\n },\n [onChange]\n );\n\n // Toggle dropdown\n const handleToggle = useCallback(() => {\n if (disabled) return;\n const next = !isOpen;\n // Refetch on open so a DataSink created via the \"Create new\" tab\n // shows up here without needing a full page reload.\n if (next) void fetchDataSinks();\n setIsOpen(next);\n }, [disabled, isOpen, fetchDataSinks]);\n\n // Close dropdown\n const handleClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n // Open the create-DataSink page in a new tab so the current editing\n // context (e.g. an unsaved widget in the dashboard builder) is preserved.\n const handleCreateNew = useCallback(() => {\n setIsOpen(false);\n window.open(buildPath('/datasinks/new'), '_blank', 'noopener,noreferrer');\n }, [buildPath]);\n\n return (\n <div className=\"relative\">\n {/* Trigger button */}\n <button\n type=\"button\"\n onClick={handleToggle}\n disabled={disabled}\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen}\n className={`\n w-full min-w-0 min-h-control-md\n px-3 py-2\n bg-bg-surface\n border rounded-md\n text-left\n flex items-center justify-between gap-2\n motion-safe:transition-colors\n ${SECTION_FOCUS_RING}\n ${disabled ? 'opacity-50 cursor-not-allowed' : 'hover:border-action-primary-bg cursor-pointer'}\n ${error ? 'border-status-error-border' : 'border-[var(--color-border-default)]'}\n ${isOpen ? 'border-action-primary-bg ring-2 ring-action-primary-bg/20' : ''}\n `}\n >\n <div className=\"flex-1 min-w-0\">\n {selectedDataSink ? (\n <div className=\"flex min-w-0 items-center gap-2\">\n <DataSinkStatusBadge status={selectedDataSink.status} size=\"sm\" showIcon={false} />\n <span className=\"text-sm text-text-primary truncate\">\n {selectedDataSink.name || selectedDataSink.key}\n </span>\n </div>\n ) : (\n <span className=\"text-sm text-text-muted\">{resolvedPlaceholder}</span>\n )}\n </div>\n\n <ChevronDownIcon\n aria-hidden=\"true\"\n className={`w-4 h-4 shrink-0 text-text-secondary motion-safe:transition-transform ${isOpen ? 'transform rotate-180' : ''}`}\n />\n </button>\n\n {/* Error message */}\n {error && errorMessage && <p className=\"mt-1 text-xs text-status-error-text\">{errorMessage}</p>}\n\n {/* Dropdown */}\n {isOpen && (\n <Fragment>\n {/* Backdrop */}\n <div className=\"fixed inset-0 z-10\" onClick={handleClose} />\n\n {/* Dropdown content */}\n <div className=\"absolute left-0 right-0 top-full mt-1 z-20 bg-bg-surface border border-[var(--color-border-default)] rounded-md shadow-lg max-h-80 flex flex-col overflow-hidden\">\n {/* Search input */}\n <div className=\"p-2 border-b border-[var(--color-border-default)]\">\n <input\n type=\"text\"\n aria-label={t('bigconsole.parsers.dataSinkSelector.searchPlaceholder', 'Search data sources...')}\n placeholder={t('bigconsole.parsers.dataSinkSelector.searchPlaceholder', 'Search data sources...')}\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n className={`\n w-full min-w-0 min-h-control-md px-3 py-2\n bg-bg-sunken\n border border-[var(--color-border-default)]\n rounded-md\n text-sm text-text-primary\n placeholder:text-text-muted\n focus:outline-none\n focus:border-action-primary-bg\n focus:ring-2\n focus:ring-action-primary-bg/20\n `}\n />\n </div>\n\n {/* Options list */}\n <div className=\"overflow-y-auto flex-1\">\n {loading ? (\n <div className=\"p-4 text-center text-sm text-text-secondary\">\n {t('bigconsole.parsers.dataSinkSelector.loading', 'Loading data sources...')}\n </div>\n ) : filteredDataSinks.length === 0 ? (\n <div className=\"p-4 text-center text-sm text-text-secondary\">\n {searchQuery\n ? t('bigconsole.parsers.dataSinkSelector.emptySearch', 'No matching data sources found')\n : t('bigconsole.parsers.dataSinkSelector.empty', 'No data sources available')}\n </div>\n ) : (\n <Fragment>\n {/* None option */}\n <button\n type=\"button\"\n onClick={() => handleSelect(null)}\n className={`\n w-full min-h-control-md px-3 py-2\n text-left text-sm\n hover:bg-bg-sunken\n motion-safe:transition-colors\n ${SECTION_FOCUS_RING}\n ${value === null ? 'bg-action-primary-bg/10 text-action-primary-bg' : 'text-text-secondary'}\n `}\n >\n <span className=\"italic\">{t('bigconsole.parsers.dataSinkSelector.none', 'None')}</span>\n </button>\n\n {/* DataSink options — labelled group, matching ParserSelector */}\n <div className={GROUP_HEADER}>\n <span className={GROUP_HEADER_LABEL}>Data Sources</span>\n </div>\n {filteredDataSinks.map((ds) => (\n <button\n key={ds.id}\n type=\"button\"\n onClick={() => handleSelect(ds.key)}\n className={`\n w-full min-h-control-md px-3 py-2.5\n text-left\n hover:bg-bg-sunken\n motion-safe:transition-colors\n border-b border-[var(--color-border-default)] last:border-b-0\n ${SECTION_FOCUS_RING}\n ${value === ds.key ? 'bg-action-primary-bg/10' : ''}\n `}\n >\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"flex-1 min-w-0\">\n {/* Name and status */}\n <div className=\"flex min-w-0 items-center gap-2 mb-1\">\n <DataSinkStatusBadge status={ds.status} size=\"sm\" showIcon={false} />\n <span className=\"text-sm font-medium text-text-primary truncate\">{ds.name || ds.key}</span>\n </div>\n\n {/* Description */}\n {ds.description && (\n <p className=\"text-xs text-text-secondary line-clamp-1 mb-1\">{ds.description}</p>\n )}\n\n {/* Metadata */}\n <div className=\"flex min-w-0 flex-wrap items-center gap-x-2 text-xs text-text-muted\">\n <span className=\"min-w-0 truncate font-mono\">\n {t('bigconsole.parsers.dataSinkSelector.keyLabel', 'key: {{key}}', { key: ds.key })}\n </span>\n <span aria-hidden=\"true\">•</span>\n <span className=\"truncate\">\n {t('bigconsole.parsers.dataSinkSelector.refreshedLabel', 'Refreshed: {{time}}', {\n time: formatRelativeTime(ds.lastRefreshedAt, t),\n })}\n </span>\n </div>\n </div>\n </div>\n </button>\n ))}\n </Fragment>\n )}\n </div>\n\n {/* Create new — persistent footer action (opens in a new tab) */}\n <div className=\"p-2 border-t border-border-default\">\n <button\n type=\"button\"\n onClick={handleCreateNew}\n className=\"\n w-full flex items-center gap-2\n px-3 py-2\n text-sm font-medium text-action-primary-bg\n rounded-md\n hover:bg-action-primary-bg/10\n transition-colors\n \"\n >\n <Plus className=\"w-4 h-4\" />\n {t('bigconsole.parsers.dataSinkSelector.createNew', 'Create new data source')}\n </button>\n </div>\n </div>\n </Fragment>\n )}\n </div>\n );\n});\n\nexport default DataSinkSelector;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExportParserDialog.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/parser/ExportParserDialog.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA0C,MAAM,OAAO,CAAC;AAUxE,MAAM,WAAW,uBAAuB;IACtC,6BAA6B;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAkOD,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAkIzD,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExportParserDialog.js","names":[],"sources":["../../../../src/bigconsole/components/parser/ExportParserDialog.tsx"],"sourcesContent":["/**\n * ExportParserDialog Component\n *\n * Modal dialog for exporting a parser to JSON.\n * Uses inline styles for consistent styling across environments.\n */\n\nimport { type FC, memo, useState, useCallback, useEffect } from 'react';\nimport { Dialog, DialogContent, DialogTitle, DialogDescription } from '@burdenoff/fe-libs/ui';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { Download, FileJson, Check } from 'lucide-react';\nimport { useExportParser, type ExportParserOptions } from '../../hooks';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface ExportParserDialogProps {\n /** Whether dialog is open */\n isOpen: boolean;\n /** Parser ID to export */\n parserId: string | null;\n /** Parser name for filename */\n parserName?: string;\n /** Callback when dialog is closed */\n onClose: () => void;\n /** Callback when export succeeds */\n onSuccess?: () => void;\n}\n\n// ============================================================================\n// Styles\n// ============================================================================\n\nconst styles = {\n dialogContent: {\n maxWidth: '450px',\n width: '95vw',\n padding: 0,\n borderRadius: '12px',\n overflow: 'hidden',\n } as React.CSSProperties,\n header: {\n display: 'flex',\n alignItems: 'center',\n gap: '12px',\n padding: '20px 24px',\n borderBottom: '1px solid var(--color-border)',\n backgroundColor: 'var(--color-bg-sunken)',\n } as React.CSSProperties,\n iconWrapper: {\n width: '44px',\n height: '44px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: '10px',\n backgroundColor: 'var(--color-action-primary-bg)',\n color: 'var(--color-action-primary-text)',\n flexShrink: 0,\n } as React.CSSProperties,\n headerText: {\n flex: 1,\n } as React.CSSProperties,\n title: {\n fontSize: '16px',\n fontWeight: 600,\n color: 'var(--color-text-primary)',\n margin: 0,\n } as React.CSSProperties,\n description: {\n fontSize: '13px',\n color: 'var(--color-text-secondary)',\n margin: '4px 0 0 0',\n } as React.CSSProperties,\n content: {\n padding: '20px 24px',\n } as React.CSSProperties,\n parserInfo: {\n padding: '12px 16px',\n backgroundColor: 'var(--color-bg-muted)',\n borderRadius: '8px',\n marginBottom: '20px',\n } as React.CSSProperties,\n parserLabel: {\n fontSize: '12px',\n color: 'var(--color-text-secondary)',\n margin: 0,\n } as React.CSSProperties,\n parserName: {\n fontSize: '14px',\n fontWeight: 500,\n color: 'var(--color-text-primary)',\n margin: '4px 0 0 0',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n } as React.CSSProperties,\n optionsTitle: {\n fontSize: '13px',\n fontWeight: 600,\n color: 'var(--color-text-secondary)',\n marginBottom: '16px',\n textTransform: 'uppercase',\n letterSpacing: '0.05em',\n } as React.CSSProperties,\n optionItem: {\n display: 'flex',\n alignItems: 'flex-start',\n gap: '12px',\n padding: '12px',\n borderRadius: '8px',\n marginBottom: '8px',\n backgroundColor: 'var(--color-bg-sunken)',\n border: '1px solid var(--color-border)',\n cursor: 'pointer',\n transition: 'all 0.15s ease',\n } as React.CSSProperties,\n optionItemActive: {\n backgroundColor: 'var(--color-action-primary-bg)',\n borderColor: 'var(--color-action-primary-bg)',\n } as React.CSSProperties,\n checkbox: {\n width: '20px',\n height: '20px',\n borderRadius: '4px',\n border: '2px solid var(--color-border)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n marginTop: '2px',\n transition: 'all 0.15s ease',\n cursor: 'pointer',\n } as React.CSSProperties,\n checkboxChecked: {\n backgroundColor: 'var(--color-action-primary-bg)',\n borderColor: 'var(--color-action-primary-bg)',\n } as React.CSSProperties,\n optionText: {\n flex: 1,\n } as React.CSSProperties,\n optionLabel: {\n fontSize: '14px',\n fontWeight: 500,\n color: 'var(--color-text-primary)',\n margin: 0,\n } as React.CSSProperties,\n optionDescription: {\n fontSize: '12px',\n color: 'var(--color-text-secondary)',\n margin: '4px 0 0 0',\n } as React.CSSProperties,\n error: {\n padding: '12px 16px',\n backgroundColor: 'var(--color-status-error-bgSubtle)',\n border: '1px solid var(--color-status-error-border)',\n borderRadius: '8px',\n marginTop: '16px',\n } as React.CSSProperties,\n errorText: {\n fontSize: '13px',\n color: 'var(--color-status-error-text)',\n margin: 0,\n } as React.CSSProperties,\n footer: {\n display: 'flex',\n justifyContent: 'flex-end',\n gap: '12px',\n padding: '16px 24px',\n borderTop: '1px solid var(--color-border)',\n backgroundColor: 'var(--color-bg-sunken)',\n } as React.CSSProperties,\n cancelButton: {\n padding: '10px 20px',\n fontSize: '14px',\n fontWeight: 500,\n borderRadius: '8px',\n border: '1px solid var(--color-border)',\n backgroundColor: 'var(--color-bg-surface)',\n color: 'var(--color-text-secondary)',\n cursor: 'pointer',\n transition: 'all 0.15s ease',\n } as React.CSSProperties,\n exportButton: {\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n padding: '10px 20px',\n fontSize: '14px',\n fontWeight: 500,\n borderRadius: '8px',\n border: 'none',\n backgroundColor: 'var(--color-action-primary-bg)',\n color: 'var(--color-action-primary-text)',\n cursor: 'pointer',\n transition: 'all 0.15s ease',\n } as React.CSSProperties,\n exportButtonDisabled: {\n backgroundColor: 'var(--color-action-primary-bg)',\n opacity: 0.5,\n cursor: 'not-allowed',\n } as React.CSSProperties,\n};\n\n// ============================================================================\n// Custom Checkbox Component\n// ============================================================================\n\ninterface CustomCheckboxProps {\n checked: boolean;\n onChange: (checked: boolean) => void;\n disabled?: boolean;\n label: string;\n description: string;\n}\n\nconst CustomCheckbox: FC<CustomCheckboxProps> = memo(function CustomCheckbox({\n checked,\n onChange,\n disabled,\n label,\n description,\n}) {\n return (\n <div\n style={{\n ...styles.optionItem,\n ...(checked ? styles.optionItemActive : {}),\n opacity: disabled ? 0.6 : 1,\n cursor: disabled ? 'not-allowed' : 'pointer',\n }}\n onClick={() => !disabled && onChange(!checked)}\n >\n <div\n style={{\n ...styles.checkbox,\n ...(checked ? styles.checkboxChecked : {}),\n }}\n >\n {checked && <Check style={{ width: '14px', height: '14px', color: 'var(--color-action-primary-text)' }} />}\n </div>\n <div style={styles.optionText}>\n <p style={styles.optionLabel}>{label}</p>\n <p style={styles.optionDescription}>{description}</p>\n </div>\n </div>\n );\n});\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const ExportParserDialog: FC<ExportParserDialogProps> = memo(function ExportParserDialog({\n isOpen,\n parserId,\n parserName,\n onClose,\n onSuccess,\n}) {\n const [prettyPrint, setPrettyPrint] = useState(true);\n\n const { loading, error, downloadParser, clearError } = useExportParser();\n\n // Reset state when dialog opens\n useEffect(() => {\n if (isOpen) {\n setPrettyPrint(true);\n clearError();\n }\n }, [isOpen, clearError]);\n\n // Handle export\n const handleExport = useCallback(async () => {\n if (!parserId) return;\n\n const options: ExportParserOptions = {\n prettyPrint,\n };\n\n const success = await downloadParser(parserId, parserName, options);\n\n if (success) {\n onSuccess?.();\n onClose();\n }\n }, [parserId, parserName, prettyPrint, downloadParser, onSuccess, onClose]);\n\n // Don't render if no parser\n if (!parserId) return null;\n\n return (\n <Dialog open={isOpen} onOpenChange={(open) => !open && !loading && onClose()}>\n <DialogContent style={styles.dialogContent}>\n {/* Header */}\n <div style={styles.header}>\n <div style={styles.iconWrapper}>\n <FileJson style={{ width: '22px', height: '22px' }} />\n </div>\n <div style={styles.headerText}>\n <DialogTitle asChild>\n <h2 style={styles.title}>Export Parser</h2>\n </DialogTitle>\n <DialogDescription asChild>\n <p style={styles.description}>Export your parser configuration to a JSON file.</p>\n </DialogDescription>\n </div>\n </div>\n\n {/* Content */}\n <div style={styles.content}>\n {/* Parser Info */}\n {parserName && (\n <div style={styles.parserInfo}>\n <p style={styles.parserLabel}>Exporting:</p>\n <p style={styles.parserName}>{parserName}</p>\n </div>\n )}\n\n {/* Options */}\n <p style={styles.optionsTitle}>Export Options</p>\n\n <CustomCheckbox\n checked={prettyPrint}\n onChange={setPrettyPrint}\n disabled={loading}\n label=\"Format JSON (Pretty Print)\"\n description=\"Makes the export file human-readable (larger file size)\"\n />\n\n {/* Error */}\n {error && (\n <div style={styles.error}>\n <p style={styles.errorText}>{error.message}</p>\n </div>\n )}\n </div>\n\n {/* Footer */}\n <div style={styles.footer}>\n <button\n style={styles.cancelButton}\n onClick={onClose}\n disabled={loading}\n onMouseEnter={(e) => {\n e.currentTarget.style.backgroundColor = 'var(--color-bg-muted)';\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.backgroundColor = 'var(--color-bg-surface)';\n }}\n >\n Cancel\n </button>\n <button\n style={{\n ...styles.exportButton,\n ...(loading ? styles.exportButtonDisabled : {}),\n }}\n onClick={handleExport}\n disabled={loading}\n onMouseEnter={(e) => {\n if (!loading) e.currentTarget.style.opacity = '0.9';\n }}\n onMouseLeave={(e) => {\n if (!loading) e.currentTarget.style.opacity = '1';\n }}\n >\n {loading ? (\n <>\n <Spinner style={{ width: '16px', height: '16px' }} />\n Exporting...\n </>\n ) : (\n <>\n <Download style={{ width: '16px', height: '16px' }} />\n Download Export\n </>\n )}\n </button>\n </div>\n </DialogContent>\n </Dialog>\n );\n});\n\nexport default ExportParserDialog;\n"],"mappings":"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"}