@burdenoff/microfe-bigconsole 2026.1005.3 → 2026.1006.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1442) hide show
  1. package/README.md +22 -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 +88 -84
  8. package/dist/bigconsole/BigConsoleRoutes.d.ts +0 -1
  9. package/dist/bigconsole/BigConsoleRoutes.js +39 -5
  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/index.d.ts +0 -1
  29. package/dist/bigconsole/assistant/modes.d.ts +0 -1
  30. package/dist/bigconsole/assistant/modes.js +0 -2
  31. package/dist/bigconsole/assistant/pageContext.d.ts +0 -1
  32. package/dist/bigconsole/assistant/pageContext.js +0 -2
  33. package/dist/bigconsole/assistant/previewController.d.ts +0 -1
  34. package/dist/bigconsole/assistant/previewController.js +0 -2
  35. package/dist/bigconsole/assistant/previewMutationResult.d.ts +0 -1
  36. package/dist/bigconsole/assistant/previewMutationResult.js +0 -2
  37. package/dist/bigconsole/assistant/previewRunAction.d.ts +0 -1
  38. package/dist/bigconsole/assistant/previewRunAction.js +0 -2
  39. package/dist/bigconsole/assistant/product.d.ts +0 -1
  40. package/dist/bigconsole/assistant/product.js +0 -2
  41. package/dist/bigconsole/assistant/recordAdapters.d.ts +0 -1
  42. package/dist/bigconsole/assistant/recordAdapters.js +52 -38
  43. package/dist/bigconsole/assistant/types.d.ts +0 -1
  44. package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts +0 -1
  45. package/dist/bigconsole/assistant/useAssistantRunWorkspace.js +0 -2
  46. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts +0 -1
  47. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js +0 -2
  48. package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts +0 -1
  49. package/dist/bigconsole/components/DrilldownDashboardRenderer.js +0 -2
  50. package/dist/bigconsole/components/DrilldownModal.d.ts +0 -1
  51. package/dist/bigconsole/components/DrilldownModal.js +0 -2
  52. package/dist/bigconsole/components/builder/BuilderCanvas.d.ts +0 -1
  53. package/dist/bigconsole/components/builder/BuilderCanvas.js +0 -2
  54. package/dist/bigconsole/components/builder/BuilderTopbar.d.ts +0 -1
  55. package/dist/bigconsole/components/builder/BuilderTopbar.js +0 -2
  56. package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts +0 -1
  57. package/dist/bigconsole/components/builder/DashboardEditorShell.js +0 -2
  58. package/dist/bigconsole/components/builder/WidgetInspector.d.ts +0 -1
  59. package/dist/bigconsole/components/builder/WidgetInspector.js +0 -2
  60. package/dist/bigconsole/components/builder/index.d.ts +0 -1
  61. package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts +0 -1
  62. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +0 -2
  63. package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts +0 -1
  64. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +0 -2
  65. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts +0 -1
  66. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +0 -2
  67. package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts +0 -1
  68. package/dist/bigconsole/components/builder/inspector/GeneralSection.js +0 -2
  69. package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts +0 -1
  70. package/dist/bigconsole/components/builder/inspector/LayoutSection.js +0 -2
  71. package/dist/bigconsole/components/builder/inspector/index.d.ts +0 -1
  72. package/dist/bigconsole/components/common/Section.d.ts +0 -1
  73. package/dist/bigconsole/components/common/Section.js +0 -2
  74. package/dist/bigconsole/components/common/index.d.ts +0 -1
  75. package/dist/bigconsole/components/common/sectionStyles.d.ts +0 -1
  76. package/dist/bigconsole/components/common/sectionStyles.js +0 -2
  77. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts +0 -1
  78. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +0 -2
  79. package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts +0 -1
  80. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +0 -2
  81. package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts +0 -1
  82. package/dist/bigconsole/components/dashboard/DashboardGrid.js +0 -2
  83. package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts +0 -1
  84. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js +0 -2
  85. package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts +0 -1
  86. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +0 -2
  87. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts +0 -1
  88. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +63 -64
  89. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts +0 -1
  90. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +0 -2
  91. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts +0 -1
  92. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +0 -2
  93. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts +0 -1
  94. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +0 -2
  95. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts +0 -1
  96. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +0 -2
  97. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts +0 -1
  98. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +0 -2
  99. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts +0 -1
  100. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts +0 -1
  101. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +0 -2
  102. package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts +0 -1
  103. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +0 -2
  104. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts +0 -1
  105. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js +0 -2
  106. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts +0 -1
  107. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +0 -2
  108. package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts +0 -1
  109. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts +0 -1
  110. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +0 -2
  111. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts +0 -1
  112. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +0 -2
  113. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts +0 -1
  114. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts +0 -1
  115. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +97 -108
  116. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts +0 -1
  117. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +0 -2
  118. package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts +0 -1
  119. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts +0 -1
  120. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +0 -2
  121. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts +0 -1
  122. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +0 -2
  123. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts +0 -1
  124. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +0 -2
  125. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts +0 -1
  126. package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts +0 -1
  127. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts +0 -1
  128. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +0 -2
  129. package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts +0 -1
  130. package/dist/bigconsole/components/dashboard/WidgetPalette.js +165 -165
  131. package/dist/bigconsole/components/dashboard/index.d.ts +0 -1
  132. package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts +0 -1
  133. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +0 -2
  134. package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts +0 -1
  135. package/dist/bigconsole/components/datasink/AlertRuleEditor.js +0 -2
  136. package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts +0 -1
  137. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +0 -2
  138. package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts +0 -1
  139. package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts +0 -1
  140. package/dist/bigconsole/components/datasink/DataSinkCard.d.ts +0 -1
  141. package/dist/bigconsole/components/datasink/DataSinkCard.js +0 -2
  142. package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts +0 -1
  143. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +0 -2
  144. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts +0 -1
  145. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +0 -2
  146. package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts +0 -1
  147. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts +0 -1
  148. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +0 -2
  149. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts +0 -1
  150. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +0 -2
  151. package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts +0 -1
  152. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +0 -2
  153. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts +0 -1
  154. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +0 -2
  155. package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts +0 -1
  156. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts +0 -1
  157. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +0 -2
  158. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts +0 -1
  159. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +0 -2
  160. package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts +0 -1
  161. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +0 -2
  162. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts +0 -1
  163. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +0 -2
  164. package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts +0 -1
  165. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +0 -2
  166. package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts +0 -1
  167. package/dist/bigconsole/components/datasink/SetupStateBadge.js +0 -2
  168. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts +0 -1
  169. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +0 -2
  170. package/dist/bigconsole/components/datasink/index.d.ts +0 -1
  171. package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts +0 -1
  172. package/dist/bigconsole/components/embed/EmbedErrorBoundary.js +0 -2
  173. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts +0 -1
  174. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js +0 -2
  175. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts +0 -1
  176. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js +0 -2
  177. package/dist/bigconsole/components/embed/drilldown.d.ts +0 -1
  178. package/dist/bigconsole/components/embed/drilldown.js +0 -2
  179. package/dist/bigconsole/components/embed/index.d.ts +0 -1
  180. package/dist/bigconsole/components/embed/renderer-manifest.d.ts +0 -1
  181. package/dist/bigconsole/components/embed/renderer-manifest.js +0 -2
  182. package/dist/bigconsole/components/embed/types.d.ts +0 -1
  183. package/dist/bigconsole/components/embed/types.js +0 -2
  184. package/dist/bigconsole/components/embed/validate.d.ts +0 -1
  185. package/dist/bigconsole/components/embed/validate.js +0 -2
  186. package/dist/bigconsole/components/embed/widgetShim.d.ts +0 -1
  187. package/dist/bigconsole/components/embed/widgetShim.js +0 -2
  188. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts +0 -1
  189. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js +0 -2
  190. package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts +0 -1
  191. package/dist/bigconsole/components/embed/widgets/ChartEmbed.js +0 -2
  192. package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts +0 -1
  193. package/dist/bigconsole/components/embed/widgets/EmbedFrame.js +0 -2
  194. package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts +0 -1
  195. package/dist/bigconsole/components/embed/widgets/FormEmbed.js +0 -2
  196. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts +0 -1
  197. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js +0 -2
  198. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts +0 -1
  199. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js +0 -2
  200. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts +0 -1
  201. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js +0 -2
  202. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts +0 -1
  203. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js +0 -2
  204. package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts +0 -1
  205. package/dist/bigconsole/components/embed/widgets/ListEmbed.js +0 -2
  206. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts +0 -1
  207. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js +0 -2
  208. package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts +0 -1
  209. package/dist/bigconsole/components/embed/widgets/PivotEmbed.js +0 -2
  210. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts +0 -1
  211. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js +0 -2
  212. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts +0 -1
  213. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js +0 -2
  214. package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts +0 -1
  215. package/dist/bigconsole/components/embed/widgets/TableEmbed.js +0 -2
  216. package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts +0 -1
  217. package/dist/bigconsole/components/embed/widgets/TextEmbed.js +0 -2
  218. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts +0 -1
  219. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js +0 -2
  220. package/dist/bigconsole/components/embed/widgets/shared.d.ts +0 -1
  221. package/dist/bigconsole/components/embed/widgets/shared.js +0 -2
  222. package/dist/bigconsole/components/overview/DashboardGuide.d.ts +0 -1
  223. package/dist/bigconsole/components/overview/DashboardGuide.js +0 -2
  224. package/dist/bigconsole/components/overview/DataHealthCard.d.ts +0 -1
  225. package/dist/bigconsole/components/overview/DataHealthCard.js +0 -2
  226. package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts +0 -1
  227. package/dist/bigconsole/components/overview/OverviewQuickActions.js +0 -2
  228. package/dist/bigconsole/components/overview/OverviewStatCard.d.ts +0 -1
  229. package/dist/bigconsole/components/overview/OverviewStatCard.js +0 -2
  230. package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts +0 -1
  231. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js +0 -2
  232. package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts +0 -1
  233. package/dist/bigconsole/components/overview/dashboardGuideSteps.js +0 -2
  234. package/dist/bigconsole/components/overview/index.d.ts +0 -1
  235. package/dist/bigconsole/components/overview/overviewModel.d.ts +0 -1
  236. package/dist/bigconsole/components/overview/overviewModel.js +0 -2
  237. package/dist/bigconsole/components/overview/useOverviewData.d.ts +0 -1
  238. package/dist/bigconsole/components/overview/useOverviewData.js +0 -2
  239. package/dist/bigconsole/components/parser/DataSinkSelector.d.ts +0 -1
  240. package/dist/bigconsole/components/parser/DataSinkSelector.js +0 -2
  241. package/dist/bigconsole/components/parser/ExportParserDialog.d.ts +0 -1
  242. package/dist/bigconsole/components/parser/ExportParserDialog.js +0 -2
  243. package/dist/bigconsole/components/parser/ExpressionEditor.d.ts +0 -1
  244. package/dist/bigconsole/components/parser/ExpressionEditor.js +0 -2
  245. package/dist/bigconsole/components/parser/ImportParserDialog.d.ts +0 -1
  246. package/dist/bigconsole/components/parser/ImportParserDialog.js +0 -2
  247. package/dist/bigconsole/components/parser/ParserBuilder.d.ts +0 -1
  248. package/dist/bigconsole/components/parser/ParserCard.d.ts +0 -1
  249. package/dist/bigconsole/components/parser/ParserCard.js +0 -2
  250. package/dist/bigconsole/components/parser/ParserFormDialog.d.ts +0 -1
  251. package/dist/bigconsole/components/parser/ParserSelector.d.ts +0 -1
  252. package/dist/bigconsole/components/parser/ParserSelector.js +0 -2
  253. package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts +0 -1
  254. package/dist/bigconsole/components/parser/ParserStatusBadge.js +0 -2
  255. package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts +0 -1
  256. package/dist/bigconsole/components/parser/ParserTypeBadge.js +0 -2
  257. package/dist/bigconsole/components/parser/TestPanel.d.ts +0 -1
  258. package/dist/bigconsole/components/parser/index.d.ts +0 -1
  259. package/dist/bigconsole/components/parser/parserFieldStyles.d.ts +0 -1
  260. package/dist/bigconsole/components/pipeline/PipelineCard.d.ts +0 -1
  261. package/dist/bigconsole/components/pipeline/PipelineCard.js +0 -2
  262. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts +0 -1
  263. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +0 -2
  264. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts +0 -1
  265. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +0 -2
  266. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts +0 -1
  267. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +0 -2
  268. package/dist/bigconsole/components/pipeline/index.d.ts +0 -1
  269. package/dist/bigconsole/components/preview/AiPreviewContent.d.ts +0 -1
  270. package/dist/bigconsole/components/preview/AiPreviewContent.js +0 -2
  271. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts +0 -1
  272. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +0 -2
  273. package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts +0 -1
  274. package/dist/bigconsole/components/preview/AiPreviewPanel.js +0 -2
  275. package/dist/bigconsole/components/preview/parserPreview.d.ts +0 -1
  276. package/dist/bigconsole/components/preview/parserPreview.js +0 -2
  277. package/dist/bigconsole/components/preview/previewShared.d.ts +0 -1
  278. package/dist/bigconsole/components/preview/previewShared.js +0 -2
  279. package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts +0 -1
  280. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +0 -2
  281. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts +0 -1
  282. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +0 -2
  283. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts +0 -1
  284. package/dist/bigconsole/components/widgets/PropertiesPanel.js +0 -2
  285. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts +0 -1
  286. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +0 -2
  287. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts +0 -1
  288. package/dist/bigconsole/components/widgets/WidgetHeader.js +0 -2
  289. package/dist/bigconsole/components/widgets/WidgetMenu.d.ts +0 -1
  290. package/dist/bigconsole/components/widgets/WidgetMenu.js +0 -2
  291. package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts +0 -1
  292. package/dist/bigconsole/components/widgets/WidgetRegistry.js +0 -3
  293. package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts +0 -1
  294. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts +0 -1
  295. package/dist/bigconsole/components/widgets/WidgetWrapper.js +0 -2
  296. package/dist/bigconsole/components/widgets/actionConfig.d.ts +0 -1
  297. package/dist/bigconsole/components/widgets/actionConfig.js +0 -2
  298. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts +0 -1
  299. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +0 -2
  300. package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts +0 -1
  301. package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts +0 -1
  302. package/dist/bigconsole/components/widgets/calendar/CalendarView.js +0 -2
  303. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts +0 -1
  304. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +0 -2
  305. package/dist/bigconsole/components/widgets/calendar/index.d.ts +0 -1
  306. package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts +0 -1
  307. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +0 -2
  308. package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts +0 -1
  309. package/dist/bigconsole/components/widgets/chart/ChartLegend.js +0 -2
  310. package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts +0 -1
  311. package/dist/bigconsole/components/widgets/chart/ChartTooltip.js +0 -2
  312. package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts +0 -1
  313. package/dist/bigconsole/components/widgets/chart/ChartWidget.js +0 -2
  314. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts +0 -1
  315. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js +0 -2
  316. package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts +0 -1
  317. package/dist/bigconsole/components/widgets/chart/charts/BarChart.js +0 -2
  318. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts +0 -1
  319. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js +0 -2
  320. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts +0 -1
  321. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js +0 -2
  322. package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts +0 -1
  323. package/dist/bigconsole/components/widgets/chart/charts/LineChart.js +0 -2
  324. package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts +0 -1
  325. package/dist/bigconsole/components/widgets/chart/charts/PieChart.js +0 -2
  326. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts +0 -1
  327. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js +0 -2
  328. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts +0 -1
  329. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js +0 -2
  330. package/dist/bigconsole/components/widgets/chart/charts/index.d.ts +0 -1
  331. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts +0 -1
  332. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js +0 -2
  333. package/dist/bigconsole/components/widgets/chart/charts/types.d.ts +0 -1
  334. package/dist/bigconsole/components/widgets/chart/index.d.ts +0 -1
  335. package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts +0 -1
  336. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +0 -2
  337. package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts +0 -1
  338. package/dist/bigconsole/components/widgets/custom/CustomWidget.js +73 -133
  339. package/dist/bigconsole/components/widgets/custom/config.d.ts +0 -1
  340. package/dist/bigconsole/components/widgets/custom/config.js +0 -2
  341. package/dist/bigconsole/components/widgets/custom/index.d.ts +0 -1
  342. package/dist/bigconsole/components/widgets/custom/utils.d.ts +0 -1
  343. package/dist/bigconsole/components/widgets/custom/utils.js +0 -2
  344. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts +0 -1
  345. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +0 -2
  346. package/dist/bigconsole/components/widgets/event-logs/index.d.ts +0 -1
  347. package/dist/bigconsole/components/widgets/form/FormWidget.d.ts +0 -1
  348. package/dist/bigconsole/components/widgets/form/FormWidget.js +0 -2
  349. package/dist/bigconsole/components/widgets/form/index.d.ts +0 -1
  350. package/dist/bigconsole/components/widgets/funnel/index.d.ts +0 -1
  351. package/dist/bigconsole/components/widgets/funnel/index.js +0 -2
  352. package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts +0 -1
  353. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +0 -2
  354. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts +0 -1
  355. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +0 -2
  356. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts +0 -1
  357. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +0 -2
  358. package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts +0 -1
  359. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +0 -2
  360. package/dist/bigconsole/components/widgets/gauge/index.d.ts +0 -1
  361. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts +0 -1
  362. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +0 -2
  363. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts +0 -1
  364. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js +0 -2
  365. package/dist/bigconsole/components/widgets/heatmap/index.d.ts +0 -1
  366. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts +28 -10
  367. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +115 -44
  368. package/dist/bigconsole/components/widgets/iframe-widget/framePolicy.d.ts +20 -0
  369. package/dist/bigconsole/components/widgets/iframe-widget/framePolicy.js +10 -0
  370. package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts +2 -2
  371. package/dist/bigconsole/components/widgets/iframe-widget/index.js +3 -2
  372. package/dist/bigconsole/components/widgets/index.d.ts +0 -1
  373. package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts +0 -1
  374. package/dist/bigconsole/components/widgets/kanban/KanbanView.js +0 -2
  375. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts +0 -1
  376. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +0 -2
  377. package/dist/bigconsole/components/widgets/kanban/index.d.ts +0 -1
  378. package/dist/bigconsole/components/widgets/kanban/model.d.ts +0 -1
  379. package/dist/bigconsole/components/widgets/kanban/model.js +0 -2
  380. package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts +0 -1
  381. package/dist/bigconsole/components/widgets/kpi/KPIWidget.js +0 -2
  382. package/dist/bigconsole/components/widgets/kpi/index.d.ts +0 -1
  383. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts +0 -1
  384. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +0 -2
  385. package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts +0 -1
  386. package/dist/bigconsole/components/widgets/list/ListConfig.d.ts +0 -1
  387. package/dist/bigconsole/components/widgets/list/ListConfig.js +0 -2
  388. package/dist/bigconsole/components/widgets/list/ListItem.d.ts +0 -1
  389. package/dist/bigconsole/components/widgets/list/ListItem.js +0 -2
  390. package/dist/bigconsole/components/widgets/list/ListWidget.d.ts +0 -1
  391. package/dist/bigconsole/components/widgets/list/ListWidget.js +0 -2
  392. package/dist/bigconsole/components/widgets/list/index.d.ts +0 -1
  393. package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts +0 -1
  394. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +0 -2
  395. package/dist/bigconsole/components/widgets/map-widget/index.d.ts +0 -1
  396. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts +0 -1
  397. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js +0 -2
  398. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts +0 -1
  399. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +0 -2
  400. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts +0 -1
  401. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +0 -2
  402. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts +0 -1
  403. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +0 -2
  404. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts +0 -1
  405. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +0 -2
  406. package/dist/bigconsole/components/widgets/metric-card/index.d.ts +0 -1
  407. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts +0 -1
  408. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +0 -2
  409. package/dist/bigconsole/components/widgets/pivot-table/index.d.ts +0 -1
  410. package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts +0 -1
  411. package/dist/bigconsole/components/widgets/progress/ProgressBar.js +0 -2
  412. package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts +0 -1
  413. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +0 -2
  414. package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts +0 -1
  415. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +0 -2
  416. package/dist/bigconsole/components/widgets/progress/index.d.ts +0 -1
  417. package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts +0 -1
  418. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +0 -2
  419. package/dist/bigconsole/components/widgets/retention/index.d.ts +0 -1
  420. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts +0 -1
  421. package/dist/bigconsole/components/widgets/states/EmptyState.js +0 -2
  422. package/dist/bigconsole/components/widgets/states/ErrorState.d.ts +0 -1
  423. package/dist/bigconsole/components/widgets/states/ErrorState.js +0 -2
  424. package/dist/bigconsole/components/widgets/states/LoadingState.d.ts +0 -1
  425. package/dist/bigconsole/components/widgets/states/LoadingState.js +0 -2
  426. package/dist/bigconsole/components/widgets/states/index.d.ts +0 -1
  427. package/dist/bigconsole/components/widgets/table/TableCell.d.ts +0 -1
  428. package/dist/bigconsole/components/widgets/table/TableCell.js +0 -2
  429. package/dist/bigconsole/components/widgets/table/TableConfig.d.ts +0 -1
  430. package/dist/bigconsole/components/widgets/table/TableConfig.js +0 -2
  431. package/dist/bigconsole/components/widgets/table/TableHeader.d.ts +0 -1
  432. package/dist/bigconsole/components/widgets/table/TableHeader.js +0 -2
  433. package/dist/bigconsole/components/widgets/table/TablePagination.d.ts +0 -1
  434. package/dist/bigconsole/components/widgets/table/TablePagination.js +0 -2
  435. package/dist/bigconsole/components/widgets/table/TableWidget.d.ts +0 -1
  436. package/dist/bigconsole/components/widgets/table/TableWidget.js +0 -2
  437. package/dist/bigconsole/components/widgets/table/cellLink.d.ts +0 -1
  438. package/dist/bigconsole/components/widgets/table/cellLink.js +0 -2
  439. package/dist/bigconsole/components/widgets/table/index.d.ts +0 -1
  440. package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts +0 -1
  441. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +110 -29
  442. package/dist/bigconsole/components/widgets/text-widget/index.d.ts +0 -1
  443. package/dist/bigconsole/components/widgets/text-widget/textData.d.ts +6 -1
  444. package/dist/bigconsole/components/widgets/text-widget/textData.js +17 -16
  445. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts +0 -1
  446. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +0 -2
  447. package/dist/bigconsole/components/widgets/timeline/index.d.ts +0 -1
  448. package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts +0 -1
  449. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +0 -2
  450. package/dist/bigconsole/components/widgets/utils/inferFields.d.ts +0 -1
  451. package/dist/bigconsole/components/widgets/utils/inferFields.js +0 -2
  452. package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts +0 -1
  453. package/dist/bigconsole/components/widgets/utils/targetProgress.js +0 -2
  454. package/dist/bigconsole/components/widgets/utils/translate.d.ts +0 -1
  455. package/dist/bigconsole/components/widgets/utils/translate.js +0 -2
  456. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts +0 -1
  457. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +0 -2
  458. package/dist/bigconsole/components/widgets/webhook-config/index.d.ts +0 -1
  459. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts +0 -1
  460. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +0 -2
  461. package/dist/bigconsole/components/widgets/widget-actions/index.d.ts +0 -1
  462. package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts +0 -1
  463. package/dist/bigconsole/components/workflow/WorkflowCard.d.ts +0 -1
  464. package/dist/bigconsole/components/workflow/WorkflowCard.js +0 -2
  465. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts +0 -1
  466. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +0 -2
  467. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts +0 -1
  468. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js +0 -2
  469. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts +0 -1
  470. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +0 -2
  471. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts +0 -1
  472. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +0 -2
  473. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts +0 -1
  474. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +0 -2
  475. package/dist/bigconsole/components/workflow/index.d.ts +0 -1
  476. package/dist/bigconsole/constants/backendErrors.d.ts +0 -1
  477. package/dist/bigconsole/constants.d.ts +0 -1
  478. package/dist/bigconsole/constants.js +0 -2
  479. package/dist/bigconsole/context/BigConsoleContext.d.ts +10 -1
  480. package/dist/bigconsole/context/BigConsoleContext.js +47 -32
  481. package/dist/bigconsole/context/index.d.ts +1 -2
  482. package/dist/bigconsole/contexts/CrossFilterContext.d.ts +0 -1
  483. package/dist/bigconsole/contexts/CrossFilterContext.js +0 -2
  484. package/dist/bigconsole/contexts/NavigationContext.d.ts +0 -1
  485. package/dist/bigconsole/contexts/NavigationContext.js +0 -2
  486. package/dist/bigconsole/contexts/index.d.ts +0 -1
  487. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts +0 -1
  488. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +0 -2
  489. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts +0 -1
  490. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +0 -2
  491. package/dist/bigconsole/customWidget/index.d.ts +0 -1
  492. package/dist/bigconsole/customWidget/proposalContract.d.ts +0 -1
  493. package/dist/bigconsole/customWidget/proposalContract.js +0 -2
  494. package/dist/bigconsole/customWidget/proposalSource.d.ts +0 -1
  495. package/dist/bigconsole/customWidget/proposalSource.js +0 -2
  496. package/dist/bigconsole/graphql/apollo-compat.d.ts +0 -1
  497. package/dist/bigconsole/graphql/storeTemplates.d.ts +0 -1
  498. package/dist/bigconsole/graphql/storeTemplates.js +0 -2
  499. package/dist/bigconsole/hooks/index.d.ts +0 -1
  500. package/dist/bigconsole/hooks/useActivePage.d.ts +0 -1
  501. package/dist/bigconsole/hooks/useActivePage.js +0 -2
  502. package/dist/bigconsole/hooks/useAutoRefresh.d.ts +0 -1
  503. package/dist/bigconsole/hooks/useAutoRefresh.js +0 -2
  504. package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts +0 -1
  505. package/dist/bigconsole/hooks/useBigConsoleAnalytics.js +0 -2
  506. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts +0 -1
  507. package/dist/bigconsole/hooks/useBigConsoleSettings.js +0 -2
  508. package/dist/bigconsole/hooks/useCrossFilter.d.ts +0 -1
  509. package/dist/bigconsole/hooks/useCrossFilter.js +0 -2
  510. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts +0 -1
  511. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js +0 -2
  512. package/dist/bigconsole/hooks/useDashboardImageExport.d.ts +0 -1
  513. package/dist/bigconsole/hooks/useDashboardImageExport.js +0 -2
  514. package/dist/bigconsole/hooks/useDashboardOperations.d.ts +0 -1
  515. package/dist/bigconsole/hooks/useDashboardOperations.js +0 -2
  516. package/dist/bigconsole/hooks/useDashboardSharing.d.ts +0 -1
  517. package/dist/bigconsole/hooks/useDashboardSharing.js +0 -2
  518. package/dist/bigconsole/hooks/useDashboardTemplates.d.ts +0 -1
  519. package/dist/bigconsole/hooks/useDashboardViews.d.ts +0 -1
  520. package/dist/bigconsole/hooks/useDashboardViews.js +0 -2
  521. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +0 -1
  522. package/dist/bigconsole/hooks/useDataSinkAlerts.js +0 -2
  523. package/dist/bigconsole/hooks/useDataSinkOperations.d.ts +7 -1
  524. package/dist/bigconsole/hooks/useDataSinkOperations.js +109 -100
  525. package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts +0 -1
  526. package/dist/bigconsole/hooks/useDataSinkSubscription.js +0 -3
  527. package/dist/bigconsole/hooks/useDrilldown.d.ts +0 -1
  528. package/dist/bigconsole/hooks/useDrilldown.js +69 -70
  529. package/dist/bigconsole/hooks/useDrilldownOperations.d.ts +0 -1
  530. package/dist/bigconsole/hooks/useDrilldownOperations.js +0 -2
  531. package/dist/bigconsole/hooks/useEventLogs.d.ts +0 -1
  532. package/dist/bigconsole/hooks/useEventLogs.js +0 -2
  533. package/dist/bigconsole/hooks/useEventWebhooks.d.ts +0 -1
  534. package/dist/bigconsole/hooks/useEventWebhooks.js +0 -2
  535. package/dist/bigconsole/hooks/useExportDashboard.d.ts +0 -1
  536. package/dist/bigconsole/hooks/useExportDashboard.js +0 -2
  537. package/dist/bigconsole/hooks/useExportDataSink.d.ts +0 -1
  538. package/dist/bigconsole/hooks/useExportDataSink.js +1 -3
  539. package/dist/bigconsole/hooks/useExportParser.d.ts +0 -1
  540. package/dist/bigconsole/hooks/useExportParser.js +0 -2
  541. package/dist/bigconsole/hooks/useFilterPresets.d.ts +0 -1
  542. package/dist/bigconsole/hooks/useFilterPresets.js +0 -2
  543. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts +0 -1
  544. package/dist/bigconsole/hooks/useFilterUrlSync.js +0 -2
  545. package/dist/bigconsole/hooks/useGlobalFilters.d.ts +0 -1
  546. package/dist/bigconsole/hooks/useGlobalFilters.js +0 -2
  547. package/dist/bigconsole/hooks/useImportDashboard.d.ts +0 -1
  548. package/dist/bigconsole/hooks/useImportDashboard.js +0 -2
  549. package/dist/bigconsole/hooks/useImportDataSink.d.ts +0 -1
  550. package/dist/bigconsole/hooks/useImportDataSink.js +102 -92
  551. package/dist/bigconsole/hooks/useImportParser.d.ts +0 -1
  552. package/dist/bigconsole/hooks/useImportParser.js +0 -2
  553. package/dist/bigconsole/hooks/useInstalledWidgets.d.ts +0 -1
  554. package/dist/bigconsole/hooks/useInstalledWidgets.js +0 -2
  555. package/dist/bigconsole/hooks/useModalFocusTrap.d.ts +0 -1
  556. package/dist/bigconsole/hooks/useModalFocusTrap.js +0 -2
  557. package/dist/bigconsole/hooks/usePageOperations.d.ts +0 -1
  558. package/dist/bigconsole/hooks/usePageOperations.js +0 -2
  559. package/dist/bigconsole/hooks/useParserOperations.d.ts +0 -1
  560. package/dist/bigconsole/hooks/useParserOperations.js +0 -2
  561. package/dist/bigconsole/hooks/usePipelineOperations.d.ts +0 -1
  562. package/dist/bigconsole/hooks/usePipelineOperations.js +0 -2
  563. package/dist/bigconsole/hooks/useShareRecipients.d.ts +0 -1
  564. package/dist/bigconsole/hooks/useShareRecipients.js +0 -2
  565. package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts +0 -1
  566. package/dist/bigconsole/hooks/useStoreDashboardTemplates.js +0 -2
  567. package/dist/bigconsole/hooks/useWidgetActions.d.ts +0 -1
  568. package/dist/bigconsole/hooks/useWidgetActions.js +0 -2
  569. package/dist/bigconsole/hooks/useWidgetCatalog.d.ts +0 -1
  570. package/dist/bigconsole/hooks/useWidgetCatalog.js +0 -2
  571. package/dist/bigconsole/hooks/useWidgetComments.d.ts +0 -1
  572. package/dist/bigconsole/hooks/useWidgetComments.js +0 -2
  573. package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts +0 -1
  574. package/dist/bigconsole/hooks/useWidgetConfigPersist.js +0 -2
  575. package/dist/bigconsole/hooks/useWidgetData.d.ts +0 -1
  576. package/dist/bigconsole/hooks/useWidgetData.js +0 -2
  577. package/dist/bigconsole/hooks/useWidgetEvents.d.ts +0 -1
  578. package/dist/bigconsole/hooks/useWidgetEvents.js +0 -2
  579. package/dist/bigconsole/hooks/useWidgetExport.d.ts +0 -1
  580. package/dist/bigconsole/hooks/useWidgetExport.js +0 -2
  581. package/dist/bigconsole/hooks/useWidgetOperations.d.ts +0 -1
  582. package/dist/bigconsole/hooks/useWidgetOperations.js +0 -2
  583. package/dist/bigconsole/hooks/useWorkflowOperations.d.ts +0 -1
  584. package/dist/bigconsole/hooks/useWorkflowOperations.js +0 -2
  585. package/dist/bigconsole/index.d.ts +0 -1
  586. package/dist/bigconsole/modules/dashboard/index.d.ts +0 -1
  587. package/dist/bigconsole/modules/index.d.ts +0 -1
  588. package/dist/bigconsole/modules/renderer/index.d.ts +0 -1
  589. package/dist/bigconsole/modules/widget/index.d.ts +0 -1
  590. package/dist/bigconsole/pages/AdminPage.d.ts +0 -1
  591. package/dist/bigconsole/pages/AdminPage.js +0 -2
  592. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts +0 -1
  593. package/dist/bigconsole/pages/DashboardBuilderPage.js +0 -2
  594. package/dist/bigconsole/pages/DashboardViewPage.d.ts +0 -1
  595. package/dist/bigconsole/pages/DashboardViewPage.js +205 -207
  596. package/dist/bigconsole/pages/DashboardsPage.d.ts +0 -1
  597. package/dist/bigconsole/pages/DashboardsPage.js +0 -2
  598. package/dist/bigconsole/pages/DataParsersPage.d.ts +0 -1
  599. package/dist/bigconsole/pages/DataParsersPage.js +0 -2
  600. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts +0 -1
  601. package/dist/bigconsole/pages/DataSinkAlertsPage.js +0 -2
  602. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts +0 -1
  603. package/dist/bigconsole/pages/DataSinkBuilderPage.js +312 -282
  604. package/dist/bigconsole/pages/DataSinkViewPage.d.ts +0 -1
  605. package/dist/bigconsole/pages/DataSinkViewPage.js +256 -257
  606. package/dist/bigconsole/pages/DataSinksPage.d.ts +0 -1
  607. package/dist/bigconsole/pages/DataSinksPage.js +196 -197
  608. package/dist/bigconsole/pages/DataSourcesPage.d.ts +0 -1
  609. package/dist/bigconsole/pages/DataSourcesPage.js +0 -2
  610. package/dist/bigconsole/pages/InsightsPage.d.ts +0 -1
  611. package/dist/bigconsole/pages/InsightsPage.js +0 -2
  612. package/dist/bigconsole/pages/OverviewPage.d.ts +0 -1
  613. package/dist/bigconsole/pages/OverviewPage.js +0 -2
  614. package/dist/bigconsole/pages/ParserBuilderPage.d.ts +0 -1
  615. package/dist/bigconsole/pages/ParserBuilderPage.js +0 -2
  616. package/dist/bigconsole/pages/ParserViewPage.d.ts +0 -1
  617. package/dist/bigconsole/pages/ParserViewPage.js +0 -2
  618. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts +0 -1
  619. package/dist/bigconsole/pages/PipelineBuilderPage.js +0 -2
  620. package/dist/bigconsole/pages/PipelineViewPage.d.ts +0 -1
  621. package/dist/bigconsole/pages/PipelineViewPage.js +0 -2
  622. package/dist/bigconsole/pages/PipelinesPage.d.ts +0 -1
  623. package/dist/bigconsole/pages/PipelinesPage.js +0 -2
  624. package/dist/bigconsole/pages/SettingsPage.d.ts +0 -1
  625. package/dist/bigconsole/pages/SettingsPage.js +0 -2
  626. package/dist/bigconsole/pages/WidgetDemoPage.d.ts +0 -1
  627. package/dist/bigconsole/pages/WidgetDemoPage.js +0 -2
  628. package/dist/bigconsole/pages/WorkflowViewPage.d.ts +0 -1
  629. package/dist/bigconsole/pages/WorkflowViewPage.js +0 -2
  630. package/dist/bigconsole/pages/WorkflowsPage.d.ts +0 -1
  631. package/dist/bigconsole/pages/WorkflowsPage.js +0 -2
  632. package/dist/bigconsole/pages/index.d.ts +0 -1
  633. package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts +0 -1
  634. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +0 -2
  635. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts +0 -1
  636. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +235 -124
  637. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts +0 -1
  638. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js +0 -2
  639. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts +6 -2
  640. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +155 -157
  641. package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts +0 -1
  642. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +0 -2
  643. package/dist/bigconsole/renderers/adapters/adaptiveCardContent.d.ts +29 -0
  644. package/dist/bigconsole/renderers/adapters/adaptiveCardContent.js +51 -0
  645. package/dist/bigconsole/renderers/adapters/index.d.ts +0 -1
  646. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts +0 -1
  647. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js +0 -2
  648. package/dist/bigconsole/renderers/index.d.ts +0 -1
  649. package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts +0 -1
  650. package/dist/bigconsole/renderers/registry/RendererRegistry.js +0 -2
  651. package/dist/bigconsole/renderers/types/index.d.ts +0 -1
  652. package/dist/bigconsole/renderers/types/renderer.d.ts +0 -1
  653. package/dist/bigconsole/store/dashboardStore.d.ts +0 -1
  654. package/dist/bigconsole/store/dashboardStore.js +0 -2
  655. package/dist/bigconsole/store/dataSinkStore.d.ts +0 -1
  656. package/dist/bigconsole/store/dataSinkStore.js +0 -2
  657. package/dist/bigconsole/store/drilldownStore.d.ts +0 -1
  658. package/dist/bigconsole/store/drilldownStore.js +0 -2
  659. package/dist/bigconsole/store/index.d.ts +0 -1
  660. package/dist/bigconsole/store/parserStore.d.ts +0 -1
  661. package/dist/bigconsole/store/parserStore.js +0 -2
  662. package/dist/bigconsole/store/pipelineStore.d.ts +0 -1
  663. package/dist/bigconsole/store/pipelineStore.js +0 -2
  664. package/dist/bigconsole/store/widgetStore.d.ts +0 -1
  665. package/dist/bigconsole/store/widgetStore.js +0 -2
  666. package/dist/bigconsole/store/workflowStore.d.ts +0 -1
  667. package/dist/bigconsole/store/workflowStore.js +0 -2
  668. package/dist/bigconsole/types/index.d.ts +17 -3
  669. package/dist/bigconsole/utils/alertRules.d.ts +0 -1
  670. package/dist/bigconsole/utils/alertRules.js +0 -2
  671. package/dist/bigconsole/utils/backendError.d.ts +0 -1
  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/dataSinkPayload.d.ts +48 -0
  679. package/dist/bigconsole/utils/dataSinkPayload.js +38 -0
  680. package/dist/bigconsole/utils/drilldownParams.d.ts +0 -1
  681. package/dist/bigconsole/utils/drilldownParams.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 +2 -1
  685. package/dist/bigconsole/utils/quota.d.ts +0 -1
  686. package/dist/bigconsole/utils/quota.js +0 -2
  687. package/dist/bigconsole/utils/safeUrl.d.ts +79 -0
  688. package/dist/bigconsole/utils/safeUrl.js +93 -0
  689. package/dist/bigconsole/utils/sanitizeHtml.d.ts +16 -0
  690. package/dist/bigconsole/utils/sanitizeHtml.js +67 -0
  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/widgetPositioning.d.ts +0 -1
  698. package/dist/bigconsole/utils/widgetPositioning.js +0 -2
  699. package/dist/bigconsole/utils/widgetTypeMapping.d.ts +0 -1
  700. package/dist/bigconsole/utils/widgetTypeMapping.js +0 -2
  701. package/dist/bigconsole/workflowOpen.d.ts +0 -1
  702. package/dist/bigconsole/workflowOpen.js +0 -2
  703. package/dist/constants/permissions.d.ts +0 -1
  704. package/dist/constants/permissions.js +0 -2
  705. package/dist/generated/global-operations.d.ts +0 -1
  706. package/dist/generated/global-operations.js +0 -2
  707. package/dist/generated/global-types.d.ts +0 -1
  708. package/dist/generated/wspace-operations.d.ts +138 -9
  709. package/dist/generated/wspace-operations.js +281 -242
  710. package/dist/generated/wspace-types.d.ts +0 -1
  711. package/dist/generated/wspace-types.js +0 -2
  712. package/dist/index.d.ts +0 -1
  713. package/dist/node_modules/@e965/xlsx/xlsx.js +0 -2
  714. package/dist/node_modules/dompurify/dist/purify.es.js +800 -0
  715. package/dist/node_modules/pdfjs-dist/build/pdf.js +0 -2
  716. package/dist/shared/hooks/useTr.d.ts +0 -1
  717. package/dist/shared/hooks/useTr.js +0 -2
  718. package/dist/translations/en.d.ts +0 -1
  719. package/dist/utils/nativeBridge.d.ts +0 -1
  720. package/package.json +9 -4
  721. package/dist/bigconsole/AdminRoot.d.ts.map +0 -1
  722. package/dist/bigconsole/AdminRoot.js.map +0 -1
  723. package/dist/bigconsole/AdminRoutes.d.ts.map +0 -1
  724. package/dist/bigconsole/AdminRoutes.js.map +0 -1
  725. package/dist/bigconsole/BigConsoleRoot.d.ts.map +0 -1
  726. package/dist/bigconsole/BigConsoleRoot.js.map +0 -1
  727. package/dist/bigconsole/BigConsoleRoutes.d.ts.map +0 -1
  728. package/dist/bigconsole/BigConsoleRoutes.js.map +0 -1
  729. package/dist/bigconsole/assistant/assistantApi.d.ts.map +0 -1
  730. package/dist/bigconsole/assistant/assistantApi.js.map +0 -1
  731. package/dist/bigconsole/assistant/assistantProduct.d.ts.map +0 -1
  732. package/dist/bigconsole/assistant/assistantProduct.js.map +0 -1
  733. package/dist/bigconsole/assistant/assistantPrompt.d.ts.map +0 -1
  734. package/dist/bigconsole/assistant/assistantPrompt.js.map +0 -1
  735. package/dist/bigconsole/assistant/assistantRunPersistence.d.ts.map +0 -1
  736. package/dist/bigconsole/assistant/assistantRunPersistence.js.map +0 -1
  737. package/dist/bigconsole/assistant/assistantRunStore.d.ts.map +0 -1
  738. package/dist/bigconsole/assistant/assistantRunStore.js.map +0 -1
  739. package/dist/bigconsole/assistant/assistantRuntime.d.ts.map +0 -1
  740. package/dist/bigconsole/assistant/assistantRuntime.js.map +0 -1
  741. package/dist/bigconsole/assistant/attachmentExtract.d.ts.map +0 -1
  742. package/dist/bigconsole/assistant/attachmentExtract.js.map +0 -1
  743. package/dist/bigconsole/assistant/conversationHistoryApi.d.ts.map +0 -1
  744. package/dist/bigconsole/assistant/conversationHistoryApi.js.map +0 -1
  745. package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts.map +0 -1
  746. package/dist/bigconsole/assistant/createSandboxAssistantTransport.js.map +0 -1
  747. package/dist/bigconsole/assistant/index.d.ts.map +0 -1
  748. package/dist/bigconsole/assistant/modes.d.ts.map +0 -1
  749. package/dist/bigconsole/assistant/modes.js.map +0 -1
  750. package/dist/bigconsole/assistant/pageContext.d.ts.map +0 -1
  751. package/dist/bigconsole/assistant/pageContext.js.map +0 -1
  752. package/dist/bigconsole/assistant/previewController.d.ts.map +0 -1
  753. package/dist/bigconsole/assistant/previewController.js.map +0 -1
  754. package/dist/bigconsole/assistant/previewMutationResult.d.ts.map +0 -1
  755. package/dist/bigconsole/assistant/previewMutationResult.js.map +0 -1
  756. package/dist/bigconsole/assistant/previewRunAction.d.ts.map +0 -1
  757. package/dist/bigconsole/assistant/previewRunAction.js.map +0 -1
  758. package/dist/bigconsole/assistant/product.d.ts.map +0 -1
  759. package/dist/bigconsole/assistant/product.js.map +0 -1
  760. package/dist/bigconsole/assistant/recordAdapters.d.ts.map +0 -1
  761. package/dist/bigconsole/assistant/recordAdapters.js.map +0 -1
  762. package/dist/bigconsole/assistant/types.d.ts.map +0 -1
  763. package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts.map +0 -1
  764. package/dist/bigconsole/assistant/useAssistantRunWorkspace.js.map +0 -1
  765. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts.map +0 -1
  766. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js.map +0 -1
  767. package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts.map +0 -1
  768. package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +0 -1
  769. package/dist/bigconsole/components/DrilldownModal.d.ts.map +0 -1
  770. package/dist/bigconsole/components/DrilldownModal.js.map +0 -1
  771. package/dist/bigconsole/components/builder/BuilderCanvas.d.ts.map +0 -1
  772. package/dist/bigconsole/components/builder/BuilderCanvas.js.map +0 -1
  773. package/dist/bigconsole/components/builder/BuilderTopbar.d.ts.map +0 -1
  774. package/dist/bigconsole/components/builder/BuilderTopbar.js.map +0 -1
  775. package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts.map +0 -1
  776. package/dist/bigconsole/components/builder/DashboardEditorShell.js.map +0 -1
  777. package/dist/bigconsole/components/builder/WidgetInspector.d.ts.map +0 -1
  778. package/dist/bigconsole/components/builder/WidgetInspector.js.map +0 -1
  779. package/dist/bigconsole/components/builder/index.d.ts.map +0 -1
  780. package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts.map +0 -1
  781. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +0 -1
  782. package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts.map +0 -1
  783. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +0 -1
  784. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts.map +0 -1
  785. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +0 -1
  786. package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts.map +0 -1
  787. package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +0 -1
  788. package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts.map +0 -1
  789. package/dist/bigconsole/components/builder/inspector/LayoutSection.js.map +0 -1
  790. package/dist/bigconsole/components/builder/inspector/index.d.ts.map +0 -1
  791. package/dist/bigconsole/components/common/Section.d.ts.map +0 -1
  792. package/dist/bigconsole/components/common/Section.js.map +0 -1
  793. package/dist/bigconsole/components/common/index.d.ts.map +0 -1
  794. package/dist/bigconsole/components/common/sectionStyles.d.ts.map +0 -1
  795. package/dist/bigconsole/components/common/sectionStyles.js.map +0 -1
  796. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts.map +0 -1
  797. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +0 -1
  798. package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts.map +0 -1
  799. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +0 -1
  800. package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts.map +0 -1
  801. package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +0 -1
  802. package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts.map +0 -1
  803. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js.map +0 -1
  804. package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts.map +0 -1
  805. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +0 -1
  806. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts.map +0 -1
  807. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +0 -1
  808. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts.map +0 -1
  809. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +0 -1
  810. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts.map +0 -1
  811. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +0 -1
  812. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts.map +0 -1
  813. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +0 -1
  814. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts.map +0 -1
  815. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +0 -1
  816. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts.map +0 -1
  817. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +0 -1
  818. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts.map +0 -1
  819. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts.map +0 -1
  820. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +0 -1
  821. package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts.map +0 -1
  822. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +0 -1
  823. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts.map +0 -1
  824. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js.map +0 -1
  825. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts.map +0 -1
  826. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +0 -1
  827. package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts.map +0 -1
  828. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts.map +0 -1
  829. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +0 -1
  830. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts.map +0 -1
  831. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +0 -1
  832. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts.map +0 -1
  833. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts.map +0 -1
  834. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +0 -1
  835. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts.map +0 -1
  836. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +0 -1
  837. package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts.map +0 -1
  838. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts.map +0 -1
  839. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +0 -1
  840. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts.map +0 -1
  841. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js.map +0 -1
  842. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts.map +0 -1
  843. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js.map +0 -1
  844. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts.map +0 -1
  845. package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts.map +0 -1
  846. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts.map +0 -1
  847. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +0 -1
  848. package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts.map +0 -1
  849. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +0 -1
  850. package/dist/bigconsole/components/dashboard/index.d.ts.map +0 -1
  851. package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts.map +0 -1
  852. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js.map +0 -1
  853. package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts.map +0 -1
  854. package/dist/bigconsole/components/datasink/AlertRuleEditor.js.map +0 -1
  855. package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts.map +0 -1
  856. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +0 -1
  857. package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts.map +0 -1
  858. package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts.map +0 -1
  859. package/dist/bigconsole/components/datasink/DataSinkCard.d.ts.map +0 -1
  860. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +0 -1
  861. package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts.map +0 -1
  862. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +0 -1
  863. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts.map +0 -1
  864. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +0 -1
  865. package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts.map +0 -1
  866. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts.map +0 -1
  867. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +0 -1
  868. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts.map +0 -1
  869. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +0 -1
  870. package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts.map +0 -1
  871. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +0 -1
  872. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts.map +0 -1
  873. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +0 -1
  874. package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts.map +0 -1
  875. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts.map +0 -1
  876. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +0 -1
  877. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts.map +0 -1
  878. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +0 -1
  879. package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts.map +0 -1
  880. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +0 -1
  881. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts.map +0 -1
  882. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +0 -1
  883. package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts.map +0 -1
  884. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +0 -1
  885. package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts.map +0 -1
  886. package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +0 -1
  887. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts.map +0 -1
  888. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +0 -1
  889. package/dist/bigconsole/components/datasink/index.d.ts.map +0 -1
  890. package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts.map +0 -1
  891. package/dist/bigconsole/components/embed/EmbedErrorBoundary.js.map +0 -1
  892. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts.map +0 -1
  893. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js.map +0 -1
  894. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts.map +0 -1
  895. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js.map +0 -1
  896. package/dist/bigconsole/components/embed/drilldown.d.ts.map +0 -1
  897. package/dist/bigconsole/components/embed/drilldown.js.map +0 -1
  898. package/dist/bigconsole/components/embed/index.d.ts.map +0 -1
  899. package/dist/bigconsole/components/embed/renderer-manifest.d.ts.map +0 -1
  900. package/dist/bigconsole/components/embed/renderer-manifest.js.map +0 -1
  901. package/dist/bigconsole/components/embed/types.d.ts.map +0 -1
  902. package/dist/bigconsole/components/embed/types.js.map +0 -1
  903. package/dist/bigconsole/components/embed/validate.d.ts.map +0 -1
  904. package/dist/bigconsole/components/embed/validate.js.map +0 -1
  905. package/dist/bigconsole/components/embed/widgetShim.d.ts.map +0 -1
  906. package/dist/bigconsole/components/embed/widgetShim.js.map +0 -1
  907. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts.map +0 -1
  908. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js.map +0 -1
  909. package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts.map +0 -1
  910. package/dist/bigconsole/components/embed/widgets/ChartEmbed.js.map +0 -1
  911. package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts.map +0 -1
  912. package/dist/bigconsole/components/embed/widgets/EmbedFrame.js.map +0 -1
  913. package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts.map +0 -1
  914. package/dist/bigconsole/components/embed/widgets/FormEmbed.js.map +0 -1
  915. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts.map +0 -1
  916. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js.map +0 -1
  917. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts.map +0 -1
  918. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js.map +0 -1
  919. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts.map +0 -1
  920. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js.map +0 -1
  921. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts.map +0 -1
  922. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js.map +0 -1
  923. package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts.map +0 -1
  924. package/dist/bigconsole/components/embed/widgets/ListEmbed.js.map +0 -1
  925. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts.map +0 -1
  926. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js.map +0 -1
  927. package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts.map +0 -1
  928. package/dist/bigconsole/components/embed/widgets/PivotEmbed.js.map +0 -1
  929. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts.map +0 -1
  930. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js.map +0 -1
  931. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts.map +0 -1
  932. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js.map +0 -1
  933. package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts.map +0 -1
  934. package/dist/bigconsole/components/embed/widgets/TableEmbed.js.map +0 -1
  935. package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts.map +0 -1
  936. package/dist/bigconsole/components/embed/widgets/TextEmbed.js.map +0 -1
  937. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts.map +0 -1
  938. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js.map +0 -1
  939. package/dist/bigconsole/components/embed/widgets/shared.d.ts.map +0 -1
  940. package/dist/bigconsole/components/embed/widgets/shared.js.map +0 -1
  941. package/dist/bigconsole/components/overview/DashboardGuide.d.ts.map +0 -1
  942. package/dist/bigconsole/components/overview/DashboardGuide.js.map +0 -1
  943. package/dist/bigconsole/components/overview/DataHealthCard.d.ts.map +0 -1
  944. package/dist/bigconsole/components/overview/DataHealthCard.js.map +0 -1
  945. package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts.map +0 -1
  946. package/dist/bigconsole/components/overview/OverviewQuickActions.js.map +0 -1
  947. package/dist/bigconsole/components/overview/OverviewStatCard.d.ts.map +0 -1
  948. package/dist/bigconsole/components/overview/OverviewStatCard.js.map +0 -1
  949. package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts.map +0 -1
  950. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js.map +0 -1
  951. package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts.map +0 -1
  952. package/dist/bigconsole/components/overview/dashboardGuideSteps.js.map +0 -1
  953. package/dist/bigconsole/components/overview/index.d.ts.map +0 -1
  954. package/dist/bigconsole/components/overview/overviewModel.d.ts.map +0 -1
  955. package/dist/bigconsole/components/overview/overviewModel.js.map +0 -1
  956. package/dist/bigconsole/components/overview/useOverviewData.d.ts.map +0 -1
  957. package/dist/bigconsole/components/overview/useOverviewData.js.map +0 -1
  958. package/dist/bigconsole/components/parser/DataSinkSelector.d.ts.map +0 -1
  959. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +0 -1
  960. package/dist/bigconsole/components/parser/ExportParserDialog.d.ts.map +0 -1
  961. package/dist/bigconsole/components/parser/ExportParserDialog.js.map +0 -1
  962. package/dist/bigconsole/components/parser/ExpressionEditor.d.ts.map +0 -1
  963. package/dist/bigconsole/components/parser/ExpressionEditor.js.map +0 -1
  964. package/dist/bigconsole/components/parser/ImportParserDialog.d.ts.map +0 -1
  965. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +0 -1
  966. package/dist/bigconsole/components/parser/ParserBuilder.d.ts.map +0 -1
  967. package/dist/bigconsole/components/parser/ParserCard.d.ts.map +0 -1
  968. package/dist/bigconsole/components/parser/ParserCard.js.map +0 -1
  969. package/dist/bigconsole/components/parser/ParserFormDialog.d.ts.map +0 -1
  970. package/dist/bigconsole/components/parser/ParserSelector.d.ts.map +0 -1
  971. package/dist/bigconsole/components/parser/ParserSelector.js.map +0 -1
  972. package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts.map +0 -1
  973. package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +0 -1
  974. package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts.map +0 -1
  975. package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +0 -1
  976. package/dist/bigconsole/components/parser/TestPanel.d.ts.map +0 -1
  977. package/dist/bigconsole/components/parser/index.d.ts.map +0 -1
  978. package/dist/bigconsole/components/parser/parserFieldStyles.d.ts.map +0 -1
  979. package/dist/bigconsole/components/pipeline/PipelineCard.d.ts.map +0 -1
  980. package/dist/bigconsole/components/pipeline/PipelineCard.js.map +0 -1
  981. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts.map +0 -1
  982. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +0 -1
  983. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts.map +0 -1
  984. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js.map +0 -1
  985. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts.map +0 -1
  986. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +0 -1
  987. package/dist/bigconsole/components/pipeline/index.d.ts.map +0 -1
  988. package/dist/bigconsole/components/preview/AiPreviewContent.d.ts.map +0 -1
  989. package/dist/bigconsole/components/preview/AiPreviewContent.js.map +0 -1
  990. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts.map +0 -1
  991. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +0 -1
  992. package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts.map +0 -1
  993. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +0 -1
  994. package/dist/bigconsole/components/preview/parserPreview.d.ts.map +0 -1
  995. package/dist/bigconsole/components/preview/parserPreview.js.map +0 -1
  996. package/dist/bigconsole/components/preview/previewShared.d.ts.map +0 -1
  997. package/dist/bigconsole/components/preview/previewShared.js.map +0 -1
  998. package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts.map +0 -1
  999. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +0 -1
  1000. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts.map +0 -1
  1001. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +0 -1
  1002. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +0 -1
  1003. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +0 -1
  1004. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts.map +0 -1
  1005. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +0 -1
  1006. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts.map +0 -1
  1007. package/dist/bigconsole/components/widgets/WidgetHeader.js.map +0 -1
  1008. package/dist/bigconsole/components/widgets/WidgetMenu.d.ts.map +0 -1
  1009. package/dist/bigconsole/components/widgets/WidgetMenu.js.map +0 -1
  1010. package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts.map +0 -1
  1011. package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +0 -1
  1012. package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts.map +0 -1
  1013. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts.map +0 -1
  1014. package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +0 -1
  1015. package/dist/bigconsole/components/widgets/actionConfig.d.ts.map +0 -1
  1016. package/dist/bigconsole/components/widgets/actionConfig.js.map +0 -1
  1017. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts.map +0 -1
  1018. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +0 -1
  1019. package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts.map +0 -1
  1020. package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts.map +0 -1
  1021. package/dist/bigconsole/components/widgets/calendar/CalendarView.js.map +0 -1
  1022. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts.map +0 -1
  1023. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +0 -1
  1024. package/dist/bigconsole/components/widgets/calendar/index.d.ts.map +0 -1
  1025. package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts.map +0 -1
  1026. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +0 -1
  1027. package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts.map +0 -1
  1028. package/dist/bigconsole/components/widgets/chart/ChartLegend.js.map +0 -1
  1029. package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts.map +0 -1
  1030. package/dist/bigconsole/components/widgets/chart/ChartTooltip.js.map +0 -1
  1031. package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts.map +0 -1
  1032. package/dist/bigconsole/components/widgets/chart/ChartWidget.js.map +0 -1
  1033. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts.map +0 -1
  1034. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js.map +0 -1
  1035. package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts.map +0 -1
  1036. package/dist/bigconsole/components/widgets/chart/charts/BarChart.js.map +0 -1
  1037. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts.map +0 -1
  1038. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js.map +0 -1
  1039. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts.map +0 -1
  1040. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js.map +0 -1
  1041. package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts.map +0 -1
  1042. package/dist/bigconsole/components/widgets/chart/charts/LineChart.js.map +0 -1
  1043. package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts.map +0 -1
  1044. package/dist/bigconsole/components/widgets/chart/charts/PieChart.js.map +0 -1
  1045. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts.map +0 -1
  1046. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js.map +0 -1
  1047. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts.map +0 -1
  1048. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js.map +0 -1
  1049. package/dist/bigconsole/components/widgets/chart/charts/index.d.ts.map +0 -1
  1050. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts.map +0 -1
  1051. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js.map +0 -1
  1052. package/dist/bigconsole/components/widgets/chart/charts/types.d.ts.map +0 -1
  1053. package/dist/bigconsole/components/widgets/chart/index.d.ts.map +0 -1
  1054. package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts.map +0 -1
  1055. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +0 -1
  1056. package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts.map +0 -1
  1057. package/dist/bigconsole/components/widgets/custom/CustomWidget.js.map +0 -1
  1058. package/dist/bigconsole/components/widgets/custom/config.d.ts.map +0 -1
  1059. package/dist/bigconsole/components/widgets/custom/config.js.map +0 -1
  1060. package/dist/bigconsole/components/widgets/custom/index.d.ts.map +0 -1
  1061. package/dist/bigconsole/components/widgets/custom/utils.d.ts.map +0 -1
  1062. package/dist/bigconsole/components/widgets/custom/utils.js.map +0 -1
  1063. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts.map +0 -1
  1064. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +0 -1
  1065. package/dist/bigconsole/components/widgets/event-logs/index.d.ts.map +0 -1
  1066. package/dist/bigconsole/components/widgets/form/FormWidget.d.ts.map +0 -1
  1067. package/dist/bigconsole/components/widgets/form/FormWidget.js.map +0 -1
  1068. package/dist/bigconsole/components/widgets/form/index.d.ts.map +0 -1
  1069. package/dist/bigconsole/components/widgets/funnel/index.d.ts.map +0 -1
  1070. package/dist/bigconsole/components/widgets/funnel/index.js.map +0 -1
  1071. package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts.map +0 -1
  1072. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +0 -1
  1073. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts.map +0 -1
  1074. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +0 -1
  1075. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts.map +0 -1
  1076. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +0 -1
  1077. package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts.map +0 -1
  1078. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +0 -1
  1079. package/dist/bigconsole/components/widgets/gauge/index.d.ts.map +0 -1
  1080. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts.map +0 -1
  1081. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +0 -1
  1082. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts.map +0 -1
  1083. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js.map +0 -1
  1084. package/dist/bigconsole/components/widgets/heatmap/index.d.ts.map +0 -1
  1085. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts.map +0 -1
  1086. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +0 -1
  1087. package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts.map +0 -1
  1088. package/dist/bigconsole/components/widgets/index.d.ts.map +0 -1
  1089. package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts.map +0 -1
  1090. package/dist/bigconsole/components/widgets/kanban/KanbanView.js.map +0 -1
  1091. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts.map +0 -1
  1092. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +0 -1
  1093. package/dist/bigconsole/components/widgets/kanban/index.d.ts.map +0 -1
  1094. package/dist/bigconsole/components/widgets/kanban/model.d.ts.map +0 -1
  1095. package/dist/bigconsole/components/widgets/kanban/model.js.map +0 -1
  1096. package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts.map +0 -1
  1097. package/dist/bigconsole/components/widgets/kpi/KPIWidget.js.map +0 -1
  1098. package/dist/bigconsole/components/widgets/kpi/index.d.ts.map +0 -1
  1099. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts.map +0 -1
  1100. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +0 -1
  1101. package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts.map +0 -1
  1102. package/dist/bigconsole/components/widgets/list/ListConfig.d.ts.map +0 -1
  1103. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +0 -1
  1104. package/dist/bigconsole/components/widgets/list/ListItem.d.ts.map +0 -1
  1105. package/dist/bigconsole/components/widgets/list/ListItem.js.map +0 -1
  1106. package/dist/bigconsole/components/widgets/list/ListWidget.d.ts.map +0 -1
  1107. package/dist/bigconsole/components/widgets/list/ListWidget.js.map +0 -1
  1108. package/dist/bigconsole/components/widgets/list/index.d.ts.map +0 -1
  1109. package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts.map +0 -1
  1110. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +0 -1
  1111. package/dist/bigconsole/components/widgets/map-widget/index.d.ts.map +0 -1
  1112. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts.map +0 -1
  1113. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js.map +0 -1
  1114. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts.map +0 -1
  1115. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +0 -1
  1116. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts.map +0 -1
  1117. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +0 -1
  1118. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts.map +0 -1
  1119. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +0 -1
  1120. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts.map +0 -1
  1121. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +0 -1
  1122. package/dist/bigconsole/components/widgets/metric-card/index.d.ts.map +0 -1
  1123. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts.map +0 -1
  1124. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +0 -1
  1125. package/dist/bigconsole/components/widgets/pivot-table/index.d.ts.map +0 -1
  1126. package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts.map +0 -1
  1127. package/dist/bigconsole/components/widgets/progress/ProgressBar.js.map +0 -1
  1128. package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts.map +0 -1
  1129. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +0 -1
  1130. package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts.map +0 -1
  1131. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +0 -1
  1132. package/dist/bigconsole/components/widgets/progress/index.d.ts.map +0 -1
  1133. package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts.map +0 -1
  1134. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +0 -1
  1135. package/dist/bigconsole/components/widgets/retention/index.d.ts.map +0 -1
  1136. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts.map +0 -1
  1137. package/dist/bigconsole/components/widgets/states/EmptyState.js.map +0 -1
  1138. package/dist/bigconsole/components/widgets/states/ErrorState.d.ts.map +0 -1
  1139. package/dist/bigconsole/components/widgets/states/ErrorState.js.map +0 -1
  1140. package/dist/bigconsole/components/widgets/states/LoadingState.d.ts.map +0 -1
  1141. package/dist/bigconsole/components/widgets/states/LoadingState.js.map +0 -1
  1142. package/dist/bigconsole/components/widgets/states/index.d.ts.map +0 -1
  1143. package/dist/bigconsole/components/widgets/table/TableCell.d.ts.map +0 -1
  1144. package/dist/bigconsole/components/widgets/table/TableCell.js.map +0 -1
  1145. package/dist/bigconsole/components/widgets/table/TableConfig.d.ts.map +0 -1
  1146. package/dist/bigconsole/components/widgets/table/TableConfig.js.map +0 -1
  1147. package/dist/bigconsole/components/widgets/table/TableHeader.d.ts.map +0 -1
  1148. package/dist/bigconsole/components/widgets/table/TableHeader.js.map +0 -1
  1149. package/dist/bigconsole/components/widgets/table/TablePagination.d.ts.map +0 -1
  1150. package/dist/bigconsole/components/widgets/table/TablePagination.js.map +0 -1
  1151. package/dist/bigconsole/components/widgets/table/TableWidget.d.ts.map +0 -1
  1152. package/dist/bigconsole/components/widgets/table/TableWidget.js.map +0 -1
  1153. package/dist/bigconsole/components/widgets/table/cellLink.d.ts.map +0 -1
  1154. package/dist/bigconsole/components/widgets/table/cellLink.js.map +0 -1
  1155. package/dist/bigconsole/components/widgets/table/index.d.ts.map +0 -1
  1156. package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts.map +0 -1
  1157. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +0 -1
  1158. package/dist/bigconsole/components/widgets/text-widget/index.d.ts.map +0 -1
  1159. package/dist/bigconsole/components/widgets/text-widget/textData.d.ts.map +0 -1
  1160. package/dist/bigconsole/components/widgets/text-widget/textData.js.map +0 -1
  1161. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts.map +0 -1
  1162. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +0 -1
  1163. package/dist/bigconsole/components/widgets/timeline/index.d.ts.map +0 -1
  1164. package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts.map +0 -1
  1165. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +0 -1
  1166. package/dist/bigconsole/components/widgets/utils/inferFields.d.ts.map +0 -1
  1167. package/dist/bigconsole/components/widgets/utils/inferFields.js.map +0 -1
  1168. package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts.map +0 -1
  1169. package/dist/bigconsole/components/widgets/utils/targetProgress.js.map +0 -1
  1170. package/dist/bigconsole/components/widgets/utils/translate.d.ts.map +0 -1
  1171. package/dist/bigconsole/components/widgets/utils/translate.js.map +0 -1
  1172. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts.map +0 -1
  1173. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +0 -1
  1174. package/dist/bigconsole/components/widgets/webhook-config/index.d.ts.map +0 -1
  1175. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts.map +0 -1
  1176. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +0 -1
  1177. package/dist/bigconsole/components/widgets/widget-actions/index.d.ts.map +0 -1
  1178. package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts.map +0 -1
  1179. package/dist/bigconsole/components/workflow/WorkflowCard.d.ts.map +0 -1
  1180. package/dist/bigconsole/components/workflow/WorkflowCard.js.map +0 -1
  1181. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts.map +0 -1
  1182. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +0 -1
  1183. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts.map +0 -1
  1184. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js.map +0 -1
  1185. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts.map +0 -1
  1186. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js.map +0 -1
  1187. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts.map +0 -1
  1188. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js.map +0 -1
  1189. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts.map +0 -1
  1190. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +0 -1
  1191. package/dist/bigconsole/components/workflow/index.d.ts.map +0 -1
  1192. package/dist/bigconsole/constants/backendErrors.d.ts.map +0 -1
  1193. package/dist/bigconsole/constants.d.ts.map +0 -1
  1194. package/dist/bigconsole/constants.js.map +0 -1
  1195. package/dist/bigconsole/context/BigConsoleContext.d.ts.map +0 -1
  1196. package/dist/bigconsole/context/BigConsoleContext.js.map +0 -1
  1197. package/dist/bigconsole/context/index.d.ts.map +0 -1
  1198. package/dist/bigconsole/contexts/CrossFilterContext.d.ts.map +0 -1
  1199. package/dist/bigconsole/contexts/CrossFilterContext.js.map +0 -1
  1200. package/dist/bigconsole/contexts/NavigationContext.d.ts.map +0 -1
  1201. package/dist/bigconsole/contexts/NavigationContext.js.map +0 -1
  1202. package/dist/bigconsole/contexts/index.d.ts.map +0 -1
  1203. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts.map +0 -1
  1204. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +0 -1
  1205. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts.map +0 -1
  1206. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +0 -1
  1207. package/dist/bigconsole/customWidget/index.d.ts.map +0 -1
  1208. package/dist/bigconsole/customWidget/proposalContract.d.ts.map +0 -1
  1209. package/dist/bigconsole/customWidget/proposalContract.js.map +0 -1
  1210. package/dist/bigconsole/customWidget/proposalSource.d.ts.map +0 -1
  1211. package/dist/bigconsole/customWidget/proposalSource.js.map +0 -1
  1212. package/dist/bigconsole/graphql/apollo-compat.d.ts.map +0 -1
  1213. package/dist/bigconsole/graphql/storeTemplates.d.ts.map +0 -1
  1214. package/dist/bigconsole/graphql/storeTemplates.js.map +0 -1
  1215. package/dist/bigconsole/hooks/index.d.ts.map +0 -1
  1216. package/dist/bigconsole/hooks/useActivePage.d.ts.map +0 -1
  1217. package/dist/bigconsole/hooks/useActivePage.js.map +0 -1
  1218. package/dist/bigconsole/hooks/useAutoRefresh.d.ts.map +0 -1
  1219. package/dist/bigconsole/hooks/useAutoRefresh.js.map +0 -1
  1220. package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts.map +0 -1
  1221. package/dist/bigconsole/hooks/useBigConsoleAnalytics.js.map +0 -1
  1222. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts.map +0 -1
  1223. package/dist/bigconsole/hooks/useBigConsoleSettings.js.map +0 -1
  1224. package/dist/bigconsole/hooks/useCrossFilter.d.ts.map +0 -1
  1225. package/dist/bigconsole/hooks/useCrossFilter.js.map +0 -1
  1226. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts.map +0 -1
  1227. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js.map +0 -1
  1228. package/dist/bigconsole/hooks/useDashboardImageExport.d.ts.map +0 -1
  1229. package/dist/bigconsole/hooks/useDashboardImageExport.js.map +0 -1
  1230. package/dist/bigconsole/hooks/useDashboardOperations.d.ts.map +0 -1
  1231. package/dist/bigconsole/hooks/useDashboardOperations.js.map +0 -1
  1232. package/dist/bigconsole/hooks/useDashboardSharing.d.ts.map +0 -1
  1233. package/dist/bigconsole/hooks/useDashboardSharing.js.map +0 -1
  1234. package/dist/bigconsole/hooks/useDashboardTemplates.d.ts.map +0 -1
  1235. package/dist/bigconsole/hooks/useDashboardViews.d.ts.map +0 -1
  1236. package/dist/bigconsole/hooks/useDashboardViews.js.map +0 -1
  1237. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts.map +0 -1
  1238. package/dist/bigconsole/hooks/useDataSinkAlerts.js.map +0 -1
  1239. package/dist/bigconsole/hooks/useDataSinkOperations.d.ts.map +0 -1
  1240. package/dist/bigconsole/hooks/useDataSinkOperations.js.map +0 -1
  1241. package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts.map +0 -1
  1242. package/dist/bigconsole/hooks/useDataSinkSubscription.js.map +0 -1
  1243. package/dist/bigconsole/hooks/useDrilldown.d.ts.map +0 -1
  1244. package/dist/bigconsole/hooks/useDrilldown.js.map +0 -1
  1245. package/dist/bigconsole/hooks/useDrilldownOperations.d.ts.map +0 -1
  1246. package/dist/bigconsole/hooks/useDrilldownOperations.js.map +0 -1
  1247. package/dist/bigconsole/hooks/useEventLogs.d.ts.map +0 -1
  1248. package/dist/bigconsole/hooks/useEventLogs.js.map +0 -1
  1249. package/dist/bigconsole/hooks/useEventWebhooks.d.ts.map +0 -1
  1250. package/dist/bigconsole/hooks/useEventWebhooks.js.map +0 -1
  1251. package/dist/bigconsole/hooks/useExportDashboard.d.ts.map +0 -1
  1252. package/dist/bigconsole/hooks/useExportDashboard.js.map +0 -1
  1253. package/dist/bigconsole/hooks/useExportDataSink.d.ts.map +0 -1
  1254. package/dist/bigconsole/hooks/useExportDataSink.js.map +0 -1
  1255. package/dist/bigconsole/hooks/useExportParser.d.ts.map +0 -1
  1256. package/dist/bigconsole/hooks/useExportParser.js.map +0 -1
  1257. package/dist/bigconsole/hooks/useFilterPresets.d.ts.map +0 -1
  1258. package/dist/bigconsole/hooks/useFilterPresets.js.map +0 -1
  1259. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts.map +0 -1
  1260. package/dist/bigconsole/hooks/useFilterUrlSync.js.map +0 -1
  1261. package/dist/bigconsole/hooks/useGlobalFilters.d.ts.map +0 -1
  1262. package/dist/bigconsole/hooks/useGlobalFilters.js.map +0 -1
  1263. package/dist/bigconsole/hooks/useImportDashboard.d.ts.map +0 -1
  1264. package/dist/bigconsole/hooks/useImportDashboard.js.map +0 -1
  1265. package/dist/bigconsole/hooks/useImportDataSink.d.ts.map +0 -1
  1266. package/dist/bigconsole/hooks/useImportDataSink.js.map +0 -1
  1267. package/dist/bigconsole/hooks/useImportParser.d.ts.map +0 -1
  1268. package/dist/bigconsole/hooks/useImportParser.js.map +0 -1
  1269. package/dist/bigconsole/hooks/useInstalledWidgets.d.ts.map +0 -1
  1270. package/dist/bigconsole/hooks/useInstalledWidgets.js.map +0 -1
  1271. package/dist/bigconsole/hooks/useModalFocusTrap.d.ts.map +0 -1
  1272. package/dist/bigconsole/hooks/useModalFocusTrap.js.map +0 -1
  1273. package/dist/bigconsole/hooks/usePageOperations.d.ts.map +0 -1
  1274. package/dist/bigconsole/hooks/usePageOperations.js.map +0 -1
  1275. package/dist/bigconsole/hooks/useParserOperations.d.ts.map +0 -1
  1276. package/dist/bigconsole/hooks/useParserOperations.js.map +0 -1
  1277. package/dist/bigconsole/hooks/usePipelineOperations.d.ts.map +0 -1
  1278. package/dist/bigconsole/hooks/usePipelineOperations.js.map +0 -1
  1279. package/dist/bigconsole/hooks/useShareRecipients.d.ts.map +0 -1
  1280. package/dist/bigconsole/hooks/useShareRecipients.js.map +0 -1
  1281. package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts.map +0 -1
  1282. package/dist/bigconsole/hooks/useStoreDashboardTemplates.js.map +0 -1
  1283. package/dist/bigconsole/hooks/useWidgetActions.d.ts.map +0 -1
  1284. package/dist/bigconsole/hooks/useWidgetActions.js.map +0 -1
  1285. package/dist/bigconsole/hooks/useWidgetCatalog.d.ts.map +0 -1
  1286. package/dist/bigconsole/hooks/useWidgetCatalog.js.map +0 -1
  1287. package/dist/bigconsole/hooks/useWidgetComments.d.ts.map +0 -1
  1288. package/dist/bigconsole/hooks/useWidgetComments.js.map +0 -1
  1289. package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts.map +0 -1
  1290. package/dist/bigconsole/hooks/useWidgetConfigPersist.js.map +0 -1
  1291. package/dist/bigconsole/hooks/useWidgetData.d.ts.map +0 -1
  1292. package/dist/bigconsole/hooks/useWidgetData.js.map +0 -1
  1293. package/dist/bigconsole/hooks/useWidgetEvents.d.ts.map +0 -1
  1294. package/dist/bigconsole/hooks/useWidgetEvents.js.map +0 -1
  1295. package/dist/bigconsole/hooks/useWidgetExport.d.ts.map +0 -1
  1296. package/dist/bigconsole/hooks/useWidgetExport.js.map +0 -1
  1297. package/dist/bigconsole/hooks/useWidgetOperations.d.ts.map +0 -1
  1298. package/dist/bigconsole/hooks/useWidgetOperations.js.map +0 -1
  1299. package/dist/bigconsole/hooks/useWorkflowOperations.d.ts.map +0 -1
  1300. package/dist/bigconsole/hooks/useWorkflowOperations.js.map +0 -1
  1301. package/dist/bigconsole/index.d.ts.map +0 -1
  1302. package/dist/bigconsole/modules/dashboard/index.d.ts.map +0 -1
  1303. package/dist/bigconsole/modules/index.d.ts.map +0 -1
  1304. package/dist/bigconsole/modules/renderer/index.d.ts.map +0 -1
  1305. package/dist/bigconsole/modules/widget/index.d.ts.map +0 -1
  1306. package/dist/bigconsole/pages/AdminPage.d.ts.map +0 -1
  1307. package/dist/bigconsole/pages/AdminPage.js.map +0 -1
  1308. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +0 -1
  1309. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +0 -1
  1310. package/dist/bigconsole/pages/DashboardViewPage.d.ts.map +0 -1
  1311. package/dist/bigconsole/pages/DashboardViewPage.js.map +0 -1
  1312. package/dist/bigconsole/pages/DashboardsPage.d.ts.map +0 -1
  1313. package/dist/bigconsole/pages/DashboardsPage.js.map +0 -1
  1314. package/dist/bigconsole/pages/DataParsersPage.d.ts.map +0 -1
  1315. package/dist/bigconsole/pages/DataParsersPage.js.map +0 -1
  1316. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +0 -1
  1317. package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +0 -1
  1318. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +0 -1
  1319. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +0 -1
  1320. package/dist/bigconsole/pages/DataSinkViewPage.d.ts.map +0 -1
  1321. package/dist/bigconsole/pages/DataSinkViewPage.js.map +0 -1
  1322. package/dist/bigconsole/pages/DataSinksPage.d.ts.map +0 -1
  1323. package/dist/bigconsole/pages/DataSinksPage.js.map +0 -1
  1324. package/dist/bigconsole/pages/DataSourcesPage.d.ts.map +0 -1
  1325. package/dist/bigconsole/pages/DataSourcesPage.js.map +0 -1
  1326. package/dist/bigconsole/pages/InsightsPage.d.ts.map +0 -1
  1327. package/dist/bigconsole/pages/InsightsPage.js.map +0 -1
  1328. package/dist/bigconsole/pages/OverviewPage.d.ts.map +0 -1
  1329. package/dist/bigconsole/pages/OverviewPage.js.map +0 -1
  1330. package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +0 -1
  1331. package/dist/bigconsole/pages/ParserBuilderPage.js.map +0 -1
  1332. package/dist/bigconsole/pages/ParserViewPage.d.ts.map +0 -1
  1333. package/dist/bigconsole/pages/ParserViewPage.js.map +0 -1
  1334. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +0 -1
  1335. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +0 -1
  1336. package/dist/bigconsole/pages/PipelineViewPage.d.ts.map +0 -1
  1337. package/dist/bigconsole/pages/PipelineViewPage.js.map +0 -1
  1338. package/dist/bigconsole/pages/PipelinesPage.d.ts.map +0 -1
  1339. package/dist/bigconsole/pages/PipelinesPage.js.map +0 -1
  1340. package/dist/bigconsole/pages/SettingsPage.d.ts.map +0 -1
  1341. package/dist/bigconsole/pages/SettingsPage.js.map +0 -1
  1342. package/dist/bigconsole/pages/WidgetDemoPage.d.ts.map +0 -1
  1343. package/dist/bigconsole/pages/WidgetDemoPage.js.map +0 -1
  1344. package/dist/bigconsole/pages/WorkflowViewPage.d.ts.map +0 -1
  1345. package/dist/bigconsole/pages/WorkflowViewPage.js.map +0 -1
  1346. package/dist/bigconsole/pages/WorkflowsPage.d.ts.map +0 -1
  1347. package/dist/bigconsole/pages/WorkflowsPage.js.map +0 -1
  1348. package/dist/bigconsole/pages/index.d.ts.map +0 -1
  1349. package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts.map +0 -1
  1350. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js.map +0 -1
  1351. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts.map +0 -1
  1352. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +0 -1
  1353. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts.map +0 -1
  1354. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js.map +0 -1
  1355. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts.map +0 -1
  1356. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +0 -1
  1357. package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts.map +0 -1
  1358. package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +0 -1
  1359. package/dist/bigconsole/renderers/adapters/index.d.ts.map +0 -1
  1360. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts.map +0 -1
  1361. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js.map +0 -1
  1362. package/dist/bigconsole/renderers/index.d.ts.map +0 -1
  1363. package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts.map +0 -1
  1364. package/dist/bigconsole/renderers/registry/RendererRegistry.js.map +0 -1
  1365. package/dist/bigconsole/renderers/types/index.d.ts.map +0 -1
  1366. package/dist/bigconsole/renderers/types/renderer.d.ts.map +0 -1
  1367. package/dist/bigconsole/store/dashboardStore.d.ts.map +0 -1
  1368. package/dist/bigconsole/store/dashboardStore.js.map +0 -1
  1369. package/dist/bigconsole/store/dataSinkStore.d.ts.map +0 -1
  1370. package/dist/bigconsole/store/dataSinkStore.js.map +0 -1
  1371. package/dist/bigconsole/store/drilldownStore.d.ts.map +0 -1
  1372. package/dist/bigconsole/store/drilldownStore.js.map +0 -1
  1373. package/dist/bigconsole/store/index.d.ts.map +0 -1
  1374. package/dist/bigconsole/store/parserStore.d.ts.map +0 -1
  1375. package/dist/bigconsole/store/parserStore.js.map +0 -1
  1376. package/dist/bigconsole/store/pipelineStore.d.ts.map +0 -1
  1377. package/dist/bigconsole/store/pipelineStore.js.map +0 -1
  1378. package/dist/bigconsole/store/widgetStore.d.ts.map +0 -1
  1379. package/dist/bigconsole/store/widgetStore.js.map +0 -1
  1380. package/dist/bigconsole/store/workflowStore.d.ts.map +0 -1
  1381. package/dist/bigconsole/store/workflowStore.js.map +0 -1
  1382. package/dist/bigconsole/types/index.d.ts.map +0 -1
  1383. package/dist/bigconsole/utils/alertRules.d.ts.map +0 -1
  1384. package/dist/bigconsole/utils/alertRules.js.map +0 -1
  1385. package/dist/bigconsole/utils/backendError.d.ts.map +0 -1
  1386. package/dist/bigconsole/utils/createDialogParam.d.ts.map +0 -1
  1387. package/dist/bigconsole/utils/createDialogParam.js.map +0 -1
  1388. package/dist/bigconsole/utils/csv.d.ts.map +0 -1
  1389. package/dist/bigconsole/utils/csv.js.map +0 -1
  1390. package/dist/bigconsole/utils/dashboardTemplateContent.d.ts.map +0 -1
  1391. package/dist/bigconsole/utils/dashboardTemplateContent.js.map +0 -1
  1392. package/dist/bigconsole/utils/drilldownParams.d.ts.map +0 -1
  1393. package/dist/bigconsole/utils/drilldownParams.js.map +0 -1
  1394. package/dist/bigconsole/utils/format.d.ts.map +0 -1
  1395. package/dist/bigconsole/utils/format.js.map +0 -1
  1396. package/dist/bigconsole/utils/index.d.ts.map +0 -1
  1397. package/dist/bigconsole/utils/quota.d.ts.map +0 -1
  1398. package/dist/bigconsole/utils/quota.js.map +0 -1
  1399. package/dist/bigconsole/utils/semanticTokens.d.ts.map +0 -1
  1400. package/dist/bigconsole/utils/semanticTokens.js.map +0 -1
  1401. package/dist/bigconsole/utils/templateInstallInputs.d.ts.map +0 -1
  1402. package/dist/bigconsole/utils/templateInstallInputs.js.map +0 -1
  1403. package/dist/bigconsole/utils/widgetBinding.d.ts.map +0 -1
  1404. package/dist/bigconsole/utils/widgetBinding.js.map +0 -1
  1405. package/dist/bigconsole/utils/widgetPositioning.d.ts.map +0 -1
  1406. package/dist/bigconsole/utils/widgetPositioning.js.map +0 -1
  1407. package/dist/bigconsole/utils/widgetTypeMapping.d.ts.map +0 -1
  1408. package/dist/bigconsole/utils/widgetTypeMapping.js.map +0 -1
  1409. package/dist/bigconsole/workflowOpen.d.ts.map +0 -1
  1410. package/dist/bigconsole/workflowOpen.js.map +0 -1
  1411. package/dist/constants/permissions.d.ts.map +0 -1
  1412. package/dist/constants/permissions.js.map +0 -1
  1413. package/dist/generated/global-operations.d.ts.map +0 -1
  1414. package/dist/generated/global-operations.js.map +0 -1
  1415. package/dist/generated/global-types.d.ts.map +0 -1
  1416. package/dist/generated/wspace-operations.d.ts.map +0 -1
  1417. package/dist/generated/wspace-operations.js.map +0 -1
  1418. package/dist/generated/wspace-types.d.ts.map +0 -1
  1419. package/dist/generated/wspace-types.js.map +0 -1
  1420. package/dist/index.d.ts.map +0 -1
  1421. package/dist/node_modules/@e965/xlsx/xlsx.js.map +0 -1
  1422. package/dist/node_modules/pdfjs-dist/build/pdf.js.map +0 -1
  1423. package/dist/shared/hooks/useTr.d.ts.map +0 -1
  1424. package/dist/shared/hooks/useTr.js.map +0 -1
  1425. package/dist/stories/DashboardGuide.stories.d.ts +0 -15
  1426. package/dist/stories/DashboardGuide.stories.d.ts.map +0 -1
  1427. package/dist/stories/DataSinkStatusBadge.stories.d.ts +0 -12
  1428. package/dist/stories/DataSinkStatusBadge.stories.d.ts.map +0 -1
  1429. package/dist/stories/GaugeWidget.stories.d.ts +0 -58
  1430. package/dist/stories/GaugeWidget.stories.d.ts.map +0 -1
  1431. package/dist/stories/KPIComparisonWidget.stories.d.ts +0 -76
  1432. package/dist/stories/KPIComparisonWidget.stories.d.ts.map +0 -1
  1433. package/dist/stories/LiveCanvasToggle.stories.d.ts +0 -9
  1434. package/dist/stories/LiveCanvasToggle.stories.d.ts.map +0 -1
  1435. package/dist/stories/MetricCardWidget.stories.d.ts +0 -88
  1436. package/dist/stories/MetricCardWidget.stories.d.ts.map +0 -1
  1437. package/dist/stories/ProgressWidget.stories.d.ts +0 -48
  1438. package/dist/stories/ProgressWidget.stories.d.ts.map +0 -1
  1439. package/dist/stories/SetupStateBadge.stories.d.ts +0 -12
  1440. package/dist/stories/SetupStateBadge.stories.d.ts.map +0 -1
  1441. package/dist/translations/en.d.ts.map +0 -1
  1442. package/dist/utils/nativeBridge.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"WidgetDemoPage.js","names":[],"sources":["../../../src/bigconsole/pages/WidgetDemoPage.tsx"],"sourcesContent":["/**\n * WidgetDemoPage\n *\n * Demonstrates all 18 widget types.\n * Widgets show empty states when no real data is available.\n * Connect a DataSink + Parser pipeline for real data processing.\n *\n * Section emphasis (BOFF-5636): the gallery is the one block this route exists\n * for, so it carries `primary`. The page-identity strip and the footer stat line\n * are structural (`bare` / `muted`) and the categories inside the gallery are\n * `bare` sub-sections, which gives the eye a ladder — page → gallery → category\n * → card — instead of eighteen equal rectangles.\n */\n\nimport { type FC, useState, useMemo } from 'react';\nimport { Button, IllustratedEmptyState, PagePurpose } from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useAppNavigate } from '../contexts';\nimport type { Widget, WidgetCategory } from '../types';\nimport { WidgetWrapper } from '../components/widgets';\nimport { WIDGET_CATEGORY_LABELS } from '../components/widgets/WidgetRegistry';\nimport { Section, SectionStack, sectionSurfaceClasses } from '../components/common';\n\n// Widget type string literals\ntype WidgetType =\n | 'metric_card'\n | 'kpi_card_comparison'\n | 'chart'\n | 'funnel_chart'\n | 'table'\n | 'pivot_table'\n | 'gauge'\n | 'progress'\n | 'list'\n | 'form'\n | 'text'\n | 'iframe'\n | 'map'\n | 'heatmap'\n | 'calendar'\n | 'kanban'\n | 'timeline'\n | 'custom';\n\n// ============================================================================\n// Widget Types for Demo\n// ============================================================================\n\ninterface DemoWidgetDef {\n type: WidgetType;\n title: string;\n /** i18n key for the widget title shown on the demo card. */\n titleKey: string;\n description: string;\n /** i18n key for the one-line description under the card header. */\n descriptionKey: string;\n /** Grouping used by the gallery headings — mirrors the registry categories. */\n category: WidgetCategory;\n}\n\nconst WIDGET_TYPES: DemoWidgetDef[] = [\n {\n type: 'metric_card',\n title: 'Metric Card',\n titleKey: 'bigconsole.widgetDemo.type.metricCard.title',\n description: 'Single metric with trend and sparkline',\n descriptionKey: 'bigconsole.widgetDemo.type.metricCard.description',\n category: 'KPI',\n },\n {\n type: 'kpi_card_comparison',\n title: 'KPI Card Comparison',\n titleKey: 'bigconsole.widgetDemo.type.kpiCardComparison.title',\n description: 'Multiple KPIs with comparisons',\n descriptionKey: 'bigconsole.widgetDemo.type.kpiCardComparison.description',\n category: 'KPI',\n },\n {\n type: 'gauge',\n title: 'Gauge',\n titleKey: 'bigconsole.widgetDemo.type.gauge.title',\n description: 'Circular/linear gauge with thresholds',\n descriptionKey: 'bigconsole.widgetDemo.type.gauge.description',\n category: 'KPI',\n },\n {\n type: 'progress',\n title: 'Progress',\n titleKey: 'bigconsole.widgetDemo.type.progress.title',\n description: 'Progress bar with milestones',\n descriptionKey: 'bigconsole.widgetDemo.type.progress.description',\n category: 'KPI',\n },\n {\n type: 'chart',\n title: 'Chart (Line/Bar/Area)',\n titleKey: 'bigconsole.widgetDemo.type.chart.title',\n description: 'Time-series data visualization',\n descriptionKey: 'bigconsole.widgetDemo.type.chart.description',\n category: 'Visualization',\n },\n {\n type: 'funnel_chart',\n title: 'Funnel Chart',\n titleKey: 'bigconsole.widgetDemo.type.funnelChart.title',\n description: 'Conversion funnel with stages',\n descriptionKey: 'bigconsole.widgetDemo.type.funnelChart.description',\n category: 'Visualization',\n },\n {\n type: 'heatmap',\n title: 'Heatmap',\n titleKey: 'bigconsole.widgetDemo.type.heatmap.title',\n description: 'Grid visualization with color intensity',\n descriptionKey: 'bigconsole.widgetDemo.type.heatmap.description',\n category: 'Visualization',\n },\n {\n type: 'map',\n title: 'Map',\n titleKey: 'bigconsole.widgetDemo.type.map.title',\n description: 'Geographic data with markers',\n descriptionKey: 'bigconsole.widgetDemo.type.map.description',\n category: 'Visualization',\n },\n {\n type: 'table',\n title: 'Table',\n titleKey: 'bigconsole.widgetDemo.type.table.title',\n description: 'Data table with sort/filter/pagination',\n descriptionKey: 'bigconsole.widgetDemo.type.table.description',\n category: 'Data',\n },\n {\n type: 'pivot_table',\n title: 'Pivot Table',\n titleKey: 'bigconsole.widgetDemo.type.pivotTable.title',\n description: 'Multi-dimensional data analysis',\n descriptionKey: 'bigconsole.widgetDemo.type.pivotTable.description',\n category: 'Data',\n },\n {\n type: 'list',\n title: 'List',\n titleKey: 'bigconsole.widgetDemo.type.list.title',\n description: 'Scrollable list with items',\n descriptionKey: 'bigconsole.widgetDemo.type.list.description',\n category: 'Data',\n },\n {\n type: 'form',\n title: 'Form (Adaptive Card)',\n titleKey: 'bigconsole.widgetDemo.type.form.title',\n description: 'Interactive form with inputs',\n descriptionKey: 'bigconsole.widgetDemo.type.form.description',\n category: 'Content',\n },\n {\n type: 'text',\n title: 'Text (Markdown)',\n titleKey: 'bigconsole.widgetDemo.type.text.title',\n description: 'Rich text with markdown support',\n descriptionKey: 'bigconsole.widgetDemo.type.text.description',\n category: 'Content',\n },\n {\n type: 'iframe',\n title: 'iFrame',\n titleKey: 'bigconsole.widgetDemo.type.iframe.title',\n description: 'Embedded external content',\n descriptionKey: 'bigconsole.widgetDemo.type.iframe.description',\n category: 'Content',\n },\n {\n type: 'calendar',\n title: 'Calendar',\n titleKey: 'bigconsole.widgetDemo.type.calendar.title',\n description: 'Event calendar view',\n descriptionKey: 'bigconsole.widgetDemo.type.calendar.description',\n category: 'Temporal',\n },\n {\n type: 'kanban',\n title: 'Kanban',\n titleKey: 'bigconsole.widgetDemo.type.kanban.title',\n description: 'Task board with columns',\n descriptionKey: 'bigconsole.widgetDemo.type.kanban.description',\n category: 'Temporal',\n },\n {\n type: 'timeline',\n title: 'Timeline (Gantt)',\n titleKey: 'bigconsole.widgetDemo.type.timeline.title',\n description: 'Project timeline with tasks',\n descriptionKey: 'bigconsole.widgetDemo.type.timeline.description',\n category: 'Temporal',\n },\n {\n type: 'custom',\n title: 'Custom',\n titleKey: 'bigconsole.widgetDemo.type.custom.title',\n description: 'User-defined widget rendering',\n descriptionKey: 'bigconsole.widgetDemo.type.custom.description',\n category: 'Custom',\n },\n];\n\n/** Order the gallery renders its groups in. */\nconst CATEGORY_ORDER: WidgetCategory[] = ['KPI', 'Visualization', 'Data', 'Content', 'Temporal', 'Custom'];\n\n/** One line per group, so a heading is never a bare word. */\nconst CATEGORY_BLURBS: Partial<Record<WidgetCategory, string>> = {\n KPI: 'Single-number widgets for a headline figure and how it is trending.',\n Visualization: 'Chart widgets for comparing series, stages and distributions.',\n Data: 'Row-and-column widgets for browsing records in detail.',\n Content: 'Widgets that carry prose, forms or an embedded page.',\n Temporal: 'Widgets organised by date, schedule or workflow stage.',\n Custom: 'Widgets whose body you define yourself.',\n};\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const WidgetDemoPage: FC = () => {\n const { t } = useI18n();\n const navigate = useAppNavigate();\n const [filter, setFilter] = useState('');\n const [viewMode, setViewMode] = useState<'grid' | 'list'>('grid');\n\n // Generate demo widgets from all types\n const demoWidgets = useMemo(() => {\n const filtered = filter\n ? WIDGET_TYPES.filter((w) =>\n [w.type, t(w.titleKey, w.title), t(w.descriptionKey, w.description)].some((value) =>\n value.toLowerCase().includes(filter.trim().toLowerCase())\n )\n )\n : WIDGET_TYPES;\n\n return filtered.map((widgetDef, index): Widget => ({\n id: `demo-${widgetDef.type}`,\n pageId: 'demo-page',\n dashboardId: 'demo-dashboard',\n type: widgetDef.type,\n title: t(widgetDef.titleKey, widgetDef.title),\n // No data source - widgets show empty state until connected to DataSink\n config: {},\n position: {\n x: (index % 3) * 4,\n y: Math.floor(index / 3) * 4,\n width: 4,\n height: 4,\n },\n positionX: (index % 3) * 4,\n positionY: Math.floor(index / 3) * 4,\n positionWidth: 4,\n positionHeight: 4,\n refreshInterval: undefined,\n lastRefreshedAt: undefined,\n metadata: { description: t(widgetDef.descriptionKey, widgetDef.description) },\n context: {},\n translations: [],\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n }));\n }, [filter, t]);\n\n // Group the visible widgets so the gallery reads as labelled families rather\n // than a flat wall of same-weight cards.\n const groups = useMemo(() => {\n const byCategory = new Map<WidgetCategory, Widget[]>();\n for (const widget of demoWidgets) {\n const def = WIDGET_TYPES.find((w) => w.type === widget.type);\n if (!def) continue;\n const bucket = byCategory.get(def.category);\n if (bucket) bucket.push(widget);\n else byCategory.set(def.category, [widget]);\n }\n return CATEGORY_ORDER.filter((category) => (byCategory.get(category)?.length ?? 0) > 0).map((category) => ({\n category,\n label: WIDGET_CATEGORY_LABELS[category],\n blurb: CATEGORY_BLURBS[category],\n widgets: byCategory.get(category) ?? [],\n }));\n }, [demoWidgets]);\n\n const gridClassName =\n viewMode === 'grid' ? 'grid grid-cols-1 gap-form-gap sm:grid-cols-2 xl:grid-cols-3' : 'flex flex-col gap-form-gap';\n\n return (\n <div className=\"flex h-full min-w-0 flex-col bg-bg-canvas\">\n {/*\n Page identity + controls — a `bare` structural strip. It supplies the\n page `h1` itself, so it uses the emphasis recipe directly rather than\n `<Section title=…>`, which would render a second heading.\n */}\n <section\n aria-label=\"Widget demo header\"\n className={`${sectionSurfaceClasses('bare', 'neutral', 'none')} flex-shrink-0 border-b border-[var(--color-border-subtle)] bg-bg-surface px-4 py-3 sm:px-6 sm:py-4`}\n >\n <div className=\"flex flex-col gap-control-gap lg:flex-row lg:items-center lg:justify-between\">\n <div className=\"min-w-0\">\n <h1 className=\"text-xl font-semibold text-text-primary\">\n {t('bigconsole.widgetDemo.header.title', 'Widget Demo')}\n </h1>\n <p className=\"mt-1 text-sm text-text-secondary\">\n {t('bigconsole.widgetDemo.header.subtitle', 'All 18 widget types - connect a DataSink for real data')}\n </p>\n </div>\n\n <div className=\"flex flex-wrap items-center gap-control-gap\">\n {/* Search Filter */}\n <div className=\"relative min-w-0 flex-1 sm:flex-none\">\n <label htmlFor=\"widget-demo-filter\" className=\"sr-only\">\n Filter widget types\n </label>\n <input\n id=\"widget-demo-filter\"\n type=\"text\"\n placeholder={t('bigconsole.widgetDemo.filter.placeholder', 'Filter widgets...')}\n value={filter}\n onChange={(e) => setFilter(e.target.value)}\n className=\"h-control-md w-full min-w-0 rounded-input border border-[var(--color-border-subtle)] bg-bg-sunken py-2 pl-[3.25rem] pr-3 text-sm text-text-primary placeholder:text-text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface sm:w-64\"\n />\n <svg\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute left-3 top-1/2 h-icon-sm w-icon-sm -translate-y-1/2 text-text-secondary\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"\n />\n </svg>\n </div>\n\n {/* View Toggle */}\n <div\n className=\"flex shrink-0 items-center gap-1 rounded-button bg-bg-sunken p-1\"\n role=\"group\"\n aria-label=\"Gallery layout\"\n >\n <button\n type=\"button\"\n onClick={() => setViewMode('grid')}\n aria-pressed={viewMode === 'grid'}\n className={`min-h-control-md rounded-button px-3 text-sm font-medium motion-safe:transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${\n viewMode === 'grid'\n ? 'bg-bg-surface text-text-primary shadow-[var(--shadow-elevation-1)]'\n : 'text-text-secondary hover:text-text-primary'\n }`}\n >\n {t('bigconsole.widgetDemo.viewToggle.grid', 'Grid')}\n </button>\n <button\n type=\"button\"\n onClick={() => setViewMode('list')}\n aria-pressed={viewMode === 'list'}\n className={`min-h-control-md rounded-button px-3 text-sm font-medium motion-safe:transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${\n viewMode === 'list'\n ? 'bg-bg-surface text-text-primary shadow-[var(--shadow-elevation-1)]'\n : 'text-text-secondary hover:text-text-primary'\n }`}\n >\n {t('bigconsole.widgetDemo.viewToggle.list', 'List')}\n </button>\n </div>\n <Button variant=\"secondary\" onClick={() => navigate('/dashboards')}>\n {t('bigconsole.widgetDemo.openDashboards', 'Open dashboards')}\n </Button>\n </div>\n </div>\n </section>\n\n {/* Scroll region */}\n <div className=\"min-w-0 flex-1 overflow-y-auto overflow-x-hidden p-4 sm:p-6\">\n <SectionStack>\n <section\n aria-label=\"What this gallery is for\"\n className={sectionSurfaceClasses('muted', 'neutral', 'compact')}\n >\n <PagePurpose>\n {t(\n 'bigconsole.widgetDemo.pagePurpose',\n 'This gallery previews every widget type BigConsole can render on a dashboard — metrics, charts, tables, maps, kanban boards and more. Use it to see what each widget looks like and pick the right one before wiring it to a real DataSink in the dashboard builder.'\n )}\n </PagePurpose>\n </section>\n\n {groups.length > 0 && (\n <Section\n emphasis=\"primary\"\n headingLevel={2}\n title=\"Widget gallery\"\n description=\"Every widget renders its unconnected state here — the card chrome, header and empty copy are exactly what a dashboard will show before a DataSink is bound.\"\n meta={\n <span className=\"rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary\">\n {demoWidgets.length} of {WIDGET_TYPES.length}\n </span>\n }\n >\n <div className=\"flex flex-col gap-section-gap\">\n {groups.map((group) => (\n <Section\n key={group.category}\n emphasis=\"bare\"\n padding=\"none\"\n headingLevel={3}\n title={group.label}\n description={group.blurb}\n meta={\n <span className=\"text-xs font-medium text-text-muted\">\n {group.widgets.length} {group.widgets.length === 1 ? 'type' : 'types'}\n </span>\n }\n >\n <div className={gridClassName}>\n {group.widgets.map((widget) => {\n const widgetDef = WIDGET_TYPES.find((w) => w.type === widget.type);\n return (\n <figure\n key={widget.id}\n className={`m-0 flex min-w-0 flex-col ${viewMode === 'grid' ? 'h-80' : 'h-64'}`}\n >\n <figcaption className=\"mb-2 flex flex-shrink-0 flex-wrap items-baseline gap-x-2 gap-y-0.5 text-xs text-text-secondary\">\n <span>\n {t('bigconsole.widgetDemo.widgetCard.typeLabel', 'Type:')}{' '}\n <code className=\"font-mono text-text-link\">{widget.type}</code>\n </span>\n {widgetDef && (\n <span className=\"text-text-muted\">\n {t(widgetDef.descriptionKey, widgetDef.description)}\n </span>\n )}\n </figcaption>\n <div className=\"min-h-0 min-w-0 flex-1\">\n <WidgetWrapper previewOnly widget={widget} />\n </div>\n </figure>\n );\n })}\n </div>\n </Section>\n ))}\n </div>\n </Section>\n )}\n\n {/* Empty State */}\n {demoWidgets.length === 0 && (\n <Section\n emphasis=\"standard\"\n tone=\"info\"\n title={t('bigconsole.widgetDemo.emptyState.title', 'No widgets match your filter')}\n headingLevel={2}\n data-testid=\"widget-demo-empty\"\n >\n {/*\n The section heading is the empty state's title, so the inner\n state carries the next step instead of repeating it verbatim.\n */}\n <IllustratedEmptyState\n illustration=\"empty-search\"\n title={t(\n 'bigconsole.widgetDemo.emptyState.description',\n 'Try a different search term to preview a widget type.'\n )}\n description=\"The filter matches a widget's name and its one-line description.\"\n />\n </Section>\n )}\n </SectionStack>\n </div>\n\n {/* Footer stats — supporting detail, deliberately lighter than the header strip */}\n <section\n aria-label=\"Gallery summary\"\n className={`${sectionSurfaceClasses('bare', 'neutral', 'none')} flex-shrink-0 border-t border-[var(--color-border-subtle)] bg-bg-sunken px-4 py-2 sm:px-6`}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-x-4 gap-y-1 text-xs text-text-secondary\">\n <span>\n {t('bigconsole.widgetDemo.footer.showing', 'Showing {{shown}} of {{total}} widget types', {\n shown: demoWidgets.length,\n total: WIDGET_TYPES.length,\n })}\n </span>\n <span className=\"text-text-muted\">\n {t('bigconsole.widgetDemo.footer.hint', 'Widgets show empty state until connected to DataSink + Parser')}\n </span>\n </div>\n </section>\n </div>\n );\n};\n\nexport default WidgetDemoPage;\n"],"mappings":";;;;;;;;;;;;;AA4DA,IAAM,IAAgC;CACpC;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;C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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkflowViewPage.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/pages/WorkflowViewPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA6GH,eAAO,MAAM,gBAAgB,8CAwuB3B,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkflowViewPage.js","names":[],"sources":["../../../src/bigconsole/pages/WorkflowViewPage.tsx"],"sourcesContent":["/**\n * Workflow View Page\n *\n * Page for viewing FluidGrids Workflow details, linked DataSinks,\n * read-only workflow design preview, and real execution with polling.\n *\n * Section hierarchy (BOFF-5634):\n * - header (back link + identity + actions) ... `bare`\n * - execution result ......................... `standard` + success/danger tone\n * - \"Workflow design\" (the node canvas) ...... `primary` — the thing the route is about\n * - \"Execution stats\" ........................ `standard`, promoted to `primary` when the\n * workflow has no design preview to show\n * - \"Description\" / \"Webhook trigger\" /\n * \"Record history\" ......................... `muted` — supporting detail\n * - \"Linked data sinks\" ...................... `standard`\n * Exactly one `primary` renders in every branch.\n */\n\nimport { memo, useState, useEffect, useCallback } from 'react';\nimport { useParams } from 'react-router';\nimport { Button, IllustratedEmptyState, PagePurpose, NextSteps, Spinner } from '@burdenoff/fe-libs/ui';\nimport type { NextStep } from '@burdenoff/fe-libs/ui';\nimport { Section, SectionStack, SECTION_FOCUS_RING, sectionSurfaceClasses } from '../components/common';\nimport { useAppNavigate } from '../contexts';\nimport { isNative, nativeCopyText, nativeNotify, nativeToast } from '../../utils/nativeBridge';\nimport { formatDistanceToNow } from 'date-fns';\nimport { useWorkflowOperations } from '../hooks/useWorkflowOperations';\nimport { WorkflowStatusBadge } from '../components/workflow/WorkflowStatusBadge';\nimport { WorkflowDeleteDialog } from '../components/workflow/WorkflowDeleteDialog';\nimport { WorkflowSinkLinkForm } from '../components/workflow/WorkflowSinkLinkForm';\nimport { WorkflowDesignPreview } from '../components/workflow/WorkflowDesignPreview';\nimport type { FluidGridsWorkflow } from '../types';\n\n// FluidGrids FE SDK — read-only embedded builder preview\nimport { useLazyWorkflowDefinition } from '@burdenoff/fluidgrids-fe-sdk';\nimport { BOOTSTRAP_RETRY_DELAY_MS } from '../constants';\n\n// RBAC\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { AccessDenied, PermissionButton } from '@burdenoff/fe-libs/shared/components';\nimport { BIGCONSOLE_PERMISSIONS } from '../../constants/permissions';\n\n// ============================================================================\n// ICONS\n// ============================================================================\n\nconst ArrowLeftIcon = ({ 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=\"M15 19l-7-7 7-7\" />\n </svg>\n);\n\nconst EditIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\"\n />\n </svg>\n);\n\nconst TrashIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"\n />\n </svg>\n);\n\nconst PlayIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z\"\n />\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n);\n\nconst CopyIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"\n />\n </svg>\n);\n\nconst CheckIcon = ({ 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=\"M5 13l4 4L19 7\" />\n </svg>\n);\n\nconst DatabaseIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4\"\n />\n </svg>\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 WorkflowViewPage = memo(function WorkflowViewPage() {\n const navigate = useAppNavigate();\n const { t } = useI18n();\n const { workflowId } = useParams<{ workflowId: string }>();\n\n // RBAC\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const canRead = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_READ);\n const canUpdate = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_UPDATE);\n const canReadSinks = hasPermission(BIGCONSOLE_PERMISSIONS.DATASINK_READ);\n const canDelete = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_DELETE);\n const canExecute = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_EXECUTE);\n\n // Local state\n const [workflow, setWorkflow] = useState<FluidGridsWorkflow | null>(null);\n const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);\n const [, setIsDeleting] = useState(false);\n const [isExecuting, setIsExecuting] = useState(false);\n const [webhookCopied, setWebhookCopied] = useState(false);\n const [showLinkForm, setShowLinkForm] = useState(false);\n const [linkFeedback, setLinkFeedback] = useState<string | null>(null);\n const [unlinkingId, setUnlinkingId] = useState<string | null>(null);\n const { unlinkDataSink } = useWorkflowOperations({ skipFetch: true });\n const [showDesignPreview, setShowDesignPreview] = useState(false);\n const {\n getWorkflow: fetchDefinition,\n workflow: definition,\n loading: definitionLoading,\n error: definitionError,\n } = useLazyWorkflowDefinition();\n // Track whether initial fetch has completed — prevents \"not found\" flash\n // before data has even been requested (loading starts as false with skipFetch: true)\n const [isReady, setIsReady] = useState(false);\n const [executionResult, setExecutionResult] = useState<{\n success: boolean;\n output: unknown;\n error: string | null;\n executionTimeMs: number;\n runId?: string;\n } | null>(null);\n\n // Operations\n const { loading, error, fetchWorkflow, deleteWorkflow, executeWorkflow, pollWorkflowExecution } =\n useWorkflowOperations({\n skipFetch: true,\n });\n\n // Load workflow on mount.\n // On a full page reload the workspace token may not be issued yet when this\n // effect first runs, causing the gateway to lack workspace context and\n // the resolver to return null. We retry once after a short delay to give\n // the auth bootstrap time to complete.\n useEffect(() => {\n if (!workflowId) {\n setIsReady(true);\n return;\n }\n\n let cancelled = false;\n\n const load = async (attempt: number) => {\n try {\n const result = await fetchWorkflow(workflowId);\n if (cancelled) return;\n\n if (result) {\n setWorkflow(result);\n setIsReady(true);\n } else if (attempt === 0) {\n // First attempt failed — likely workspace token race on full-page load.\n // Retry once after a short delay.\n setTimeout(() => {\n if (!cancelled) load(1);\n }, BOOTSTRAP_RETRY_DELAY_MS);\n } else {\n // Second attempt also failed — genuinely not found\n setIsReady(true);\n }\n } catch {\n // Network error, GraphQL error, etc. — surface the \"not found\" UI\n // rather than spinning forever with no escape hatch.\n if (!cancelled) setIsReady(true);\n }\n };\n\n load(0);\n return () => {\n cancelled = true;\n };\n }, [workflowId, fetchWorkflow]);\n\n // Handlers\n const handleBack = useCallback(() => {\n navigate(`/workflows/feeds`);\n }, [navigate]);\n\n const handleEdit = useCallback(() => {\n if (workflow?.key)\n navigate(\n `/workflows/workflow/${encodeURIComponent(workflow.key)}/${encodeURIComponent(definition?.version ?? 'v1')}`\n );\n }, [navigate, workflow, definition]);\n\n const handleDelete = useCallback(async () => {\n if (!workflowId) return;\n setIsDeleting(true);\n try {\n const success = await deleteWorkflow(workflowId);\n if (success) {\n if (isNative()) void nativeNotify('success');\n navigate(`/workflows/feeds`);\n } else if (isNative()) {\n void nativeNotify('error');\n }\n } catch {\n if (isNative()) void nativeNotify('error');\n } finally {\n setIsDeleting(false);\n setShowDeleteConfirm(false);\n }\n }, [workflowId, deleteWorkflow, navigate]);\n\n const handleExecute = useCallback(async () => {\n if (!workflowId) return;\n setIsExecuting(true);\n setExecutionResult(null);\n\n const startTime = Date.now();\n\n try {\n const result = await executeWorkflow(workflowId);\n\n if (result) {\n const executionTimeMs = Date.now() - startTime;\n\n // If workflow has external FluidGrids ID, the execution is async\n if (result.externalWorkflowId) {\n setExecutionResult({\n success: true,\n output: {\n externalWorkflowId: result.externalWorkflowId,\n executionCount: result.executionCount,\n status: t('bigconsole.workflows.view.executionTriggeredPolling', 'Triggered — polling for completion...'),\n },\n error: null,\n executionTimeMs,\n });\n\n // Poll for completion in the background\n pollWorkflowExecution(workflowId, {\n intervalMs: 3000,\n timeoutMs: 120000,\n onProgress: (updated) => {\n setWorkflow(updated);\n },\n }).then((final) => {\n if (final) {\n setWorkflow(final);\n setExecutionResult((prev) =>\n prev\n ? {\n ...prev,\n output: {\n ...((prev.output as Record<string, unknown>) || {}),\n status:\n final.status === 'error'\n ? t('bigconsole.workflows.view.executionStatusFailed', 'Failed')\n : t('bigconsole.workflows.view.executionStatusCompleted', 'Completed'),\n executionCount: final.executionCount,\n lastExecutedAt: final.lastExecutedAt,\n },\n executionTimeMs: Date.now() - startTime,\n }\n : prev\n );\n }\n });\n } else {\n // Local execution (no external FluidGrids workflow)\n setExecutionResult({\n success: true,\n output: {\n executionCount: result.executionCount,\n lastExecutedAt: result.lastExecutedAt,\n status: t('bigconsole.workflows.view.executionStatusCompleted', 'Completed'),\n },\n error: null,\n executionTimeMs,\n });\n }\n\n // Refresh workflow\n const updated = await fetchWorkflow(workflowId);\n if (updated) {\n setWorkflow(updated);\n }\n }\n } catch (err) {\n setExecutionResult({\n success: false,\n output: null,\n error:\n err instanceof Error ? err.message : t('bigconsole.workflows.errors.executionFailed', 'Execution failed'),\n executionTimeMs: Date.now() - startTime,\n });\n } finally {\n setIsExecuting(false);\n }\n }, [workflowId, executeWorkflow, fetchWorkflow, pollWorkflowExecution, t]);\n\n const handleCopyWebhook = useCallback(async () => {\n if (!workflow?.webhookUrl) return;\n try {\n await nativeCopyText(workflow.webhookUrl);\n setWebhookCopied(true);\n if (isNative()) void nativeToast(t('bigconsole.workflows.view.webhookCopiedToast', 'Webhook copied'));\n setTimeout(() => setWebhookCopied(false), 2000);\n } catch {\n // Clipboard not available\n }\n }, [workflow?.webhookUrl, t]);\n\n const handleViewDataSink = useCallback(\n (dataSinkId: string) => {\n navigate(`/datasinks/${dataSinkId}`);\n },\n [navigate]\n );\n\n // Back-to-list control — identical on the not-found branch and the loaded page,\n // so \"where am I\" reads the same however the route resolves.\n const backLink = (\n <button\n type=\"button\"\n onClick={handleBack}\n className={`inline-flex min-h-[var(--size-controlHeight-md)] items-center gap-1 rounded-button text-sm text-text-secondary motion-safe:transition-colors hover:text-text-primary ${SECTION_FOCUS_RING}`}\n >\n <ArrowLeftIcon className=\"w-4 h-4\" />\n {t('bigconsole.workflows.view.backToWorkflows', 'Back to Workflows')}\n </button>\n );\n\n // Loading state — show spinner until initial fetch completes OR during a\n // refetch, and while permissions are still loading (avoids a read-gate flash).\n if (!isReady || (loading && !workflow) || permissionsLoading) {\n return (\n <div className=\"mx-auto flex min-h-[400px] max-w-5xl items-center justify-center p-4 sm:p-[var(--space-pagePadding)]\">\n <Spinner size=\"lg\" />\n </div>\n );\n }\n\n // Read gate — no permission to view this workflow\n if (!canRead) {\n return (\n <AccessDenied\n title={t('bigconsole.workflows.errors.accessDeniedTitle', 'Access Denied')}\n description={t(\n 'bigconsole.workflows.errors.accessDeniedViewDescription',\n \"You don't have permission to view this workflow.\"\n )}\n />\n );\n }\n\n // Error or not found state — only shown AFTER initial fetch completed\n if (error || !workflow) {\n return (\n <div className=\"mx-auto max-w-5xl p-4 sm:p-[var(--space-pagePadding)]\">\n <SectionStack>\n <div>{backLink}</div>\n {/* Same surface the list page gives its empty states, so \"nothing to\n show\" looks the same wherever you hit it. */}\n <section\n aria-label=\"Workflow not found\"\n data-section-emphasis=\"standard\"\n data-testid=\"workflow-not-found\"\n className={sectionSurfaceClasses('standard')}\n >\n <IllustratedEmptyState\n illustration=\"empty-data\"\n title={t('bigconsole.workflows.view.notFoundTitle', 'Workflow not found')}\n description={\n error?.message ||\n t('bigconsole.workflows.view.notFoundDescription', 'The workflow you are looking for does not exist.')\n }\n />\n </section>\n </SectionStack>\n </div>\n );\n }\n\n const linkedDataSinkCount = workflow.dataSinkLinks?.length || 0;\n // The read-only canvas is the point of this route when it exists; when it does\n // not, the execution numbers become the page's single `primary` block.\n const hasDesignPreview = Boolean(workflow.externalWorkflowId);\n const previewData = definition?.id === workflow.externalWorkflowId ? definition.definitionJson?.data : undefined;\n\n // Next-step guidance — omit steps that trigger a gated action the caller\n // cannot perform (execute → WORKFLOW_EXECUTE, edit → WORKFLOW_UPDATE).\n const nextSteps: NextStep[] = [\n ...(canExecute\n ? [\n {\n id: 'execute',\n label: t('bigconsole.workflows.view.nextStepExecuteLabel', 'Run the workflow'),\n description: t(\n 'bigconsole.workflows.view.nextStepExecuteDescription',\n 'Trigger an execution to pull fresh data now.'\n ),\n onClick: handleExecute,\n },\n ]\n : []),\n {\n id: 'design',\n label: t('bigconsole.workflows.view.nextStepDesignLabel', 'Inspect the design'),\n description: t(\n 'bigconsole.workflows.view.nextStepDesignDescription',\n 'Expand the read-only preview to see each step.'\n ),\n onClick: () => setShowDesignPreview(true),\n },\n ...(canUpdate\n ? [\n {\n id: 'edit',\n label: t('bigconsole.workflows.view.nextStepEditLabel', 'Edit in the builder'),\n description: t(\n 'bigconsole.workflows.view.nextStepEditDescription',\n 'Open the FluidGrids visual builder to change the flow.'\n ),\n onClick: handleEdit,\n },\n ]\n : []),\n {\n id: 'sinks',\n label: t('bigconsole.workflows.view.nextStepSinksLabel', 'Check the linked data sinks'),\n description: t(\n 'bigconsole.workflows.view.nextStepSinksDescription',\n 'See where this workflow writes its output.'\n ),\n onClick: () => navigate('/datasinks'),\n },\n ];\n\n return (\n <div className=\"mx-auto max-w-5xl p-4 sm:p-[var(--space-pagePadding)]\">\n <SectionStack>\n {/* ---------------------------------------------------------------- *\n * Page header — `bare` emphasis: back link, identity and the action\n * cluster. Structural only, so the blocks below own the visual weight.\n * ---------------------------------------------------------------- */}\n <header data-section-emphasis=\"bare\" className=\"min-w-0\">\n <div className=\"mb-form-gap\">{backLink}</div>\n\n <div className=\"flex flex-col gap-form-gap md:flex-row md:items-start md:justify-between\">\n <div className=\"min-w-0\">\n <div className=\"flex flex-wrap items-center gap-icon-gap\">\n <h1 className=\"break-words text-2xl font-bold text-text-primary\">{workflow.name}</h1>\n <WorkflowStatusBadge status={workflow.status} />\n </div>\n <p className=\"mt-1 break-all font-mono text-sm text-text-secondary\">{workflow.key}</p>\n {workflow.externalWorkflowId && (\n <p className=\"mt-1 text-xs text-text-muted\">\n {t('bigconsole.workflows.view.fluidGridsIdLabel', 'FluidGrids ID:')}{' '}\n <span className=\"break-all font-mono\">{workflow.externalWorkflowId}</span>\n </p>\n )}\n </div>\n\n <div className=\"flex flex-wrap items-center gap-control-gap\">\n <PermissionButton permission={BIGCONSOLE_PERMISSIONS.WORKFLOW_EXECUTE} deniedBehavior=\"disable\">\n <Button size=\"lg\" onClick={handleExecute} disabled={isExecuting}>\n <PlayIcon className=\"w-4 h-4\" />\n {isExecuting\n ? t('bigconsole.workflows.actions.executing', 'Executing...')\n : t('bigconsole.workflows.actions.execute', 'Execute')}\n </Button>\n </PermissionButton>\n <PermissionButton permission={BIGCONSOLE_PERMISSIONS.WORKFLOW_UPDATE} deniedBehavior=\"disable\">\n <Button size=\"lg\" variant=\"outline\" onClick={handleEdit}>\n <EditIcon className=\"w-4 h-4\" />\n {t('bigconsole.workflows.actions.edit', 'Edit')}\n </Button>\n </PermissionButton>\n <PermissionButton permission={BIGCONSOLE_PERMISSIONS.WORKFLOW_DELETE} deniedBehavior=\"hide\">\n <Button\n size=\"lg\"\n variant=\"ghost\"\n onClick={() => setShowDeleteConfirm(true)}\n className=\"text-[var(--color-status-error-text)] hover:bg-status-error-bg/10 hover:text-[var(--color-status-error-text)]\"\n >\n <TrashIcon className=\"w-4 h-4\" />\n {t('bigconsole.workflows.actions.delete', 'Delete')}\n </Button>\n </PermissionButton>\n </div>\n </div>\n </header>\n\n <PagePurpose>\n {t(\n 'bigconsole.workflows.view.purpose',\n 'A workflow is the visual ETL job that feeds this BigConsole — it fetches, transforms, and delivers data into linked data sinks. From here you can run it on demand, inspect its design and execution history, copy its webhook trigger, and edit it in the visual builder.'\n )}\n </PagePurpose>\n\n <NextSteps storageKey=\"bigconsole-workflow-view\" steps={nextSteps} />\n\n {/* Execution result — a status section, not a hand-rolled tinted div. */}\n {executionResult && (\n <Section\n headingLevel={2}\n tone={executionResult.success ? 'success' : 'danger'}\n title={\n executionResult.success\n ? t('bigconsole.workflows.view.executionResultTriggered', 'Execution Triggered')\n : t('bigconsole.workflows.view.executionResultFailed', 'Execution Failed')\n }\n description={\n executionResult.success\n ? 'The run was accepted. Results refresh below as the run progresses.'\n : 'The run could not be started. The detail below comes straight from the workflow service.'\n }\n meta={\n <span className=\"rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary\">\n {executionResult.executionTimeMs}ms\n </span>\n }\n data-testid=\"workflow-execution-result\"\n >\n {executionResult.error ? (\n <p className=\"break-words text-sm text-[var(--color-status-error-text)]\">{executionResult.error}</p>\n ) : (\n <pre className=\"max-h-[200px] min-w-0 overflow-auto rounded-card bg-bg-sunken p-2 font-mono text-xs text-text-secondary\">\n {JSON.stringify(executionResult.output, null, 2)}\n </pre>\n )}\n {executionResult.runId && (\n <p className=\"mt-2 text-xs text-text-muted\">\n {t('bigconsole.workflows.view.runIdLabel', 'Run ID:')}{' '}\n <span className=\"break-all font-mono\">{executionResult.runId}</span>\n </p>\n )}\n </Section>\n )}\n\n {/* Overview row: supporting description beside the run numbers. */}\n <div className=\"grid grid-cols-1 gap-section-gap md:grid-cols-2\">\n <Section\n headingLevel={2}\n emphasis=\"muted\"\n title={t('bigconsole.workflows.view.descriptionLabel', 'Description')}\n description=\"What this workflow is for, as entered by its author.\"\n >\n <p className=\"break-words text-sm text-text-primary\">\n {workflow.description || t('bigconsole.workflows.view.noDescription', 'No description')}\n </p>\n </Section>\n\n <Section\n headingLevel={2}\n emphasis={hasDesignPreview ? 'standard' : 'primary'}\n title={t('bigconsole.workflows.view.executionStatsLabel', 'Execution Stats')}\n description=\"How often this workflow has run, and when it last did.\"\n data-testid=\"workflow-execution-stats\"\n >\n <div className=\"grid grid-cols-1 gap-form-gap sm:grid-cols-2\">\n <div className=\"min-w-0\">\n <p className=\"text-2xl font-bold text-text-primary\">{workflow.executionCount}</p>\n <p className=\"text-xs text-text-secondary\">\n {t('bigconsole.workflows.view.totalExecutionsLabel', 'Total Executions')}\n </p>\n </div>\n <div className=\"min-w-0\">\n <p className=\"text-sm font-medium text-text-primary\">\n {workflow.lastExecutedAt\n ? formatDistanceToNow(new Date(workflow.lastExecutedAt), { addSuffix: true })\n : t('bigconsole.workflows.view.never', 'Never')}\n </p>\n <p className=\"text-xs text-text-secondary\">\n {t('bigconsole.workflows.view.lastExecutedLabel', 'Last Executed')}\n </p>\n </div>\n </div>\n </Section>\n </div>\n\n {/* Workflow design — the node canvas, the one `primary` block here. */}\n {workflow.externalWorkflowId && (\n <Section\n headingLevel={2}\n emphasis=\"primary\"\n title={t('bigconsole.workflows.view.designPreviewTitle', 'Workflow Design Preview')}\n description=\"The steps this workflow runs, read-only. Open the builder to change them.\"\n actions={\n <Button\n variant=\"outline\"\n size=\"sm\"\n aria-expanded={showDesignPreview}\n aria-controls=\"workflow-design-canvas\"\n onClick={() => {\n const next = !showDesignPreview;\n setShowDesignPreview(next);\n if (next && workflow.externalWorkflowId)\n void fetchDefinition(workflow.key, workflow.externalWorkflowId);\n }}\n >\n {showDesignPreview ? 'Hide design' : 'Show design'}\n <ChevronDownIcon\n className={`w-4 h-4 motion-safe:transition-transform ${showDesignPreview ? 'rotate-180' : ''}`}\n />\n </Button>\n }\n data-testid=\"workflow-design-preview\"\n >\n {showDesignPreview ? (\n <div\n id=\"workflow-design-canvas\"\n className=\"h-[320px] min-w-0 overflow-hidden rounded-card border border-[var(--color-border-subtle)] sm:h-[420px] lg:h-[450px]\"\n >\n {definitionLoading ? (\n <div role=\"status\" className=\"flex h-full items-center justify-center\">\n <Spinner />\n </div>\n ) : definitionError ? (\n <p role=\"alert\" className=\"p-4 text-sm text-status-error-text\">\n {t(\n 'bigconsole.workflows.view.previewError',\n 'Could not load the workflow design. Close and reopen the preview to retry.'\n )}\n </p>\n ) : previewData ? (\n <WorkflowDesignPreview key={definition?.id} workflow={previewData} />\n ) : (\n <p className=\"p-4 text-sm text-text-secondary\">\n {t('bigconsole.workflows.view.previewUnavailable', 'No saved workflow design is available.')}\n </p>\n )}\n </div>\n ) : (\n <p id=\"workflow-design-canvas\" className=\"text-sm text-text-secondary\">\n The canvas is collapsed. Show the design to see every step, its order and its connections.\n </p>\n )}\n </Section>\n )}\n\n {/* Webhook trigger — supporting integration detail. */}\n {workflow.webhookUrl && (\n <Section\n headingLevel={2}\n emphasis=\"muted\"\n title={t('bigconsole.workflows.view.webhookUrlLabel', 'Webhook URL')}\n description=\"POST to this URL to run the workflow from an external system.\"\n actions={\n <Button variant=\"ghost\" size=\"sm\" onClick={handleCopyWebhook}>\n {webhookCopied ? (\n <>\n <CheckIcon className=\"w-4 h-4 text-status-success-text\" />\n {t('bigconsole.workflows.actions.copied', 'Copied!')}\n </>\n ) : (\n <>\n <CopyIcon className=\"w-4 h-4\" />\n {t('bigconsole.workflows.actions.copy', 'Copy')}\n </>\n )}\n </Button>\n }\n >\n <code className=\"block min-w-0 overflow-x-auto break-all rounded-card bg-bg-sunken px-3 py-2 font-mono text-sm text-text-primary\">\n {workflow.webhookUrl}\n </code>\n </Section>\n )}\n\n {/* Linked data sinks — relationships, normal grouped work. */}\n <Section\n headingLevel={2}\n title={t('bigconsole.workflows.view.linkedDataSinksTitle', 'Linked DataSinks ({{count}})', {\n count: linkedDataSinkCount,\n })}\n description=\"Where this workflow writes the data it produces.\"\n actions={\n canUpdate && canReadSinks ? (\n <Button variant=\"outline\" aria-expanded={showLinkForm} onClick={() => setShowLinkForm((open) => !open)}>\n {showLinkForm\n ? t('bigconsole.workflows.links.cancel', 'Cancel linking')\n : t('bigconsole.workflows.links.link', 'Link sink')}\n </Button>\n ) : undefined\n }\n data-testid=\"workflow-linked-datasinks\"\n >\n {linkFeedback && (\n <p role=\"status\" className=\"mb-3 text-sm text-text-secondary\">\n {linkFeedback}\n </p>\n )}\n {showLinkForm && canUpdate && canReadSinks && (\n <WorkflowSinkLinkForm\n workflowId={workflow.id}\n linkedSinkIds={workflow.dataSinkLinks.map((link) => link.dataSinkId)}\n onLinked={async () => {\n const updated = await fetchWorkflow(workflow.id);\n if (updated) setWorkflow(updated);\n setShowLinkForm(false);\n setLinkFeedback(t('bigconsole.workflows.links.linked', 'Data sink linked.'));\n }}\n />\n )}\n {linkedDataSinkCount === 0 ? (\n <IllustratedEmptyState\n illustration=\"empty-generic\"\n title={t('bigconsole.workflows.view.noDataSinksTitle', 'No data sinks linked')}\n description={t(\n 'bigconsole.workflows.view.noDataSinksDescription',\n \"This workflow has no data sinks linked yet — its output isn't being stored.\"\n )}\n />\n ) : (\n <ul className=\"flex flex-col gap-list-gap\">\n {[...workflow.dataSinkLinks]\n .sort((a, b) => a.priority - b.priority)\n .map((link) => (\n <li\n key={link.id}\n className=\"flex flex-col gap-control-gap rounded-card bg-bg-sunken px-3 py-2 sm:flex-row sm:items-center sm:justify-between\"\n >\n <div className=\"flex min-w-0 items-center gap-icon-gap\">\n <DatabaseIcon className=\"w-4 h-4 shrink-0 text-text-secondary\" />\n <div className=\"min-w-0\">\n <p className=\"truncate text-sm font-medium text-text-primary\">\n {link.dataSink?.name || link.dataSink?.key || link.dataSinkId}\n </p>\n {link.dataSink?.key && (\n <p className=\"truncate font-mono text-xs text-text-secondary\">{link.dataSink.key}</p>\n )}\n </div>\n </div>\n <div className=\"flex flex-wrap items-center gap-control-gap\">\n {link.isEnabled ? (\n <span className=\"rounded-pill bg-[var(--color-status-success-bgSubtle)] px-2 py-0.5 text-xs font-medium text-status-success-text\">\n {t('bigconsole.workflows.view.dataSinkEnabled', 'Enabled')}\n </span>\n ) : (\n <span className=\"rounded-pill bg-bg-surface px-2 py-0.5 text-xs font-medium text-text-secondary\">\n {t('bigconsole.workflows.view.dataSinkDisabled', 'Disabled')}\n </span>\n )}\n <span className=\"text-xs text-text-muted\">\n {t('bigconsole.workflows.view.dataSinkPriority', 'Priority: {{priority}}', {\n priority: link.priority,\n })}\n </span>\n {canUpdate && (\n <Button\n variant=\"outline\"\n size=\"sm\"\n disabled={unlinkingId !== null}\n onClick={async () => {\n setUnlinkingId(link.dataSinkId);\n try {\n const removed = await unlinkDataSink(workflow.id, link.dataSinkId);\n if (removed) {\n const updated = await fetchWorkflow(workflow.id);\n if (updated) setWorkflow(updated);\n setLinkFeedback(t('bigconsole.workflows.links.unlinked', 'Data sink unlinked.'));\n } else {\n setLinkFeedback(\n t(\n 'bigconsole.workflows.links.unlinkError',\n 'The data sink could not be unlinked. Try again.'\n )\n );\n }\n } finally {\n setUnlinkingId(null);\n }\n }}\n >\n {t('bigconsole.workflows.links.unlink', 'Unlink')}\n </Button>\n )}\n {link.dataSink && (\n <button\n type=\"button\"\n onClick={() => handleViewDataSink(link.dataSinkId)}\n className={`inline-flex min-h-[var(--size-controlHeight-md)] items-center rounded-button px-2 text-xs font-medium text-text-link hover:underline sm:min-h-[var(--size-controlHeight-sm)] ${SECTION_FOCUS_RING}`}\n >\n {t('bigconsole.workflows.actions.view', 'View')}\n </button>\n )}\n </div>\n </li>\n ))}\n </ul>\n )}\n </Section>\n\n {/* Record history — lowest-value metadata, recessed. */}\n <Section headingLevel={2} emphasis=\"muted\" title=\"Record history\" padding=\"compact\">\n <dl className=\"grid grid-cols-1 gap-form-gap sm:grid-cols-2\">\n <div className=\"min-w-0\">\n <dt className=\"text-xs text-text-secondary\">{t('bigconsole.workflows.view.createdLabel', 'Created')}</dt>\n <dd className=\"text-sm text-text-primary\">\n {formatDistanceToNow(new Date(workflow.createdAt), { addSuffix: true })}\n </dd>\n <dd className=\"truncate text-xs text-text-muted\">\n {t('bigconsole.workflows.view.byAuthor', 'by {{author}}', { author: workflow.createdBy })}\n </dd>\n </div>\n <div className=\"min-w-0\">\n <dt className=\"text-xs text-text-secondary\">\n {t('bigconsole.workflows.view.lastUpdatedLabel', 'Last Updated')}\n </dt>\n <dd className=\"text-sm text-text-primary\">\n {formatDistanceToNow(new Date(workflow.updatedAt), { addSuffix: true })}\n </dd>\n <dd className=\"truncate text-xs text-text-muted\">\n {t('bigconsole.workflows.view.byAuthor', 'by {{author}}', {\n author: workflow.updatedBy || workflow.createdBy,\n })}\n </dd>\n </div>\n </dl>\n </Section>\n </SectionStack>\n\n {/* Delete Confirmation Dialog */}\n {workflow && (\n <WorkflowDeleteDialog\n workflow={workflow}\n isOpen={showDeleteConfirm}\n onClose={() => setShowDeleteConfirm(false)}\n onConfirm={handleDelete}\n />\n )}\n </div>\n );\n});\n\nexport default WorkflowViewPage;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkflowsPage.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/pages/WorkflowsPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA4CH,eAAO,MAAM,aAAa,8CAqZxB,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkflowsPage.js","names":[],"sources":["../../../src/bigconsole/pages/WorkflowsPage.tsx"],"sourcesContent":["/**\n * Workflows Page\n *\n * List and manage FluidGrids Workflows.\n *\n * Section hierarchy (BOFF-5634):\n * - page header strip .............. `bare` — identity + the one create action\n * - \"Filters\" ...................... `standard` — status tabs + search, one labelled group\n * - \"Workflows\" .................... `primary` — the result set this route exists for;\n * loading / empty / no-results / grid all\n * live inside it so the page keeps its shape\n * - load failure ................... `danger` — in-page status section, not a page swap\n */\n\nimport { memo, useState, useMemo, useCallback } from 'react';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { AccessDenied, PermissionButton } from '@burdenoff/fe-libs/shared/components';\nimport { BIGCONSOLE_PERMISSIONS } from '../../constants/permissions';\nimport { useAppNavigate } from '../contexts';\nimport { isNative, nativeNotify } from '../../utils/nativeBridge';\nimport { newWorkflowPath } from '../BigConsoleRoutes';\nimport { NEW_WORKFLOW_NAV } from '../workflowOpen';\nimport { useWorkflowOperations } from '../hooks/useWorkflowOperations';\nimport { useWorkflowStore } from '../store/workflowStore';\nimport { WorkflowCard } from '../components/workflow/WorkflowCard';\nimport { WorkflowDeleteDialog } from '../components/workflow/WorkflowDeleteDialog';\nimport { Section, SectionStack, SECTION_FOCUS_RING } from '../components/common';\nimport type { FluidGridsWorkflowStatus } from '../types';\n\n// fe-libs UI components\nimport { Button } from '@burdenoff/fe-libs/ui';\nimport { Input } from '@burdenoff/fe-libs/ui';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { AuroraBackground, GradientText, IllustratedEmptyState, PagePurpose } from '@burdenoff/fe-libs/ui';\n\n// Lucide icons\nimport { Plus, Search, Workflow, AlertCircle } from 'lucide-react';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\ntype StatusFilter = 'all' | FluidGridsWorkflowStatus;\n\n/** Result of the last manual run triggered from a card. */\ninterface RunOutcome {\n workflowName: string;\n ok: boolean;\n message: string;\n}\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport const WorkflowsPage = memo(function WorkflowsPage() {\n const navigate = useAppNavigate();\n const { t } = useI18n();\n\n // RBAC permissions\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const canRead = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_READ);\n const canUpdate = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_UPDATE);\n const canDelete = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_DELETE);\n const canExecute = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_EXECUTE);\n\n // Local state\n const [statusFilter, setStatusFilter] = useState<StatusFilter>('all');\n /** Outcome of the most recent run, shown inline above the grid. */\n const [runOutcome, setRunOutcome] = useState<RunOutcome | null>(null);\n\n // Store state\n const searchQuery = useWorkflowStore((state) => state.searchQuery);\n const setSearchQuery = useWorkflowStore((state) => state.setSearchQuery);\n const deleteDialogOpen = useWorkflowStore((state) => state.deleteDialogOpen);\n const currentWorkflow = useWorkflowStore((state) => state.currentWorkflow);\n const openDeleteDialog = useWorkflowStore((state) => state.openDeleteDialog);\n const closeDeleteDialog = useWorkflowStore((state) => state.closeDeleteDialog);\n\n // Operations\n const { loading, error, workflows, deleteWorkflow, refetch } = useWorkflowOperations();\n\n /**\n * Runs go through a SECOND hook instance on purpose. `useWorkflowOperations`\n * keeps one shared `error` for every operation, and this page swaps the whole\n * result set for a \"Failed to load Workflows\" panel whenever that error is\n * set — so a failed run on one card would wipe the list. A separate instance\n * (fetch skipped) keeps run failures local while still writing through to the\n * shared workflow store, so the card's execution count and last-run time\n * update in place.\n */\n const { executeWorkflow } = useWorkflowOperations({ skipFetch: true });\n\n // Per-card execution flags, maintained by the hook's executeWorkflow.\n const workflowUIStates = useWorkflowStore((state) => state.workflowUIStates);\n\n // Filter workflows\n const filteredWorkflows = useMemo(() => {\n let filtered = [...workflows];\n\n // Apply status filter\n if (statusFilter !== 'all') {\n filtered = filtered.filter((wf) => wf.status === statusFilter);\n }\n\n // Apply search filter\n if (searchQuery.trim()) {\n const query = searchQuery.toLowerCase();\n filtered = filtered.filter(\n (wf) =>\n wf.name.toLowerCase().includes(query) ||\n wf.key.toLowerCase().includes(query) ||\n wf.description?.toLowerCase().includes(query)\n );\n }\n\n // Sort by updatedAt descending\n return filtered.sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());\n }, [workflows, statusFilter, searchQuery]);\n\n // Handlers\n const handleCreateWorkflow = useCallback(() => {\n navigate(newWorkflowPath(), NEW_WORKFLOW_NAV);\n }, [navigate]);\n\n const handleViewWorkflow = useCallback(\n (id: string) => {\n navigate(`/workflows/details/${id}`);\n },\n [navigate]\n );\n\n const handleEditWorkflow = useCallback(\n (id: string) => {\n const workflow = workflows.find((item) => item.id === id);\n if (workflow?.key) navigate(`/workflows/workflow/${encodeURIComponent(workflow.key)}/v1`);\n },\n [navigate, workflows]\n );\n\n const handleDeleteClick = useCallback(\n (id: string) => {\n const workflow = workflows.find((wf) => wf.id === id);\n if (workflow) {\n openDeleteDialog(workflow);\n }\n },\n [workflows, openDeleteDialog]\n );\n\n const handleRunWorkflow = useCallback(\n async (id: string) => {\n const workflow = workflows.find((wf) => wf.id === id);\n if (!workflow) return;\n\n setRunOutcome(null);\n // `executeWorkflow` swallows the Apollo error and resolves to null, so a\n // null result IS the failure signal — never treat it as a silent success.\n const result = await executeWorkflow(id);\n\n if (result) {\n if (isNative()) void nativeNotify('success');\n setRunOutcome({\n workflowName: workflow.name,\n ok: true,\n message: t(\n 'bigconsole.workflows.run.triggered',\n 'Run triggered. The execution count and last-run time update as the run progresses.'\n ),\n });\n return;\n }\n\n if (isNative()) void nativeNotify('error');\n setRunOutcome({\n workflowName: workflow.name,\n ok: false,\n message: t('bigconsole.workflows.run.failed', 'The workflow could not be started. Nothing has been changed.'),\n });\n },\n [workflows, executeWorkflow, t]\n );\n\n const handleDeleteConfirm = useCallback(async () => {\n if (currentWorkflow) {\n try {\n await deleteWorkflow(currentWorkflow.id);\n if (isNative()) void nativeNotify('success');\n } catch (err) {\n if (isNative()) void nativeNotify('error');\n throw err;\n }\n closeDeleteDialog();\n }\n }, [currentWorkflow, deleteWorkflow, closeDeleteDialog]);\n\n // Status filter options\n const statusOptions: { value: StatusFilter; label: string }[] = [\n { value: 'all', label: t('bigconsole.workflows.filters.all', 'All') },\n { value: 'draft', label: t('bigconsole.workflows.status.draft', 'Draft') },\n { value: 'active', label: t('bigconsole.workflows.status.active', 'Active') },\n { value: 'paused', label: t('bigconsole.workflows.status.paused', 'Paused') },\n { value: 'error', label: t('bigconsole.workflows.status.error', 'Error') },\n { value: 'archived', label: t('bigconsole.workflows.status.archived', 'Archived') },\n ];\n\n // Page-level read gate — only after permissions have finished loading so we\n // don't flash Access Denied while the permission set is still being fetched.\n if (!permissionsLoading && !canRead) {\n return (\n <AccessDenied\n title={t('bigconsole.workflows.errors.accessDeniedTitle', 'Access Denied')}\n description={t(\n 'bigconsole.workflows.errors.accessDeniedListDescription',\n \"You don't have permission to view workflows.\"\n )}\n />\n );\n }\n\n const isEmpty = !loading && workflows.length === 0;\n const isNoResults = !loading && filteredWorkflows.length === 0 && workflows.length > 0;\n\n return (\n <div data-tour=\"bigconsole-workflows-list\" className=\"min-h-dvh bg-bg-canvas\">\n {/* ------------------------------------------------------------------ *\n * Page header strip — `bare` emphasis: structural only. It carries the\n * page identity and the single create action, and must never out-weigh\n * the result set below it. Rendered as <header> (the page banner) so it\n * stays a landmark without competing with the labelled sections below.\n * The band itself was invisible before: `border-border-seam` and\n * `bg-gloss-card` are unregistered utilities that emit no CSS.\n * ------------------------------------------------------------------ */}\n <header\n data-section-emphasis=\"bare\"\n className=\"relative min-w-0 overflow-hidden border-b border-[var(--color-border-seam)] bg-[image:var(--gradient-gloss-card)]\"\n >\n <AuroraBackground intensity=\"subtle\" />\n <div className=\"relative flex flex-col gap-form-gap p-[var(--space-pagePadding)] sm:flex-row sm:items-center sm:justify-between\">\n <div className=\"flex min-w-0 items-center gap-form-gap\">\n <span\n aria-hidden=\"true\"\n className=\"flex h-control-lg w-[var(--size-controlHeight-lg)] shrink-0 items-center justify-center rounded-card bg-action-primary-bg\"\n >\n <Workflow className=\"h-icon-lg w-icon-lg text-action-primary-text\" />\n </span>\n <div className=\"min-w-0\">\n <h1 className=\"text-2xl font-bold text-text-primary\">\n <GradientText>{t('bigconsole.workflows.list.title', 'Workflows')}</GradientText>\n </h1>\n <p className=\"text-sm text-text-secondary\">\n {t(\n 'bigconsole.workflows.list.subtitle',\n 'Design ETL workflows with FluidGrids and link them to DataSinks'\n )}\n </p>\n </div>\n </div>\n\n <div className=\"flex flex-wrap items-center gap-control-gap\">\n <PermissionButton permission={BIGCONSOLE_PERMISSIONS.WORKFLOW_CREATE} deniedBehavior=\"disable\">\n <Button onClick={handleCreateWorkflow}>\n <Plus className=\"h-icon-sm w-icon-sm\" />\n {t('bigconsole.workflows.actions.designWorkflow', 'Design Workflow')}\n </Button>\n </PermissionButton>\n </div>\n </div>\n </header>\n\n {/* Main Content */}\n <div className=\"p-[var(--space-pagePadding)]\">\n <SectionStack>\n <PagePurpose>\n {t(\n 'bigconsole.workflows.list.purpose',\n 'Workflows are visual ETL jobs built with the FluidGrids builder — they fetch data from external systems, transform it, and load it into your BigConsole DataSinks on a schedule or on demand. Use them to keep dashboards fed with fresh, shaped data without writing glue code.'\n )}\n </PagePurpose>\n\n {error ? (\n /* Load failure reads as a status section inside the page — the\n header band and the create action stay reachable. */\n <Section\n headingLevel={2}\n tone=\"danger\"\n title={t('bigconsole.workflows.errors.loadFailedTitle', 'Failed to load Workflows')}\n description=\"The workflow service did not respond. Nothing has been changed — retry when you are ready.\"\n icon={<AlertCircle className=\"h-icon-md w-icon-md\" />}\n actions={\n <Button size=\"sm\" onClick={() => refetch()}>\n {t('bigconsole.workflows.actions.tryAgain', 'Try Again')}\n </Button>\n }\n data-testid=\"workflows-error\"\n >\n <p className=\"break-words text-sm text-[var(--color-status-error-text)]\">{error.message}</p>\n </Section>\n ) : (\n <>\n {/* Configuration: the two filter controls read as ONE group. */}\n <Section\n headingLevel={2}\n title=\"Filters\"\n description=\"Narrow the list by status, or search by name, key or description.\"\n padding=\"compact\"\n data-testid=\"workflows-filters\"\n >\n <div className=\"flex flex-col gap-form-gap lg:flex-row lg:items-center lg:justify-between\">\n <div\n role=\"group\"\n aria-label=\"Filter workflows by status\"\n className=\"flex flex-wrap items-center gap-1 rounded-card bg-bg-sunken p-1\"\n >\n {statusOptions.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n aria-pressed={statusFilter === option.value}\n onClick={() => setStatusFilter(option.value)}\n className={`min-h-[var(--size-controlHeight-md)] rounded-button px-3 text-sm font-medium motion-safe:transition-colors ${SECTION_FOCUS_RING} ${\n statusFilter === option.value\n ? 'bg-bg-surface text-text-primary shadow-[var(--shadow-elevation-1)]'\n : 'text-text-secondary hover:text-text-primary'\n }`}\n >\n {option.label}\n </button>\n ))}\n </div>\n\n <div className=\"relative w-full lg:max-w-[360px]\">\n <Search\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute left-3 top-1/2 h-icon-sm w-icon-sm -translate-y-1/2 text-text-muted\"\n />\n <Input\n type=\"text\"\n aria-label={t('bigconsole.workflows.filters.searchPlaceholder', 'Search workflows...')}\n placeholder={t('bigconsole.workflows.filters.searchPlaceholder', 'Search workflows...')}\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n className=\"h-control-md pl-10\"\n />\n </div>\n </div>\n </Section>\n\n {/* ------------------------------------------------------------ *\n * The result set — the ONE `primary` block on this route.\n * Loading, empty, no-results and the grid all render inside it,\n * so the page keeps the same shape whatever the data does.\n * ------------------------------------------------------------ */}\n <Section\n headingLevel={2}\n emphasis=\"primary\"\n title={t('bigconsole.workflows.list.title', 'Workflows')}\n description=\"Every workflow in this workspace, most recently updated first.\"\n meta={\n <span className=\"rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary\">\n {filteredWorkflows.length}\n {filteredWorkflows.length !== workflows.length ? ` of ${workflows.length}` : ''}\n </span>\n }\n data-testid=\"workflows-results\"\n >\n {loading && workflows.length === 0 && (\n <div className=\"flex min-h-[240px] items-center justify-center\">\n <div className=\"text-center\">\n <Spinner size=\"lg\" className=\"mb-form-gap\" />\n <p className=\"text-sm text-text-muted\">\n {t('bigconsole.workflows.list.loading', 'Loading workflows...')}\n </p>\n </div>\n </div>\n )}\n\n {isEmpty && (\n <IllustratedEmptyState\n illustration=\"empty-data\"\n title={t('bigconsole.workflows.list.emptyTitle', 'No Workflows yet')}\n description={t(\n 'bigconsole.workflows.list.emptyDescription',\n 'Design ETL workflows with the FluidGrids visual builder to fetch, transform, and deliver data into BigConsole DataSinks.'\n )}\n action={\n <PermissionButton permission={BIGCONSOLE_PERMISSIONS.WORKFLOW_CREATE} deniedBehavior=\"disable\">\n <Button onClick={handleCreateWorkflow}>\n <Plus className=\"h-icon-sm w-icon-sm\" />\n {t('bigconsole.workflows.actions.designWorkflow', 'Design Workflow')}\n </Button>\n </PermissionButton>\n }\n />\n )}\n\n {isNoResults && (\n <IllustratedEmptyState\n illustration=\"empty-search\"\n title={t('bigconsole.workflows.list.noResultsTitle', 'No matching workflows')}\n description={t('bigconsole.workflows.list.noResultsDescription', 'No workflows match your filters')}\n />\n )}\n\n {runOutcome && (\n <div\n role=\"status\"\n aria-live=\"polite\"\n className={`mb-form-gap flex flex-wrap items-center justify-between gap-icon-gap rounded-input border p-3 text-sm ${\n runOutcome.ok\n ? 'border-[var(--color-status-success-border)] bg-[var(--color-status-success-bgSubtle)] text-[var(--color-status-success-text)]'\n : 'border-[var(--color-status-error-border)] bg-[var(--color-status-error-bgSubtle)] text-[var(--color-status-error-text)]'\n }`}\n data-testid=\"workflows-run-outcome\"\n >\n <span className=\"min-w-0\">\n <strong className=\"font-semibold\">{runOutcome.workflowName}</strong> — {runOutcome.message}\n </span>\n <button\n type=\"button\"\n onClick={() => setRunOutcome(null)}\n className={`rounded-button px-2 py-1 text-xs font-medium underline-offset-2 hover:underline ${SECTION_FOCUS_RING}`}\n >\n {t('bigconsole.workflows.run.dismiss', 'Dismiss')}\n </button>\n </div>\n )}\n\n {filteredWorkflows.length > 0 && (\n <div className=\"grid grid-cols-1 gap-form-gap sm:grid-cols-2 xl:grid-cols-3\">\n {filteredWorkflows.map((workflow) => (\n <WorkflowCard\n key={workflow.id}\n workflow={workflow}\n onView={handleViewWorkflow}\n onEdit={canUpdate ? handleEditWorkflow : undefined}\n onDelete={canDelete ? handleDeleteClick : undefined}\n onRun={canExecute ? handleRunWorkflow : undefined}\n isRunning={workflowUIStates.get(workflow.id)?.isExecuting ?? false}\n />\n ))}\n </div>\n )}\n </Section>\n </>\n )}\n </SectionStack>\n </div>\n\n {/* Delete Dialog */}\n {currentWorkflow && (\n <WorkflowDeleteDialog\n workflow={currentWorkflow}\n isOpen={deleteDialogOpen}\n onClose={closeDeleteDialog}\n onConfirm={handleDeleteConfirm}\n />\n )}\n </div>\n );\n});\n\nexport default WorkflowsPage;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/pages/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BigConsoleQuotaProvider.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/providers/BigConsoleQuotaProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAoBzE,UAAU,4BAA4B;IACpC,QAAQ,EAAE,SAAS,CAAC;IACpB,4EAA4E;IAC5E,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AASD,wBAAgB,uBAAuB,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,4BAA4B,+BA2DhG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BigConsoleQuotaProvider.js","names":[],"sources":["../../../src/bigconsole/providers/BigConsoleQuotaProvider.tsx"],"sourcesContent":["import { useCallback, useEffect, useState, type ReactNode } from 'react';\nimport { AlertTriangle } from 'lucide-react';\nimport {\n Button,\n ResponsiveDialog,\n ResponsiveDialogContent,\n ResponsiveDialogDescription,\n ResponsiveDialogFooter,\n ResponsiveDialogHeader,\n ResponsiveDialogTitle,\n} from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n BIGCONSOLE_BILLING_PATHS,\n BIGCONSOLE_QUOTA_EXHAUSTED_EVENT,\n getBigConsoleQuotaDialogContent,\n type BigConsoleQuotaExhaustedEventDetail,\n type BigConsoleQuotaKind,\n} from '../utils/quota';\n\ninterface BigConsoleQuotaProviderProps {\n children: ReactNode;\n /** Navigate to a billing route (e.g. `/billing` or `/billing/overview`). */\n onViewBilling: (path: string) => void;\n}\n\ninterface QuotaDialogState {\n open: boolean;\n kind: BigConsoleQuotaKind;\n}\n\nconst INITIAL_STATE: QuotaDialogState = { open: false, kind: 'generic' };\n\nexport function BigConsoleQuotaProvider({ children, onViewBilling }: BigConsoleQuotaProviderProps) {\n const { t } = useI18n();\n const [state, setState] = useState<QuotaDialogState>(INITIAL_STATE);\n\n useEffect(() => {\n const handleQuotaExhausted = (event: Event) => {\n const detail = (event as CustomEvent<BigConsoleQuotaExhaustedEventDetail>).detail;\n setState({ open: true, kind: detail?.kind ?? 'generic' });\n };\n\n window.addEventListener(BIGCONSOLE_QUOTA_EXHAUSTED_EVENT, handleQuotaExhausted);\n return () => {\n window.removeEventListener(BIGCONSOLE_QUOTA_EXHAUSTED_EVENT, handleQuotaExhausted);\n };\n }, []);\n\n const handleClose = useCallback(() => {\n setState((current) => ({ ...current, open: false }));\n }, []);\n\n const isBillingSetup = state.kind === 'billing-setup';\n\n const handleViewBilling = useCallback(() => {\n setState((current) => ({ ...current, open: false }));\n onViewBilling(isBillingSetup ? BIGCONSOLE_BILLING_PATHS.billingSetup : BIGCONSOLE_BILLING_PATHS.billing);\n }, [onViewBilling, isBillingSetup]);\n\n const content = getBigConsoleQuotaDialogContent(state.kind);\n const title = t(`bigconsole.quota.${state.kind}.title`, content.title);\n const message = t(`bigconsole.quota.${state.kind}.message`, content.message);\n\n return (\n <>\n {children}\n <ResponsiveDialog open={state.open} onOpenChange={(open) => !open && handleClose()}>\n <ResponsiveDialogContent className=\"sm:max-w-md\" showCloseButton={false}>\n <div className=\"flex items-start gap-3\">\n <div className=\"flex size-10 shrink-0 items-center justify-center rounded-full bg-status-warning-bg-subtle text-status-warning-text\">\n <AlertTriangle className=\"size-5\" aria-hidden=\"true\" />\n </div>\n <ResponsiveDialogHeader className=\"text-left\">\n <ResponsiveDialogTitle>{title}</ResponsiveDialogTitle>\n <ResponsiveDialogDescription>{message}</ResponsiveDialogDescription>\n </ResponsiveDialogHeader>\n </div>\n <ResponsiveDialogFooter>\n <Button type=\"button\" variant=\"outline\" onClick={handleClose}>\n {t('bigconsole.quota.dismiss', 'Dismiss')}\n </Button>\n <Button type=\"button\" onClick={handleViewBilling}>\n {isBillingSetup\n ? t('bigconsole.quota.setUpBilling', 'Set up billing')\n : t('bigconsole.quota.viewBilling', 'View Billing')}\n </Button>\n </ResponsiveDialogFooter>\n </ResponsiveDialogContent>\n </ResponsiveDialog>\n </>\n );\n}\n"],"mappings":";;;;;;;AA+BA,IAAM,IAAkC;CAAE,MAAM;CAAO,MAAM;CAAW;AAExE,SAAgB,EAAwB,EAAE,aAAU,oBAA+C;CACjG,IAAM,EAAE,SAAM,GAAS,EACjB,CAAC,GAAO,KAAY,EAA2B,EAAc;AAEnE,SAAgB;EACd,IAAM,KAAwB,MAAiB;GAC7C,IAAM,IAAU,EAA2D;AAC3E,KAAS;IAAE,MAAM;IAAM,MAAM,GAAQ,QAAQ;IAAW,CAAC;;AAI3D,SADA,OAAO,iBAAiB,GAAkC,EAAqB,QAClE;AACX,UAAO,oBAAoB,GAAkC,EAAqB;;IAEnF,EAAE,CAAC;CAEN,IAAM,IAAc,QAAkB;AACpC,KAAU,OAAa;GAAE,GAAG;GAAS,MAAM;GAAO,EAAE;IACnD,EAAE,CAAC,EAEA,IAAiB,EAAM,SAAS,iBAEhC,IAAoB,QAAkB;AAE1C,EADA,GAAU,OAAa;GAAE,GAAG;GAAS,MAAM;GAAO,EAAE,EACpD,EAAc,IAAiB,EAAyB,eAAe,EAAyB,QAAQ;IACvG,CAAC,GAAe,EAAe,CAAC,EAE7B,IAAU,EAAgC,EAAM,KAAK,EACrD,IAAQ,EAAE,oBAAoB,EAAM,KAAK,SAAS,EAAQ,MAAM,EAChE,IAAU,EAAE,oBAAoB,EAAM,KAAK,WAAW,EAAQ,QAAQ;AAE5E,QACE,kBAAA,GAAA,EAAA,UAAA,CACG,GACD,kBAAC,GAAD;EAAkB,MAAM,EAAM;EAAM,eAAe,MAAS,CAAC,KAAQ,GAAa;YAChF,kBAAC,GAAD;GAAyB,WAAU;GAAc,iBAAiB;aAAlE,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eACb,kBAAC,GAAD;MAAe,WAAU;MAAS,eAAY;MAAS,CAAA;KACnD,CAAA,EACN,kBAAC,GAAD;KAAwB,WAAU;eAAlC,CACE,kBAAC,GAAD,EAAA,UAAwB,GAA8B,CAAA,EACtD,kBAAC,GAAD,EAAA,UAA8B,GAAsC,CAAA,CAC7C;OACrB;OACN,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;IAAQ,MAAK;IAAS,SAAQ;IAAU,SAAS;cAC9C,EAAE,4BAA4B,UAAU;IAClC,CAAA,EACT,kBAAC,GAAD;IAAQ,MAAK;IAAS,SAAS;cAC5B,IACG,EAAE,iCAAiC,iBAAiB,GACpD,EAAE,gCAAgC,eAAe;IAC9C,CAAA,CACc,EAAA,CAAA,CACD;;EACT,CAAA,CAClB,EAAA,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AdaptiveCardRenderer.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/renderers/adapters/AdaptiveCardRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAyD,MAAM,OAAO,CAAC;AAG9E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAsZvD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA4TvD,CAAC;AAkHH,eAAe,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AdaptiveCardRenderer.js","names":[],"sources":["../../../../src/bigconsole/renderers/adapters/AdaptiveCardRenderer.tsx"],"sourcesContent":["/**\n * Adaptive Card Renderer (v2.1)\n *\n * Renders widgets using the official Microsoft Adaptive Cards SDK.\n * Based on patterns from https://github.com/microsoft/AdaptiveCards\n *\n * Supports full template binding with data context including:\n * - Nested object access: ${creator.name}\n * - Array iteration with $data\n * - Conditional rendering with $when\n * - Date formatting: {{DATE(${field},SHORT)}}\n * - All Adaptive Card elements and actions\n * - Markdown rendering in TextBlocks\n *\n * @see https://adaptivecards.io/\n */\n\nimport React, { memo, useEffect, useRef, useCallback, useState } from 'react';\nimport * as AdaptiveCards from 'adaptivecards';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport type { RendererProps } from '../types/renderer';\n\n// Type for the templating module\ntype ACDataModule = typeof import('adaptivecards-templating');\n\n// ============================================================================\n// Fallback Template Expansion (when adaptivecards-templating fails)\n// ============================================================================\n\n/**\n * Simple template expansion fallback.\n * Handles basic ${property}, ${object.property} syntax, and $data iteration.\n * Used when adaptivecards-templating library fails to load.\n */\nfunction expandTemplateFallback(\n template: unknown,\n data: Record<string, unknown>,\n rootData?: Record<string, unknown>\n): unknown {\n // Keep reference to root data for nested expansions\n const root = rootData || data;\n\n if (typeof template === 'string') {\n // Replace ${property} patterns\n return template.replace(/\\$\\{([^}]+)\\}/g, (match, path) => {\n const trimmedPath = path.trim();\n // Try current data first, then root data\n let value = getNestedValue(data, trimmedPath);\n if (value === undefined && root !== data) {\n value = getNestedValue(root, trimmedPath);\n }\n return value !== undefined ? String(value) : match;\n });\n }\n\n if (Array.isArray(template)) {\n return template.flatMap((item) => {\n const expanded = expandTemplateFallback(item, data, root);\n return Array.isArray(expanded) ? expanded : [expanded];\n });\n }\n\n if (template && typeof template === 'object') {\n const templateObj = template as Record<string, unknown>;\n\n // Handle $data iteration\n if ('$data' in templateObj) {\n const dataPath = templateObj.$data;\n let arrayData: unknown[] = [];\n\n if (typeof dataPath === 'string') {\n // Extract array path from ${arrayName} pattern\n const match = dataPath.match(/^\\$\\{([^}]+)\\}$/);\n if (match) {\n const arrValue = getNestedValue(data, match[1].trim()) || getNestedValue(root, match[1].trim());\n if (Array.isArray(arrValue)) {\n arrayData = arrValue;\n }\n }\n } else if (Array.isArray(dataPath)) {\n arrayData = dataPath;\n }\n\n if (arrayData.length > 0) {\n // Create a copy of template without $data for each array item\n const templateWithoutData = Object.fromEntries(Object.entries(templateObj).filter(([key]) => key !== '$data'));\n return arrayData.map((item) => {\n const itemData =\n typeof item === 'object' && item !== null ? (item as Record<string, unknown>) : { value: item };\n // Merge item data with root data for nested references\n const mergedData = { ...root, ...itemData };\n return expandTemplateFallback(templateWithoutData, mergedData, root);\n });\n }\n }\n\n const result: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(templateObj)) {\n if (key === '$data') continue; // Already handled above\n if (key === '$when') continue; // Skip conditional rendering in fallback\n result[key] = expandTemplateFallback(value, data, root);\n }\n return result;\n }\n\n return template;\n}\n\n/**\n * Get nested property value from object using dot notation.\n * e.g., getNestedValue({a: {b: 1}}, 'a.b') => 1\n */\nfunction getNestedValue(obj: Record<string, unknown>, path: string): unknown {\n const parts = path.split('.');\n let current: unknown = obj;\n\n for (const part of parts) {\n if (current === null || current === undefined) return undefined;\n if (typeof current !== 'object') return undefined;\n current = (current as Record<string, unknown>)[part];\n }\n\n return current;\n}\n\n// ============================================================================\n// Markdown Processing Setup (from official adaptivecards-react)\n// ============================================================================\n\n/**\n * Simple markdown processor for Adaptive Cards.\n * Handles basic markdown syntax: **bold**, *italic*, [links](url), `code`\n */\nconst processMarkdown = (text: string): string => {\n if (!text) return '';\n\n const html = text\n // Escape HTML first\n .replace(/&/g, '&amp;')\n .replace(/</g, '&lt;')\n .replace(/>/g, '&gt;')\n // Bold: **text** or __text__\n .replace(/\\*\\*(.+?)\\*\\*/g, '<strong>$1</strong>')\n .replace(/__(.+?)__/g, '<strong>$1</strong>')\n // Italic: *text* or _text_\n .replace(/\\*(.+?)\\*/g, '<em>$1</em>')\n .replace(/_(.+?)_/g, '<em>$1</em>')\n // Code: `code`\n .replace(\n /`(.+?)`/g,\n '<code style=\"background:#f3f4f6;padding:0.125rem 0.25rem;border-radius:0.25rem;font-family:monospace;\">$1</code>'\n )\n // Links: [text](url)\n .replace(\n /\\[(.+?)\\]\\((.+?)\\)/g,\n '<a href=\"$2\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"color:#2563eb;text-decoration:underline;\">$1</a>'\n )\n // Line breaks\n .replace(/\\n/g, '<br/>');\n\n return html;\n};\n\n// Set up global markdown processor for Adaptive Cards\nif (!AdaptiveCards.AdaptiveCard.onProcessMarkdown) {\n AdaptiveCards.AdaptiveCard.onProcessMarkdown = (text, result) => {\n result.outputHtml = processMarkdown(text);\n result.didProcess = true;\n };\n}\n\n// ============================================================================\n// Host Config - Customize Adaptive Card appearance\n// ============================================================================\n\nconst hostConfig = new AdaptiveCards.HostConfig({\n fontFamily: 'Inter, system-ui, -apple-system, sans-serif',\n containerStyles: {\n default: {\n backgroundColor: '#ffffff',\n foregroundColors: {\n default: {\n default: '#1f2937',\n subtle: '#6b7280',\n },\n accent: {\n default: '#2563eb',\n subtle: '#3b82f6',\n },\n attention: {\n default: '#dc2626',\n subtle: '#ef4444',\n },\n good: {\n default: '#16a34a',\n subtle: '#22c55e',\n },\n warning: {\n default: '#d97706',\n subtle: '#f59e0b',\n },\n light: {\n default: '#9ca3af',\n subtle: '#d1d5db',\n },\n dark: {\n default: '#111827',\n subtle: '#374151',\n },\n },\n },\n emphasis: {\n backgroundColor: '#f3f4f6',\n foregroundColors: {\n default: {\n default: '#1f2937',\n subtle: '#6b7280',\n },\n accent: {\n default: '#2563eb',\n subtle: '#3b82f6',\n },\n attention: {\n default: '#dc2626',\n subtle: '#ef4444',\n },\n good: {\n default: '#16a34a',\n subtle: '#22c55e',\n },\n warning: {\n default: '#d97706',\n subtle: '#f59e0b',\n },\n light: {\n default: '#9ca3af',\n subtle: '#d1d5db',\n },\n dark: {\n default: '#111827',\n subtle: '#374151',\n },\n },\n },\n },\n spacing: {\n small: 4,\n default: 8,\n medium: 12,\n large: 16,\n extraLarge: 24,\n padding: 16,\n },\n separator: {\n lineThickness: 1,\n lineColor: '#e5e7eb',\n },\n imageSizes: {\n small: 40,\n medium: 80,\n large: 160,\n },\n actions: {\n maxActions: 5,\n spacing: AdaptiveCards.Spacing.Default,\n buttonSpacing: 8,\n showCard: {\n actionMode: AdaptiveCards.ShowCardActionMode.Inline,\n inlineTopMargin: 12,\n },\n actionsOrientation: AdaptiveCards.Orientation.Horizontal,\n actionAlignment: AdaptiveCards.ActionAlignment.Left,\n },\n adaptiveCard: {\n allowCustomStyle: true,\n },\n textBlock: {\n headingLevel: 2,\n },\n factSet: {\n title: {\n color: AdaptiveCards.TextColor.Default,\n size: AdaptiveCards.TextSize.Default,\n isSubtle: true,\n weight: AdaptiveCards.TextWeight.Bolder,\n wrap: true,\n },\n value: {\n color: AdaptiveCards.TextColor.Default,\n size: AdaptiveCards.TextSize.Default,\n isSubtle: false,\n weight: AdaptiveCards.TextWeight.Default,\n wrap: true,\n },\n spacing: 8,\n },\n});\n\n// Dark mode host config - duplicating base config with dark overrides\nconst darkHostConfig = new AdaptiveCards.HostConfig({\n fontFamily: 'Inter, system-ui, -apple-system, sans-serif',\n spacing: {\n small: 4,\n default: 8,\n medium: 12,\n large: 16,\n extraLarge: 24,\n padding: 16,\n },\n imageSizes: {\n small: 40,\n medium: 80,\n large: 160,\n },\n actions: {\n maxActions: 5,\n spacing: AdaptiveCards.Spacing.Default,\n buttonSpacing: 8,\n showCard: {\n actionMode: AdaptiveCards.ShowCardActionMode.Inline,\n inlineTopMargin: 12,\n },\n actionsOrientation: AdaptiveCards.Orientation.Horizontal,\n actionAlignment: AdaptiveCards.ActionAlignment.Left,\n },\n adaptiveCard: {\n allowCustomStyle: true,\n },\n textBlock: {\n headingLevel: 2,\n },\n factSet: {\n title: {\n color: AdaptiveCards.TextColor.Default,\n size: AdaptiveCards.TextSize.Default,\n isSubtle: true,\n weight: AdaptiveCards.TextWeight.Bolder,\n wrap: true,\n },\n value: {\n color: AdaptiveCards.TextColor.Default,\n size: AdaptiveCards.TextSize.Default,\n isSubtle: false,\n weight: AdaptiveCards.TextWeight.Default,\n wrap: true,\n },\n spacing: 8,\n },\n containerStyles: {\n default: {\n backgroundColor: '#111827',\n foregroundColors: {\n default: {\n default: '#f9fafb',\n subtle: '#9ca3af',\n },\n accent: {\n default: '#60a5fa',\n subtle: '#3b82f6',\n },\n attention: {\n default: '#f87171',\n subtle: '#ef4444',\n },\n good: {\n default: '#4ade80',\n subtle: '#22c55e',\n },\n warning: {\n default: '#fbbf24',\n subtle: '#f59e0b',\n },\n light: {\n default: '#d1d5db',\n subtle: '#9ca3af',\n },\n dark: {\n default: '#f9fafb',\n subtle: '#e5e7eb',\n },\n },\n },\n emphasis: {\n backgroundColor: '#1f2937',\n foregroundColors: {\n default: {\n default: '#f9fafb',\n subtle: '#9ca3af',\n },\n accent: {\n default: '#60a5fa',\n subtle: '#3b82f6',\n },\n attention: {\n default: '#f87171',\n subtle: '#ef4444',\n },\n good: {\n default: '#4ade80',\n subtle: '#22c55e',\n },\n warning: {\n default: '#fbbf24',\n subtle: '#f59e0b',\n },\n light: {\n default: '#d1d5db',\n subtle: '#9ca3af',\n },\n dark: {\n default: '#f9fafb',\n subtle: '#e5e7eb',\n },\n },\n },\n },\n separator: {\n lineThickness: 1,\n lineColor: '#374151',\n },\n});\n\n// ============================================================================\n// Main Renderer Component\n// ============================================================================\n\nexport const AdaptiveCardRenderer: React.FC<RendererProps> = memo(function AdaptiveCardRenderer({\n widget,\n data,\n template,\n isLoading,\n error,\n onAction,\n}) {\n const { t } = useI18n();\n const containerRef = useRef<HTMLDivElement>(null);\n const cardRef = useRef<AdaptiveCards.AdaptiveCard | null>(null);\n const [renderError, setRenderError] = useState<string | null>(null);\n const [isDarkMode, setIsDarkMode] = useState(false);\n const [templateWarnings, setTemplateWarnings] = useState<string[]>([]);\n const [acDataModule, setAcDataModule] = useState<ACDataModule | null>(null);\n const [templatingError, setTemplatingError] = useState<string | null>(null);\n\n // Load adaptivecards-templating dynamically to avoid Node.js polyfill issues\n useEffect(() => {\n let mounted = true;\n\n import('adaptivecards-templating')\n .then((module) => {\n if (mounted) {\n setAcDataModule(module);\n }\n })\n .catch((err) => {\n if (mounted) {\n setTemplatingError(\n err.message ||\n t('bigconsole.widget.renderer.adaptiveCard.templatingLoadFailed', 'Failed to load templating library')\n );\n }\n });\n\n return () => {\n mounted = false;\n };\n }, [t]);\n\n // Detect dark mode\n useEffect(() => {\n const checkDarkMode = () => {\n setIsDarkMode(document.documentElement.classList.contains('dark'));\n };\n checkDarkMode();\n\n // Watch for changes\n const observer = new MutationObserver(checkDarkMode);\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['class'],\n });\n\n return () => observer.disconnect();\n }, []);\n\n // Handle action execution\n const handleAction = useCallback(\n (action: AdaptiveCards.Action) => {\n if (action instanceof AdaptiveCards.OpenUrlAction) {\n // Open URL in new tab\n if (action.url) {\n window.open(action.url, '_blank', 'noopener,noreferrer');\n }\n } else if (action instanceof AdaptiveCards.SubmitAction) {\n // Call onAction callback with action data\n if (onAction) {\n onAction(action.title || 'submit', (action.data as Record<string, unknown>) || {});\n }\n } else if (action instanceof AdaptiveCards.ExecuteAction) {\n // Call onAction callback with verb and data\n if (onAction) {\n onAction(action.verb || 'execute', (action.data as Record<string, unknown>) || {});\n }\n } else if (action instanceof AdaptiveCards.ShowCardAction) {\n // ShowCard is handled inline by the SDK\n } else {\n }\n },\n [onAction]\n );\n\n // Render the Adaptive Card\n useEffect(() => {\n if (!containerRef.current) return;\n if (isLoading) return;\n\n // Clear previous content safely\n containerRef.current.innerHTML = '';\n setRenderError(null);\n setTemplateWarnings([]);\n\n // Debug logging\n\n try {\n let cardPayload: object | null = null;\n let warnings: string[] = [];\n\n // Determine the card payload\n if (template) {\n // We have a template - use templating engine if available\n const templateObj = typeof template === 'string' ? JSON.parse(template) : template;\n\n if (acDataModule) {\n try {\n // Create template instance using dynamically loaded module\n const cardTemplate = new acDataModule.Template(templateObj);\n\n // Create evaluation context with data\n // Supports $root for data, $host for host application context\n const context = {\n $root: data || {},\n $host: {\n widgetId: widget?.id,\n widgetTitle: widget?.title,\n theme: isDarkMode ? 'dark' : 'light',\n },\n };\n\n // Expand template with data\n cardPayload = cardTemplate.expand(context);\n\n // Capture any template expansion warnings\n warnings = cardTemplate.getLastTemplateExpansionWarnings();\n if (warnings.length > 0) {\n setTemplateWarnings(warnings);\n }\n } catch (templatingErr) {\n // Templating library threw an error - use fallback\n cardPayload = expandTemplateFallback(templateObj, (data || {}) as Record<string, unknown>) as object;\n warnings.push(\n t(\n 'bigconsole.widget.renderer.adaptiveCard.simplifiedExpansion',\n 'Using simplified template expansion (some features may not work)'\n )\n );\n setTemplateWarnings(warnings);\n }\n } else {\n // Templating not available - use fallback expansion\n cardPayload = expandTemplateFallback(templateObj, (data || {}) as Record<string, unknown>) as object;\n if (templatingError) {\n warnings.push(\n t('bigconsole.widget.renderer.adaptiveCard.fallbackExpansion', 'Using fallback expansion: {{error}}', {\n error: templatingError ?? '',\n })\n );\n setTemplateWarnings(warnings);\n }\n }\n } else if (data && typeof data === 'object' && 'type' in data && data.type === 'AdaptiveCard') {\n // Data is already an Adaptive Card\n cardPayload = data;\n } else if (data && typeof data === 'object' && 'body' in data) {\n // Data has body property - treat as Adaptive Card\n cardPayload = {\n type: 'AdaptiveCard',\n version: '1.6',\n ...data,\n };\n }\n\n if (!cardPayload) {\n setRenderError(\n t('bigconsole.widget.renderer.adaptiveCard.noValidData', 'No template or valid Adaptive Card data provided')\n );\n return;\n }\n\n // Create or reuse Adaptive Card instance\n if (!cardRef.current) {\n cardRef.current = new AdaptiveCards.AdaptiveCard();\n }\n const adaptiveCard = cardRef.current;\n\n // Set host config based on theme\n adaptiveCard.hostConfig = isDarkMode ? darkHostConfig : hostConfig;\n\n // Set action handler\n adaptiveCard.onExecuteAction = handleAction;\n\n // Parse the card payload\n adaptiveCard.parse(cardPayload);\n\n // Render to HTML element\n const renderedCard = adaptiveCard.render();\n\n if (renderedCard) {\n // Apply additional styling\n renderedCard.style.height = '100%';\n renderedCard.style.overflow = 'auto';\n\n // Add class for styling consistency\n renderedCard.classList.add('adaptive-card-container');\n\n // Append to container\n containerRef.current.appendChild(renderedCard);\n } else {\n setRenderError(t('bigconsole.widget.renderer.adaptiveCard.renderFailed', 'Failed to render Adaptive Card'));\n }\n } catch (e) {\n setRenderError(\n (e as Error).message ||\n t('bigconsole.widget.renderer.adaptiveCard.unknownError', 'Unknown error rendering card')\n );\n }\n }, [template, data, widget, isLoading, isDarkMode, handleAction, acDataModule, templatingError, t]);\n\n // Loading state\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center h-full p-4 animate-in fade-in duration-200\">\n <div className=\"animate-pulse space-y-3 w-full\">\n <div className=\"h-5 bg-bg-sunken rounded w-3/4\" />\n <div className=\"flex gap-3\">\n <div className=\"h-10 w-10 bg-bg-sunken rounded-full\" />\n <div className=\"flex-1 space-y-2\">\n <div className=\"h-4 bg-bg-sunken rounded w-1/2\" />\n <div className=\"h-3 bg-bg-sunken rounded w-1/3\" />\n </div>\n </div>\n <div className=\"h-4 bg-bg-sunken rounded w-full\" />\n <div className=\"h-4 bg-bg-sunken rounded w-5/6\" />\n <div className=\"grid grid-cols-2 gap-2 mt-4\">\n <div className=\"h-3 bg-bg-sunken rounded\" />\n <div className=\"h-3 bg-bg-sunken rounded\" />\n <div className=\"h-3 bg-bg-sunken rounded\" />\n <div className=\"h-3 bg-bg-sunken rounded\" />\n </div>\n </div>\n </div>\n );\n }\n\n // Error state\n if (error || renderError) {\n return (\n <div className=\"flex items-center justify-center h-full p-4\">\n <div className=\"text-center max-w-sm\">\n <div className=\"w-12 h-12 mx-auto mb-3 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center\">\n <svg\n className=\"w-6 h-6 text-red-600 dark:text-red-400\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\n />\n </svg>\n </div>\n <p className=\"font-medium text-status-error-text\">\n {t('bigconsole.widget.renderer.adaptiveCard.errorRendering', 'Error rendering card')}\n </p>\n <p className=\"text-sm text-secondary mt-1\">{error || renderError}</p>\n {templateWarnings.length > 0 && (\n <div className=\"mt-3 p-2 bg-yellow-50 dark:bg-yellow-900/20 rounded text-left\">\n <p className=\"text-xs font-medium text-yellow-700 dark:text-yellow-400 mb-1\">\n {t('bigconsole.widget.renderer.adaptiveCard.templateWarnings', 'Template Warnings:')}\n </p>\n {templateWarnings.map((warning, i) => (\n <p key={i} className=\"text-xs text-yellow-600 dark:text-yellow-300\">\n {warning}\n </p>\n ))}\n </div>\n )}\n </div>\n </div>\n );\n }\n\n // Empty state - no template or data\n if (!template && !data) {\n return (\n <div className=\"flex items-center justify-center h-full p-4 animate-in fade-in duration-200\">\n <div className=\"text-center max-w-sm\">\n <div className=\"w-12 h-12 mx-auto mb-3 rounded-full bg-bg-sunken flex items-center justify-center\">\n <svg className=\"w-6 h-6 text-text-secondary\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z\"\n />\n </svg>\n </div>\n <p className=\"font-medium text-secondary\">\n {t('bigconsole.widget.renderer.adaptiveCard.noContent', 'No content')}\n </p>\n <p className=\"text-sm text-text-secondary mt-1\">\n {t(\n 'bigconsole.widget.renderer.adaptiveCard.noContentHint',\n 'Configure a template or provide data to display an Adaptive Card'\n )}\n </p>\n </div>\n </div>\n );\n }\n\n return (\n <div\n ref={containerRef}\n className=\"adaptive-card-wrapper h-full overflow-auto\"\n style={{\n // CSS custom properties for further customization\n ['--ac-font-family' as string]: 'Inter, system-ui, -apple-system, sans-serif',\n }}\n />\n );\n});\n\n// ============================================================================\n// Global Styles for Adaptive Cards\n// ============================================================================\n\n// Inject global styles for Adaptive Cards\nconst styleId = 'adaptive-card-global-styles';\nif (typeof document !== 'undefined' && !document.getElementById(styleId)) {\n const style = document.createElement('style');\n style.id = styleId;\n style.textContent = `\n .adaptive-card-wrapper {\n font-family: Inter, system-ui, -apple-system, sans-serif;\n }\n\n .adaptive-card-wrapper .ac-textBlock {\n font-family: inherit;\n }\n\n .adaptive-card-wrapper .ac-image.ac-image-person {\n border-radius: 50%;\n object-fit: cover;\n }\n\n .adaptive-card-wrapper .ac-pushButton {\n font-family: inherit;\n font-weight: 500;\n border-radius: 0.375rem;\n padding: 0.5rem 1rem;\n transition: all 0.15s ease-in-out;\n }\n\n .adaptive-card-wrapper .ac-pushButton:hover {\n filter: brightness(0.95);\n }\n\n .adaptive-card-wrapper .ac-input {\n font-family: inherit;\n border-radius: 0.375rem;\n border: 1px solid #d1d5db;\n padding: 0.5rem 0.75rem;\n }\n\n .dark .adaptive-card-wrapper .ac-input {\n border-color: #4b5563;\n background-color: #1f2937;\n color: #f9fafb;\n }\n\n .adaptive-card-wrapper .ac-input:focus {\n outline: none;\n ring: 2px;\n ring-color: #3b82f6;\n }\n\n .adaptive-card-wrapper .ac-separator {\n margin: 0.5rem 0;\n }\n\n .adaptive-card-wrapper .ac-factSet {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0.25rem 1rem;\n }\n\n .adaptive-card-wrapper .ac-fact-title {\n color: #6b7280;\n }\n\n .dark .adaptive-card-wrapper .ac-fact-title {\n color: #9ca3af;\n }\n\n .adaptive-card-wrapper .ac-actionSet {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n margin-top: 1rem;\n padding-top: 1rem;\n border-top: 1px solid #e5e7eb;\n }\n\n .dark .adaptive-card-wrapper .ac-actionSet {\n border-top-color: #374151;\n }\n\n /* Markdown rendered code blocks in dark mode */\n .dark .adaptive-card-wrapper code {\n background: #374151 !important;\n color: #f9fafb !important;\n }\n\n /* Markdown links in dark mode */\n .dark .adaptive-card-wrapper a {\n color: #60a5fa !important;\n }\n\n /* TextBlock with markdown - ensure proper wrapping */\n .adaptive-card-wrapper .ac-textBlock p {\n margin: 0;\n }\n\n .adaptive-card-wrapper .ac-textBlock strong {\n font-weight: 600;\n }\n\n .adaptive-card-wrapper .ac-textBlock em {\n font-style: italic;\n }\n `;\n document.head.appendChild(style);\n}\n\nexport default AdaptiveCardRenderer;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BigConsoleRenderer.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/renderers/adapters/BigConsoleRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA0GvD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA4CtD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BigConsoleRenderer.js","names":[],"sources":["../../../../src/bigconsole/renderers/adapters/BigConsoleRenderer.tsx"],"sourcesContent":["/**\n * BigConsole Native Renderer\n *\n * Pass-through renderer that uses the native BigConsole widget system.\n * This is the default renderer for all widget types.\n */\n\nimport React from 'react';\nimport type { RendererProps } from '../types/renderer';\nimport { type WidgetComponentProps } from '../../components/widgets/WidgetRegistry';\n\n// Type for widget module exports (used in lazy imports)\ninterface WidgetModule {\n [key: string]: unknown;\n}\n\n// Helper to resolve the widget component from a module\nfunction resolveWidget(m: WidgetModule, ...names: string[]): { default: React.ComponentType<WidgetComponentProps> } {\n for (const name of names) {\n if (m[name]) return { default: m[name] as React.ComponentType<WidgetComponentProps> };\n }\n return { default: (m as { default: React.ComponentType<WidgetComponentProps> }).default };\n}\n\n// Lazy load widget components (handle both default and named exports)\nconst MetricCardWidget = React.lazy(() =>\n import('../../components/widgets/metric-card').then((m: WidgetModule) => resolveWidget(m, 'MetricCardWidget'))\n);\nconst ChartWidget = React.lazy(() =>\n import('../../components/widgets/chart').then((m: WidgetModule) => resolveWidget(m, 'ChartWidget'))\n);\nconst TableWidget = React.lazy(() =>\n import('../../components/widgets/table').then((m: WidgetModule) => resolveWidget(m, 'TableWidget'))\n);\nconst GaugeWidget = React.lazy(() =>\n import('../../components/widgets/gauge').then((m: WidgetModule) => resolveWidget(m, 'GaugeWidget'))\n);\nconst ProgressWidget = React.lazy(() =>\n import('../../components/widgets/progress').then((m: WidgetModule) => resolveWidget(m, 'ProgressWidget'))\n);\nconst ListWidget = React.lazy(() =>\n import('../../components/widgets/list').then((m: WidgetModule) => resolveWidget(m, 'ListWidget'))\n);\nconst TextWidget = React.lazy(() =>\n import('../../components/widgets/text-widget').then((m: WidgetModule) => resolveWidget(m, 'TextWidget'))\n);\nconst KanbanWidget = React.lazy(() =>\n import('../../components/widgets/kanban').then((m: WidgetModule) => resolveWidget(m, 'KanbanWidget'))\n);\nconst TimelineWidget = React.lazy(() =>\n import('../../components/widgets/timeline').then((m: WidgetModule) => resolveWidget(m, 'TimelineWidget'))\n);\nconst CalendarWidget = React.lazy(() =>\n import('../../components/widgets/calendar').then((m: WidgetModule) => resolveWidget(m, 'CalendarWidget'))\n);\nconst MapWidget = React.lazy(() =>\n import('../../components/widgets/map-widget').then((m: WidgetModule) => resolveWidget(m, 'MapWidget'))\n);\nconst HeatmapWidget = React.lazy(() =>\n import('../../components/widgets/heatmap').then((m: WidgetModule) => resolveWidget(m, 'HeatmapWidget'))\n);\nconst FunnelWidget = React.lazy(() =>\n import('../../components/widgets/funnel').then((m: WidgetModule) =>\n resolveWidget(m, 'FunnelWidget', 'FunnelChartWidget')\n )\n);\nconst RetentionWidget = React.lazy(() =>\n import('../../components/widgets/retention').then((m: WidgetModule) => resolveWidget(m, 'RetentionWidget'))\n);\nconst IframeWidget = React.lazy(() =>\n import('../../components/widgets/iframe-widget').then((m: WidgetModule) => resolveWidget(m, 'IframeWidget'))\n);\nconst CustomWidget = React.lazy(() =>\n import('../../components/widgets/custom').then((m: WidgetModule) => resolveWidget(m, 'CustomWidget'))\n);\nconst KpiComparisonWidget = React.lazy(() =>\n import('../../components/widgets/kpi-comparison').then((m: WidgetModule) => resolveWidget(m, 'KpiComparisonWidget'))\n);\nconst PivotTableWidget = React.lazy(() =>\n import('../../components/widgets/pivot-table').then((m: WidgetModule) => resolveWidget(m, 'PivotTableWidget'))\n);\nconst FormWidget = React.lazy(() =>\n import('../../components/widgets/form').then((m: WidgetModule) => resolveWidget(m, 'FormWidget'))\n);\n\n// Widget component map\nconst WIDGET_COMPONENTS: Record<string, React.ComponentType<WidgetComponentProps>> = {\n metric_card: MetricCardWidget,\n chart: ChartWidget,\n table: TableWidget,\n gauge: GaugeWidget,\n progress: ProgressWidget,\n list: ListWidget,\n text: TextWidget,\n kanban: KanbanWidget,\n timeline: TimelineWidget,\n calendar: CalendarWidget,\n map: MapWidget,\n heatmap: HeatmapWidget,\n funnel_chart: FunnelWidget,\n retention: RetentionWidget,\n form: FormWidget,\n iframe: IframeWidget,\n custom: CustomWidget,\n kpi_card_comparison: KpiComparisonWidget,\n pivot_table: PivotTableWidget,\n // Type aliases for backwards compatibility\n kpi: KpiComparisonWidget,\n kpi_comparison: KpiComparisonWidget,\n metric: MetricCardWidget,\n funnel: FunnelWidget,\n pivot: PivotTableWidget,\n};\n\n/**\n * BigConsole Native Renderer Component\n */\nexport const BigConsoleRenderer: React.FC<RendererProps> = ({\n widget,\n data,\n isEditMode,\n isSelected,\n isLoading,\n error,\n onDrilldown,\n onAction: _onAction,\n}) => {\n // Normalize widget type to lowercase for lookup (handles CUSTOM -> custom, etc.)\n const normalizedType = widget.type?.toLowerCase() || '';\n const WidgetComponent = WIDGET_COMPONENTS[normalizedType];\n\n if (!WidgetComponent) {\n return (\n <div className=\"flex items-center justify-center h-full bg-bg-sunken rounded-lg p-4 animate-in fade-in duration-200\">\n <div className=\"text-center text-secondary\">\n <p className=\"font-medium\">Unknown Widget Type</p>\n <p className=\"text-sm\">{widget.type}</p>\n </div>\n </div>\n );\n }\n\n return (\n <React.Suspense\n fallback={\n <div className=\"flex items-center justify-center h-full animate-in fade-in duration-200\">\n <div className=\"animate-pulse bg-bg-sunken rounded w-full h-full\" />\n </div>\n }\n >\n <WidgetComponent\n widget={widget}\n data={data}\n isEditMode={isEditMode}\n isSelected={isSelected}\n isLoading={isLoading}\n error={error}\n onDrilldown={onDrilldown}\n />\n </React.Suspense>\n );\n};\n\nexport default BigConsoleRenderer;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockKitRenderer.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/renderers/adapters/BlockKitRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAqD,MAAM,OAAO,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAmD,MAAM,mBAAmB,CAAC;AA2iBxG,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqHnD,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BlockKitRenderer.js","names":[],"sources":["../../../../src/bigconsole/renderers/adapters/BlockKitRenderer.tsx"],"sourcesContent":["/**\n * Slack Block Kit Renderer (v2.0)\n *\n * Renders widgets using Slack Block Kit format.\n * Supports common block types: section, divider, header, context, image, actions.\n */\n\nimport React, { memo, useCallback, useMemo, type ReactNode } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport type { RendererProps, BlockKitTemplate, BlockKitElement, BlockKitText } from '../types/renderer';\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\n/**\n * Render Block Kit text (plain_text or mrkdwn)\n * Uses React elements instead of dangerouslySetInnerHTML for better security\n */\nfunction renderText(text: BlockKitText | string | undefined): React.ReactNode {\n if (!text) return null;\n\n if (typeof text === 'string') {\n return text;\n }\n\n if (text.type === 'mrkdwn') {\n // Parse mrkdwn and convert to React elements\n const content = text.text || '';\n\n // Parse the markdown into React elements\n const elements: React.ReactNode[] = [];\n let remaining = content;\n let key = 0;\n\n // Process text segment by segment\n while (remaining.length > 0) {\n // Try to match bold: *text*\n const boldMatch = remaining.match(/^\\*([^*]+)\\*/);\n if (boldMatch) {\n elements.push(<strong key={key++}>{boldMatch[1]}</strong>);\n remaining = remaining.slice(boldMatch[0].length);\n continue;\n }\n\n // Try to match italic: _text_\n const italicMatch = remaining.match(/^_([^_]+)_/);\n if (italicMatch) {\n elements.push(<em key={key++}>{italicMatch[1]}</em>);\n remaining = remaining.slice(italicMatch[0].length);\n continue;\n }\n\n // Try to match strike: ~text~\n const strikeMatch = remaining.match(/^~([^~]+)~/);\n if (strikeMatch) {\n elements.push(<del key={key++}>{strikeMatch[1]}</del>);\n remaining = remaining.slice(strikeMatch[0].length);\n continue;\n }\n\n // Try to match code: `text`\n const codeMatch = remaining.match(/^`([^`]+)`/);\n if (codeMatch) {\n elements.push(\n <code key={key++} className=\"bg-bg-sunken px-1 rounded text-sm\">\n {codeMatch[1]}\n </code>\n );\n remaining = remaining.slice(codeMatch[0].length);\n continue;\n }\n\n // Try to match link with text: <url|text>\n const linkTextMatch = remaining.match(/^<([^|>]+)\\|([^>]+)>/);\n if (linkTextMatch) {\n elements.push(\n <a\n key={key++}\n href={linkTextMatch[1]}\n className=\"text-blue-600 dark:text-blue-400 underline\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {linkTextMatch[2]}\n </a>\n );\n remaining = remaining.slice(linkTextMatch[0].length);\n continue;\n }\n\n // Try to match plain link: <url>\n const linkMatch = remaining.match(/^<([^|>]+)>/);\n if (linkMatch) {\n elements.push(\n <a\n key={key++}\n href={linkMatch[1]}\n className=\"text-blue-600 dark:text-blue-400 underline\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {linkMatch[1]}\n </a>\n );\n remaining = remaining.slice(linkMatch[0].length);\n continue;\n }\n\n // No special formatting found at start - extract plain text until next special char\n const plainMatch = remaining.match(/^[^*_~`<]+/);\n if (plainMatch) {\n elements.push(<React.Fragment key={key++}>{plainMatch[0]}</React.Fragment>);\n remaining = remaining.slice(plainMatch[0].length);\n continue;\n }\n\n // Single special char that didn't match a pattern - output as-is\n elements.push(<React.Fragment key={key++}>{remaining[0]}</React.Fragment>);\n remaining = remaining.slice(1);\n }\n\n return <span>{elements}</span>;\n }\n\n // Plain text with optional emoji\n return text.text;\n}\n\n/**\n * Get button style class\n */\nfunction getButtonStyleClass(style?: string): string {\n switch (style) {\n case 'primary':\n return 'bg-status-success-bg hover:bg-status-success-bg/90 text-white transition-colors';\n case 'danger':\n return 'bg-status-error-bg hover:bg-status-error-bg/90 text-white transition-colors';\n default:\n return 'bg-bg-sunken hover:bg-bg-sunken/80 text-primary transition-colors';\n }\n}\n\n// ============================================================================\n// Template Binding\n// ============================================================================\n\nfunction bindDataToTemplate<T>(template: T, data: Record<string, unknown>): T {\n if (template === null || template === undefined) {\n return template;\n }\n\n if (typeof template === 'string') {\n // Replace ${path} with actual values\n return template.replace(/\\$\\{([^}]+)\\}/g, (_, path) => {\n const value = getNestedValue(data, path.trim());\n return value !== undefined ? String(value) : '';\n }) as T;\n }\n\n if (Array.isArray(template)) {\n return template.map((item) => bindDataToTemplate(item, data)) as T;\n }\n\n if (typeof template === 'object') {\n const result: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(template)) {\n result[key] = bindDataToTemplate(value, data);\n }\n return result as T;\n }\n\n return template;\n}\n\nfunction getNestedValue(obj: Record<string, unknown>, path: string): unknown {\n const parts = path.split('.');\n let current: unknown = obj;\n\n for (const part of parts) {\n if (current && typeof current === 'object' && part in (current as Record<string, unknown>)) {\n current = (current as Record<string, unknown>)[part];\n } else {\n return undefined;\n }\n }\n\n return current;\n}\n\n// ============================================================================\n// Block Renderers\n// ============================================================================\n\ninterface BlockRendererProps {\n block: BlockKitElement;\n index: number;\n onAction?: (actionId: string, value?: string, data?: Record<string, unknown>) => void;\n}\n\nconst BlockRenderer: React.FC<BlockRendererProps> = memo(function BlockRenderer({ block, index: _index, onAction }) {\n switch (block.type) {\n // Header block\n case 'header':\n return (\n <div className=\"py-2\">\n <h2 className=\"text-lg font-bold text-primary\">{renderText(block.text)}</h2>\n </div>\n );\n\n // Section block\n case 'section':\n return (\n <div className=\"py-2 flex items-start gap-4\">\n <div className=\"flex-1\">\n {block.text && <p className=\"text-primary\">{renderText(block.text)}</p>}\n {block.fields && block.fields.length > 0 && (\n <div className=\"grid grid-cols-2 gap-2 mt-2\">\n {block.fields.map((field, i) => (\n <div key={i} className=\"text-sm\">\n {renderText(field)}\n </div>\n ))}\n </div>\n )}\n </div>\n {block.accessory && (\n <div className=\"flex-shrink-0\">\n <AccessoryRenderer accessory={block.accessory as BlockKitElement} onAction={onAction} />\n </div>\n )}\n </div>\n );\n\n // Divider block\n case 'divider':\n return <hr className=\"my-2 border-default\" />;\n\n // Image block\n case 'image':\n return (\n <div className=\"py-2\">\n {block.title && <p className=\"text-sm text-secondary mb-1\">{renderText(block.title)}</p>}\n <img src={block.image_url} alt={block.alt_text || ''} className=\"max-w-full h-auto rounded\" />\n </div>\n );\n\n // Context block\n case 'context':\n return (\n <div className=\"py-1 flex items-center gap-2 flex-wrap text-sm text-secondary\">\n {block.elements?.map((element, i) => (\n <span key={i}>\n {element.type === 'image' ? (\n <img src={element.image_url} alt={element.alt_text || ''} className=\"w-5 h-5 rounded inline-block\" />\n ) : (\n renderText(element.text as BlockKitText)\n )}\n </span>\n ))}\n </div>\n );\n\n // Actions block\n case 'actions':\n return (\n <div className=\"py-2 flex gap-2 flex-wrap\">\n {block.elements?.map((element, i) => (\n <ActionRenderer key={i} element={element} onAction={onAction} />\n ))}\n </div>\n );\n\n // Input block (simplified)\n case 'input':\n return (\n <div className=\"py-2\">\n {block.label ? (\n <label className=\"block text-sm font-medium text-secondary mb-1\">\n {renderText(block.label as BlockKitText) as ReactNode}\n </label>\n ) : null}\n <input\n type=\"text\"\n className=\"w-full px-3 py-2 border border-default rounded-md bg-surface text-primary transition-colors focus:ring-2 focus:ring-primary/20\"\n placeholder={(() => {\n const element = block.element as Record<string, unknown> | undefined;\n return element?.placeholder ? (renderText(element.placeholder as BlockKitText) as string) : '';\n })()}\n />\n </div>\n );\n\n // Rich text block (simplified)\n case 'rich_text':\n return (\n <div className=\"py-2 text-primary\">\n {block.elements?.map((element, i) => (\n <span key={i}>{renderText(element.text as BlockKitText)}</span>\n ))}\n </div>\n );\n\n default:\n return null;\n }\n});\n\n// ============================================================================\n// Accessory Renderer\n// ============================================================================\n\ninterface AccessoryRendererProps {\n accessory: BlockKitElement;\n onAction?: (actionId: string, value?: string, data?: Record<string, unknown>) => void;\n}\n\nconst AccessoryRenderer: React.FC<AccessoryRendererProps> = memo(function AccessoryRenderer({ accessory, onAction }) {\n switch (accessory.type) {\n case 'image':\n return (\n <img src={accessory.image_url} alt={accessory.alt_text || ''} className=\"w-12 h-12 rounded object-cover\" />\n );\n\n case 'button':\n return (\n <button\n type=\"button\"\n onClick={() => onAction?.(accessory.action_id || '', accessory.value)}\n className={`px-3 py-1.5 text-sm font-medium rounded ${getButtonStyleClass(accessory.style)}`}\n >\n {renderText(accessory.text)}\n </button>\n );\n\n case 'overflow':\n return (\n <button type=\"button\" className=\"p-1 text-secondary hover:text-primary transition-colors\">\n <svg className=\"w-5 h-5\" fill=\"currentColor\" viewBox=\"0 0 20 20\">\n <path d=\"M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z\" />\n </svg>\n </button>\n );\n\n default:\n return null;\n }\n});\n\n// ============================================================================\n// Action Renderer\n// ============================================================================\n\ninterface ActionRendererProps {\n element: BlockKitElement;\n onAction?: (actionId: string, value?: string, data?: Record<string, unknown>) => void;\n}\n\nconst ActionRenderer: React.FC<ActionRendererProps> = memo(function ActionRenderer({ element, onAction }) {\n const handleClick = useCallback(() => {\n if (element.action_id) {\n onAction?.(element.action_id, element.value);\n }\n if (element.url) {\n window.open(element.url, '_blank');\n }\n }, [element, onAction]);\n\n switch (element.type) {\n case 'button':\n return (\n <button\n type=\"button\"\n onClick={handleClick}\n className={`px-4 py-2 text-sm font-medium rounded ${getButtonStyleClass(element.style)}`}\n >\n {renderText(element.text)}\n </button>\n );\n\n case 'static_select':\n return (\n <select\n className=\"px-3 py-2 text-sm border border-default rounded bg-surface text-primary transition-colors focus:ring-2 focus:ring-primary/20\"\n onChange={(e) => onAction?.(element.action_id || '', e.target.value)}\n >\n {element.placeholder ? (\n <option value=\"\">{renderText(element.placeholder as BlockKitText) as ReactNode}</option>\n ) : null}\n {(element.options as Array<{ text: BlockKitText; value: string }>)?.map((option, i) => (\n <option key={i} value={option.value}>\n {renderText(option.text)}\n </option>\n ))}\n </select>\n );\n\n case 'datepicker':\n return (\n <input\n type=\"date\"\n className=\"px-3 py-2 text-sm border border-default rounded bg-surface text-primary transition-colors focus:ring-2 focus:ring-primary/20\"\n onChange={(e) => onAction?.(element.action_id || '', e.target.value)}\n />\n );\n\n case 'checkboxes':\n return (\n <div className=\"space-y-1\">\n {(element.options as Array<{ text: BlockKitText; value: string }>)?.map((option, i) => (\n <label key={i} className=\"flex items-center gap-2 text-sm\">\n <input\n type=\"checkbox\"\n className=\"rounded border-default transition-colors\"\n onChange={(e) => onAction?.(element.action_id || '', option.value, { checked: e.target.checked })}\n />\n {renderText(option.text)}\n </label>\n ))}\n </div>\n );\n\n case 'radio_buttons':\n return (\n <div className=\"space-y-1\">\n {(element.options as Array<{ text: BlockKitText; value: string }>)?.map((option, i) => (\n <label key={i} className=\"flex items-center gap-2 text-sm\">\n <input\n type=\"radio\"\n name={element.action_id}\n className=\"border-default transition-colors\"\n onChange={() => onAction?.(element.action_id || '', option.value)}\n />\n {renderText(option.text)}\n </label>\n ))}\n </div>\n );\n\n default:\n return null;\n }\n});\n\n// ============================================================================\n// Auto-generate BlockKit blocks from arbitrary data\n// ============================================================================\n\nfunction generateBlocksFromData(data: Record<string, unknown>): BlockKitElement[] {\n const blocks: BlockKitElement[] = [];\n\n for (const [key, value] of Object.entries(data)) {\n if (value === null || value === undefined) continue;\n\n // Handle arrays\n if (Array.isArray(value)) {\n // Add header for the array\n blocks.push({\n type: 'header',\n text: {\n type: 'plain_text',\n text: formatKey(key),\n emoji: true,\n },\n });\n\n // Add each item\n value.forEach((item, index) => {\n if (typeof item === 'object' && item !== null) {\n // Object items - render as section with fields\n const fields: BlockKitText[] = [];\n for (const [itemKey, itemValue] of Object.entries(item)) {\n if (itemValue !== null && itemValue !== undefined) {\n fields.push({\n type: 'mrkdwn',\n text: `*${formatKey(itemKey)}:*\\n${formatValue(itemValue)}`,\n });\n }\n }\n if (fields.length > 0) {\n blocks.push({\n type: 'section',\n fields: fields.slice(0, 10), // BlockKit max 10 fields\n });\n }\n } else {\n // Primitive items - render as simple section\n blocks.push({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: `${index + 1}. ${formatValue(item)}`,\n },\n });\n }\n\n // Add divider between items (except last)\n if (index < value.length - 1) {\n blocks.push({ type: 'divider' });\n }\n });\n }\n // Handle objects\n else if (typeof value === 'object') {\n blocks.push({\n type: 'header',\n text: {\n type: 'plain_text',\n text: formatKey(key),\n emoji: true,\n },\n });\n\n const fields: BlockKitText[] = [];\n for (const [objKey, objValue] of Object.entries(value as Record<string, unknown>)) {\n if (objValue !== null && objValue !== undefined) {\n fields.push({\n type: 'mrkdwn',\n text: `*${formatKey(objKey)}:*\\n${formatValue(objValue)}`,\n });\n }\n }\n if (fields.length > 0) {\n blocks.push({\n type: 'section',\n fields: fields.slice(0, 10),\n });\n }\n }\n // Handle primitives\n else {\n blocks.push({\n type: 'section',\n text: {\n type: 'mrkdwn',\n text: `*${formatKey(key)}:* ${formatValue(value)}`,\n },\n });\n }\n }\n\n return blocks;\n}\n\nfunction formatKey(key: string): string {\n // Convert camelCase or snake_case to Title Case\n return key\n .replace(/_/g, ' ')\n .replace(/([A-Z])/g, ' $1')\n .replace(/^./, (str) => str.toUpperCase())\n .trim();\n}\n\nfunction formatValue(value: unknown): string {\n if (value === null || value === undefined) return '-';\n if (typeof value === 'boolean') return value ? 'Yes' : 'No';\n if (typeof value === 'object') return JSON.stringify(value);\n return String(value);\n}\n\n// ============================================================================\n// Main Renderer Component\n// ============================================================================\n\nexport const BlockKitRenderer: React.FC<RendererProps> = memo(function BlockKitRenderer({\n widget,\n data,\n template,\n isLoading,\n error,\n onDrilldown: _onDrilldown,\n onAction,\n}) {\n const { t } = useI18n();\n\n // Debug logging\n\n // Parse and bind template\n const boundTemplate = useMemo(() => {\n // 1. If template has blocks, bind data and use it\n if (template && 'blocks' in (template as Record<string, unknown>)) {\n return bindDataToTemplate(template as unknown as BlockKitTemplate, data);\n }\n\n // 2. If data has blocks, use it directly as BlockKit format\n if (data && 'blocks' in data) {\n return data as unknown as BlockKitTemplate;\n }\n\n // 3. If we have any data, auto-generate blocks from it\n if (data && Object.keys(data).length > 0) {\n const generatedBlocks = generateBlocksFromData(data);\n if (generatedBlocks.length > 0) {\n return { blocks: generatedBlocks } as BlockKitTemplate;\n }\n }\n\n // 4. If template exists but no blocks, try to bind and check again\n if (template) {\n const bound = bindDataToTemplate(template as unknown as BlockKitTemplate, data);\n if (bound?.blocks?.length) {\n return bound;\n }\n }\n\n return null;\n }, [template, data]);\n\n // Handle action clicks\n const handleAction = useCallback(\n (actionId: string, value?: string, actionData?: Record<string, unknown>) => {\n if (onAction) {\n onAction(actionId, { value, ...actionData });\n }\n },\n [onAction]\n );\n\n // Loading state\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center h-full p-4 animate-in fade-in duration-200\">\n <div className=\"animate-pulse space-y-2 w-full\">\n <div className=\"h-4 bg-bg-sunken rounded w-3/4\" />\n <div className=\"h-4 bg-bg-sunken rounded w-1/2\" />\n <div className=\"h-4 bg-bg-sunken rounded w-5/6\" />\n </div>\n </div>\n );\n }\n\n // Error state\n if (error) {\n return (\n <div className=\"flex items-center justify-center h-full p-4 text-red-600 dark:text-red-400\">\n <div className=\"text-center\">\n <p className=\"font-medium\">\n {t('bigconsole.widget.renderer.blockKit.errorRendering', 'Error rendering blocks')}\n </p>\n <p className=\"text-sm mt-1\">{error}</p>\n </div>\n </div>\n );\n }\n\n // Empty state\n if (!boundTemplate?.blocks?.length) {\n return (\n <div className=\"flex items-center justify-center h-full p-4 text-secondary animate-in fade-in duration-200\">\n <div className=\"text-center\">\n <p>{t('bigconsole.widget.renderer.blockKit.noContent', 'No content to display')}</p>\n <p className=\"text-sm mt-1\">\n {t('bigconsole.widget.renderer.blockKit.configureBlocks', 'Configure blocks or provide data')}\n </p>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col h-full p-4 bg-surface\">\n {/* Render blocks */}\n {boundTemplate.blocks.map((block, i) => (\n <BlockRenderer key={i} block={block} index={i} onAction={handleAction} />\n ))}\n\n {/* Render attachments */}\n {boundTemplate.attachments?.map((attachment, i) => (\n <div\n key={`attachment-${i}`}\n className=\"mt-4 border-l-4 pl-3\"\n style={{ borderLeftColor: attachment.color || 'var(--color-border)' }}\n >\n {attachment.blocks?.map((block, j) => (\n <BlockRenderer key={j} block={block} index={j} onAction={handleAction} />\n ))}\n {attachment.fallback && !attachment.blocks && <p className=\"text-sm text-secondary\">{attachment.fallback}</p>}\n </div>\n ))}\n </div>\n );\n});\n\nexport default BlockKitRenderer;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomRenderer.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/renderers/adapters/CustomRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAiB,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AASvD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC1E,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACzD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAE1G;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAEhG;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,EAAE,CAEtD;AAMD;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAkB9D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA6B3D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAyCxD,CAAC;AAyCF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA6FjD,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomRenderer.js","names":[],"sources":["../../../../src/bigconsole/renderers/adapters/CustomRenderer.tsx"],"sourcesContent":["/**\n * Custom Renderer (v2.0)\n *\n * Renders widgets using custom React components registered by the application.\n * Supports dynamic component resolution and prop mapping.\n */\n\nimport React, { memo, useMemo, type ComponentType } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport type { RendererProps } from '../types/renderer';\n\n// ============================================================================\n// Custom Component Registry\n// ============================================================================\n\n// Registry of custom components\nconst customComponentRegistry = new Map<string, ComponentType<CustomComponentProps>>();\n\nexport interface CustomComponentProps {\n widget: RendererProps['widget'];\n data: Record<string, unknown>;\n template?: Record<string, unknown> | null;\n props?: Record<string, unknown>;\n onAction?: (actionName: string, payload: Record<string, unknown>) => void;\n onDrilldown?: (params: Record<string, unknown>) => void;\n}\n\n/**\n * Register a custom component\n */\nexport function registerCustomComponent(name: string, component: ComponentType<CustomComponentProps>): void {\n customComponentRegistry.set(name, component);\n}\n\n/**\n * Unregister a custom component\n */\nexport function unregisterCustomComponent(name: string): boolean {\n return customComponentRegistry.delete(name);\n}\n\n/**\n * Check if a custom component is registered\n */\nexport function hasCustomComponent(name: string): boolean {\n return customComponentRegistry.has(name);\n}\n\n/**\n * Get a registered custom component\n */\nexport function getCustomComponent(name: string): ComponentType<CustomComponentProps> | undefined {\n return customComponentRegistry.get(name);\n}\n\n/**\n * Get all registered component names\n */\nexport function getRegisteredComponentNames(): string[] {\n return Array.from(customComponentRegistry.keys());\n}\n\n// ============================================================================\n// Default Custom Components\n// ============================================================================\n\n/**\n * Simple Text Display Component\n */\nexport const SimpleTextComponent: React.FC<CustomComponentProps> = ({ data, props }) => {\n const { t } = useI18n();\n const text = (data.text || props?.text) as string | undefined;\n const align = (props?.align || 'left') as string;\n\n if (!text) {\n return (\n <div className=\"flex items-center justify-center h-full p-4 text-secondary\">\n <p className=\"text-sm\">{t('bigconsole.widget.renderer.custom.noData', 'No data available')}</p>\n </div>\n );\n }\n\n return (\n <div className={`p-4 text-${align}`}>\n <p className=\"text-primary\">{text}</p>\n </div>\n );\n};\n\n/**\n * Simple Counter Component\n */\nexport const CounterComponent: React.FC<CustomComponentProps> = ({ data, props }) => {\n const { t } = useI18n();\n const rawValue = data.value ?? props?.value;\n const label = (data.label || props?.label) as string | undefined;\n const format = (props?.format || 'number') as string;\n\n if (rawValue === undefined || rawValue === null) {\n return (\n <div className=\"flex flex-col items-center justify-center h-full p-4 text-secondary\">\n <p className=\"text-sm\">{t('bigconsole.widget.renderer.custom.noData', 'No data available')}</p>\n </div>\n );\n }\n\n const value = rawValue as number;\n\n const formattedValue =\n format === 'currency'\n ? new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(value)\n : format === 'percent'\n ? `${(value * 100).toFixed(1)}%`\n : new Intl.NumberFormat().format(value);\n\n return (\n <div className=\"flex flex-col items-center justify-center h-full p-4 animate-in fade-in duration-200\">\n <span className=\"text-3xl font-bold text-primary\">{formattedValue}</span>\n {label && <span className=\"text-sm text-secondary mt-1\">{label}</span>}\n </div>\n );\n};\n\n/**\n * Simple Card Component\n */\nexport const CardComponent: React.FC<CustomComponentProps> = ({ data, props, onAction }) => {\n const { t } = useI18n();\n const title = (data.title || props?.title) as string | undefined;\n const description = (data.description || props?.description || '') as string;\n\n if (!title && !description) {\n return (\n <div className=\"flex items-center justify-center h-full p-4 text-secondary\">\n <p className=\"text-sm\">{t('bigconsole.widget.renderer.custom.noData', 'No data available')}</p>\n </div>\n );\n }\n const image = (data.image || props?.image) as string | undefined;\n const actionLabel = (props?.actionLabel ||\n t('bigconsole.widget.renderer.custom.viewDetails', 'View Details')) as string;\n const showAction = props?.showAction !== false;\n\n return (\n <div className=\"flex flex-col h-full bg-surface rounded-lg overflow-hidden animate-in fade-in duration-200\">\n {image && (\n <div className=\"aspect-video bg-bg-sunken\">\n <img src={image} alt=\"\" className=\"w-full h-full object-cover\" />\n </div>\n )}\n <div className=\"flex-1 p-4\">\n {title && <h3 className=\"text-lg font-semibold text-primary\">{title}</h3>}\n {description && <p className=\"text-sm text-secondary mt-1\">{description}</p>}\n </div>\n {showAction && (\n <div className=\"p-4 pt-0\">\n <button\n type=\"button\"\n onClick={() => onAction?.('click', { title })}\n className=\"w-full px-4 py-2 text-sm font-medium text-white bg-action-primary hover:bg-action-primary/90 rounded-md transition-colors\"\n >\n {actionLabel}\n </button>\n </div>\n )}\n </div>\n );\n};\n\n// Register default components\nregisterCustomComponent('SimpleText', SimpleTextComponent);\nregisterCustomComponent('Counter', CounterComponent);\nregisterCustomComponent('Card', CardComponent);\n\n// ============================================================================\n// Fallback Component\n// ============================================================================\n\nconst FallbackComponent: React.FC<{ componentName: string }> = ({ componentName }) => {\n const { t } = useI18n();\n return (\n <div className=\"flex flex-col items-center justify-center h-full p-4 text-secondary animate-in fade-in duration-200\">\n <div className=\"text-center\">\n <p className=\"font-medium\">{t('bigconsole.widget.renderer.custom.componentNotFound', 'Component Not Found')}</p>\n <p className=\"text-sm mt-1\">\n {t('bigconsole.widget.renderer.custom.componentNotRegistered', 'Component \"{{name}}\" is not registered', {\n name: componentName ?? '',\n })}\n </p>\n <div className=\"mt-4 text-xs\">\n <p>{t('bigconsole.widget.renderer.custom.availableComponents', 'Available components:')}</p>\n <ul className=\"mt-1\">\n {getRegisteredComponentNames().map((name) => (\n <li key={name} className=\"text-link\">\n {name}\n </li>\n ))}\n </ul>\n </div>\n </div>\n </div>\n );\n};\n\n// ============================================================================\n// Main Renderer Component\n// ============================================================================\n\nexport const CustomRenderer: React.FC<RendererProps> = memo(function CustomRenderer({\n widget,\n data,\n template,\n isLoading,\n error,\n onDrilldown,\n onAction,\n}) {\n const { t } = useI18n();\n\n // Get component name from template\n const componentName = useMemo(() => {\n if (template && typeof template === 'object' && 'componentName' in template) {\n return template.componentName as string;\n }\n // Fallback to widget config\n const config = widget.config as Record<string, unknown>;\n return (config?.componentName || config?.componentId || '') as string;\n }, [template, widget.config]);\n\n // Get additional props from template\n const componentProps = useMemo(() => {\n if (template && typeof template === 'object' && 'props' in template) {\n return template.props as Record<string, unknown>;\n }\n return {};\n }, [template]);\n\n // Get the component\n const Component = useMemo(() => {\n if (!componentName) return null;\n return getCustomComponent(componentName);\n }, [componentName]);\n\n // Loading state\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center h-full p-4 animate-in fade-in duration-200\">\n <div className=\"animate-pulse space-y-2 w-full\">\n <div className=\"h-4 bg-bg-sunken rounded w-3/4\" />\n <div className=\"h-4 bg-bg-sunken rounded w-1/2\" />\n </div>\n </div>\n );\n }\n\n // Error state\n if (error) {\n return (\n <div className=\"flex items-center justify-center h-full p-4 text-red-600 dark:text-red-400\">\n <div className=\"text-center\">\n <p className=\"font-medium\">\n {t('bigconsole.widget.renderer.custom.errorRendering', 'Error rendering component')}\n </p>\n <p className=\"text-sm mt-1\">{error}</p>\n </div>\n </div>\n );\n }\n\n // No component name\n if (!componentName) {\n return (\n <div className=\"flex items-center justify-center h-full p-4 text-secondary animate-in fade-in duration-200\">\n <div className=\"text-center\">\n <p className=\"font-medium\">\n {t('bigconsole.widget.renderer.custom.noComponentSpecified', 'No Component Specified')}\n </p>\n <p className=\"text-sm mt-1\">\n {t('bigconsole.widget.renderer.custom.setComponentName', 'Set componentName in template or widget config')}\n </p>\n </div>\n </div>\n );\n }\n\n // Component not found\n if (!Component) {\n return <FallbackComponent componentName={componentName} />;\n }\n\n // Render the custom component\n return (\n <Component\n widget={widget}\n data={data}\n template={template}\n props={componentProps}\n onAction={onAction}\n onDrilldown={onDrilldown}\n />\n );\n});\n\nexport default CustomRenderer;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/renderers/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,EAC3B,KAAK,oBAAoB,GAC1B,MAAM,kBAAkB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WidgetRendererFactory.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/renderers/factory/WidgetRendererFactory.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAqC,MAAM,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAYlG,MAAM,WAAW,0BAA0B;IACzC,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,wCAAwC;IACxC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxD,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAClE,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,YAAY,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,YAAY,GAAG,gBAAgB,CAiCjG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,CAIvF;AAMD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA0ErE,CAAC;AAEH,eAAe,qBAAqB,CAAC"}