@burdenoff/microfe-bigconsole 2026.1008.13 → 2026.1008.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1456) hide show
  1. package/README.md +3 -0
  2. package/dist/bigconsole/AdminRoot.d.ts +0 -1
  3. package/dist/bigconsole/AdminRoot.js +0 -2
  4. package/dist/bigconsole/AdminRoutes.d.ts +0 -1
  5. package/dist/bigconsole/AdminRoutes.js +0 -2
  6. package/dist/bigconsole/BigConsoleRoot.d.ts +0 -1
  7. package/dist/bigconsole/BigConsoleRoot.js +0 -2
  8. package/dist/bigconsole/BigConsoleRoutes.d.ts +0 -1
  9. package/dist/bigconsole/BigConsoleRoutes.js +0 -2
  10. package/dist/bigconsole/assistant/assistantApi.d.ts +0 -1
  11. package/dist/bigconsole/assistant/assistantApi.js +0 -2
  12. package/dist/bigconsole/assistant/assistantProduct.d.ts +0 -1
  13. package/dist/bigconsole/assistant/assistantProduct.js +0 -2
  14. package/dist/bigconsole/assistant/assistantPrompt.d.ts +0 -1
  15. package/dist/bigconsole/assistant/assistantPrompt.js +0 -2
  16. package/dist/bigconsole/assistant/assistantRunPersistence.d.ts +0 -1
  17. package/dist/bigconsole/assistant/assistantRunPersistence.js +0 -2
  18. package/dist/bigconsole/assistant/assistantRunStore.d.ts +0 -1
  19. package/dist/bigconsole/assistant/assistantRunStore.js +0 -2
  20. package/dist/bigconsole/assistant/assistantRuntime.d.ts +0 -1
  21. package/dist/bigconsole/assistant/assistantRuntime.js +0 -2
  22. package/dist/bigconsole/assistant/attachmentExtract.d.ts +0 -1
  23. package/dist/bigconsole/assistant/attachmentExtract.js +0 -2
  24. package/dist/bigconsole/assistant/conversationHistoryApi.d.ts +0 -1
  25. package/dist/bigconsole/assistant/conversationHistoryApi.js +0 -2
  26. package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts +0 -1
  27. package/dist/bigconsole/assistant/createSandboxAssistantTransport.js +0 -2
  28. package/dist/bigconsole/assistant/displayCopy.d.ts +0 -1
  29. package/dist/bigconsole/assistant/index.d.ts +0 -1
  30. package/dist/bigconsole/assistant/modes.d.ts +0 -1
  31. package/dist/bigconsole/assistant/modes.js +0 -2
  32. package/dist/bigconsole/assistant/pageContext.d.ts +0 -1
  33. package/dist/bigconsole/assistant/pageContext.js +0 -2
  34. package/dist/bigconsole/assistant/previewController.d.ts +0 -1
  35. package/dist/bigconsole/assistant/previewController.js +0 -2
  36. package/dist/bigconsole/assistant/previewMutationResult.d.ts +0 -1
  37. package/dist/bigconsole/assistant/previewMutationResult.js +0 -2
  38. package/dist/bigconsole/assistant/previewRunAction.d.ts +0 -1
  39. package/dist/bigconsole/assistant/previewRunAction.js +0 -2
  40. package/dist/bigconsole/assistant/product.d.ts +0 -1
  41. package/dist/bigconsole/assistant/product.js +0 -2
  42. package/dist/bigconsole/assistant/recordAdapters.d.ts +0 -1
  43. package/dist/bigconsole/assistant/recordAdapters.js +0 -2
  44. package/dist/bigconsole/assistant/types.d.ts +0 -1
  45. package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts +0 -1
  46. package/dist/bigconsole/assistant/useAssistantRunWorkspace.js +0 -2
  47. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts +0 -1
  48. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js +0 -2
  49. package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts +0 -1
  50. package/dist/bigconsole/components/DrilldownDashboardRenderer.js +0 -2
  51. package/dist/bigconsole/components/DrilldownModal.d.ts +0 -1
  52. package/dist/bigconsole/components/DrilldownModal.js +0 -2
  53. package/dist/bigconsole/components/builder/BuilderCanvas.d.ts +0 -1
  54. package/dist/bigconsole/components/builder/BuilderCanvas.js +0 -2
  55. package/dist/bigconsole/components/builder/BuilderTopbar.d.ts +0 -1
  56. package/dist/bigconsole/components/builder/BuilderTopbar.js +0 -2
  57. package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts +0 -1
  58. package/dist/bigconsole/components/builder/DashboardEditorShell.js +0 -2
  59. package/dist/bigconsole/components/builder/WidgetInspector.d.ts +0 -1
  60. package/dist/bigconsole/components/builder/WidgetInspector.js +0 -2
  61. package/dist/bigconsole/components/builder/index.d.ts +0 -1
  62. package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts +0 -1
  63. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +0 -2
  64. package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts +0 -1
  65. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +0 -2
  66. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts +0 -1
  67. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +0 -2
  68. package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts +0 -1
  69. package/dist/bigconsole/components/builder/inspector/GeneralSection.js +0 -2
  70. package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts +0 -1
  71. package/dist/bigconsole/components/builder/inspector/LayoutSection.js +0 -2
  72. package/dist/bigconsole/components/builder/inspector/index.d.ts +0 -1
  73. package/dist/bigconsole/components/common/Section.d.ts +0 -1
  74. package/dist/bigconsole/components/common/Section.js +0 -2
  75. package/dist/bigconsole/components/common/index.d.ts +0 -1
  76. package/dist/bigconsole/components/common/sectionStyles.d.ts +0 -1
  77. package/dist/bigconsole/components/common/sectionStyles.js +0 -2
  78. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts +0 -1
  79. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +0 -2
  80. package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts +0 -1
  81. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +0 -2
  82. package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts +0 -1
  83. package/dist/bigconsole/components/dashboard/DashboardGrid.js +0 -2
  84. package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts +0 -1
  85. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js +0 -2
  86. package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts +0 -1
  87. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +0 -2
  88. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts +0 -1
  89. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +0 -2
  90. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts +0 -1
  91. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +0 -2
  92. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts +0 -1
  93. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +0 -2
  94. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts +0 -1
  95. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +0 -2
  96. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts +0 -1
  97. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +0 -2
  98. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts +0 -1
  99. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +0 -2
  100. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts +0 -1
  101. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts +0 -1
  102. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +0 -2
  103. package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts +0 -1
  104. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +0 -2
  105. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts +0 -1
  106. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js +0 -2
  107. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts +0 -1
  108. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +0 -2
  109. package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts +0 -1
  110. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts +0 -1
  111. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +0 -2
  112. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts +0 -1
  113. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +0 -2
  114. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts +0 -1
  115. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts +0 -1
  116. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +0 -2
  117. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts +0 -1
  118. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +0 -2
  119. package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts +0 -1
  120. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts +0 -1
  121. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +0 -2
  122. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts +0 -1
  123. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +0 -2
  124. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts +0 -1
  125. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +0 -2
  126. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts +0 -1
  127. package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts +0 -1
  128. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts +0 -1
  129. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +0 -2
  130. package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts +0 -1
  131. package/dist/bigconsole/components/dashboard/WidgetPalette.js +0 -2
  132. package/dist/bigconsole/components/dashboard/index.d.ts +0 -1
  133. package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts +0 -1
  134. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +0 -2
  135. package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts +0 -1
  136. package/dist/bigconsole/components/datasink/AlertRuleEditor.js +0 -2
  137. package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts +0 -1
  138. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +0 -2
  139. package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts +0 -1
  140. package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts +0 -1
  141. package/dist/bigconsole/components/datasink/DataSinkCard.d.ts +0 -1
  142. package/dist/bigconsole/components/datasink/DataSinkCard.js +0 -2
  143. package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts +0 -1
  144. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +0 -2
  145. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts +0 -1
  146. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +0 -2
  147. package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts +0 -1
  148. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts +0 -1
  149. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +0 -2
  150. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts +0 -1
  151. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +0 -2
  152. package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts +0 -1
  153. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +0 -2
  154. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts +0 -1
  155. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +0 -2
  156. package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts +0 -1
  157. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts +0 -1
  158. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +0 -2
  159. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts +0 -1
  160. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +0 -2
  161. package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts +0 -1
  162. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +0 -2
  163. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts +0 -1
  164. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +0 -2
  165. package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts +0 -1
  166. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +0 -2
  167. package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts +0 -1
  168. package/dist/bigconsole/components/datasink/SetupStateBadge.js +0 -2
  169. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts +0 -1
  170. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +0 -2
  171. package/dist/bigconsole/components/datasink/index.d.ts +0 -1
  172. package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts +0 -1
  173. package/dist/bigconsole/components/embed/EmbedErrorBoundary.js +0 -2
  174. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts +0 -1
  175. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js +0 -2
  176. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts +0 -1
  177. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js +0 -2
  178. package/dist/bigconsole/components/embed/drilldown.d.ts +0 -1
  179. package/dist/bigconsole/components/embed/drilldown.js +0 -2
  180. package/dist/bigconsole/components/embed/index.d.ts +0 -1
  181. package/dist/bigconsole/components/embed/renderer-manifest.d.ts +0 -1
  182. package/dist/bigconsole/components/embed/renderer-manifest.js +0 -2
  183. package/dist/bigconsole/components/embed/types.d.ts +0 -1
  184. package/dist/bigconsole/components/embed/types.js +0 -2
  185. package/dist/bigconsole/components/embed/validate.d.ts +0 -1
  186. package/dist/bigconsole/components/embed/validate.js +0 -2
  187. package/dist/bigconsole/components/embed/widgetShim.d.ts +0 -1
  188. package/dist/bigconsole/components/embed/widgetShim.js +0 -2
  189. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts +0 -1
  190. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js +0 -2
  191. package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts +0 -1
  192. package/dist/bigconsole/components/embed/widgets/ChartEmbed.js +0 -2
  193. package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts +0 -1
  194. package/dist/bigconsole/components/embed/widgets/EmbedFrame.js +0 -2
  195. package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts +0 -1
  196. package/dist/bigconsole/components/embed/widgets/FormEmbed.js +0 -2
  197. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts +0 -1
  198. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js +0 -2
  199. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts +0 -1
  200. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js +0 -2
  201. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts +0 -1
  202. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js +0 -2
  203. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts +0 -1
  204. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js +0 -2
  205. package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts +0 -1
  206. package/dist/bigconsole/components/embed/widgets/ListEmbed.js +0 -2
  207. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts +0 -1
  208. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js +0 -2
  209. package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts +0 -1
  210. package/dist/bigconsole/components/embed/widgets/PivotEmbed.js +0 -2
  211. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts +0 -1
  212. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js +0 -2
  213. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts +0 -1
  214. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js +0 -2
  215. package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts +0 -1
  216. package/dist/bigconsole/components/embed/widgets/TableEmbed.js +0 -2
  217. package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts +0 -1
  218. package/dist/bigconsole/components/embed/widgets/TextEmbed.js +0 -2
  219. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts +0 -1
  220. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js +0 -2
  221. package/dist/bigconsole/components/embed/widgets/shared.d.ts +0 -1
  222. package/dist/bigconsole/components/embed/widgets/shared.js +0 -2
  223. package/dist/bigconsole/components/overview/DashboardGuide.d.ts +0 -1
  224. package/dist/bigconsole/components/overview/DashboardGuide.js +0 -2
  225. package/dist/bigconsole/components/overview/DataHealthCard.d.ts +0 -1
  226. package/dist/bigconsole/components/overview/DataHealthCard.js +0 -2
  227. package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts +0 -1
  228. package/dist/bigconsole/components/overview/OverviewQuickActions.js +0 -2
  229. package/dist/bigconsole/components/overview/OverviewStatCard.d.ts +0 -1
  230. package/dist/bigconsole/components/overview/OverviewStatCard.js +0 -2
  231. package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts +0 -1
  232. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js +0 -2
  233. package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts +0 -1
  234. package/dist/bigconsole/components/overview/dashboardGuideSteps.js +0 -2
  235. package/dist/bigconsole/components/overview/index.d.ts +0 -1
  236. package/dist/bigconsole/components/overview/overviewModel.d.ts +0 -1
  237. package/dist/bigconsole/components/overview/overviewModel.js +0 -2
  238. package/dist/bigconsole/components/overview/useOverviewData.d.ts +0 -1
  239. package/dist/bigconsole/components/overview/useOverviewData.js +0 -2
  240. package/dist/bigconsole/components/parser/DataSinkSelector.d.ts +0 -1
  241. package/dist/bigconsole/components/parser/DataSinkSelector.js +0 -2
  242. package/dist/bigconsole/components/parser/ExportParserDialog.d.ts +0 -1
  243. package/dist/bigconsole/components/parser/ExportParserDialog.js +0 -2
  244. package/dist/bigconsole/components/parser/ExpressionEditor.d.ts +0 -1
  245. package/dist/bigconsole/components/parser/ExpressionEditor.js +0 -2
  246. package/dist/bigconsole/components/parser/ImportParserDialog.d.ts +0 -1
  247. package/dist/bigconsole/components/parser/ImportParserDialog.js +0 -2
  248. package/dist/bigconsole/components/parser/ParserBuilder.d.ts +0 -1
  249. package/dist/bigconsole/components/parser/ParserCard.d.ts +0 -1
  250. package/dist/bigconsole/components/parser/ParserCard.js +0 -2
  251. package/dist/bigconsole/components/parser/ParserFormDialog.d.ts +0 -1
  252. package/dist/bigconsole/components/parser/ParserSelector.d.ts +0 -1
  253. package/dist/bigconsole/components/parser/ParserSelector.js +0 -2
  254. package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts +0 -1
  255. package/dist/bigconsole/components/parser/ParserStatusBadge.js +0 -2
  256. package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts +0 -1
  257. package/dist/bigconsole/components/parser/ParserTypeBadge.js +0 -2
  258. package/dist/bigconsole/components/parser/TestPanel.d.ts +0 -1
  259. package/dist/bigconsole/components/parser/index.d.ts +0 -1
  260. package/dist/bigconsole/components/parser/parserFieldStyles.d.ts +0 -1
  261. package/dist/bigconsole/components/pipeline/PipelineCard.d.ts +0 -1
  262. package/dist/bigconsole/components/pipeline/PipelineCard.js +0 -2
  263. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts +0 -1
  264. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +0 -2
  265. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts +0 -1
  266. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +0 -2
  267. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts +0 -1
  268. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +0 -2
  269. package/dist/bigconsole/components/pipeline/index.d.ts +0 -1
  270. package/dist/bigconsole/components/preview/AiPreviewContent.d.ts +0 -1
  271. package/dist/bigconsole/components/preview/AiPreviewContent.js +0 -2
  272. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts +0 -1
  273. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +0 -2
  274. package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts +0 -1
  275. package/dist/bigconsole/components/preview/AiPreviewPanel.js +0 -2
  276. package/dist/bigconsole/components/preview/parserPreview.d.ts +0 -1
  277. package/dist/bigconsole/components/preview/parserPreview.js +0 -2
  278. package/dist/bigconsole/components/preview/previewShared.d.ts +0 -1
  279. package/dist/bigconsole/components/preview/previewShared.js +0 -2
  280. package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts +0 -1
  281. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +0 -2
  282. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts +0 -1
  283. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +0 -2
  284. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts +0 -1
  285. package/dist/bigconsole/components/widgets/PropertiesPanel.js +0 -2
  286. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts +0 -1
  287. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +0 -2
  288. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts +0 -1
  289. package/dist/bigconsole/components/widgets/WidgetHeader.js +0 -2
  290. package/dist/bigconsole/components/widgets/WidgetMenu.d.ts +0 -1
  291. package/dist/bigconsole/components/widgets/WidgetMenu.js +0 -2
  292. package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts +0 -1
  293. package/dist/bigconsole/components/widgets/WidgetRegistry.js +0 -2
  294. package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts +0 -1
  295. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts +0 -1
  296. package/dist/bigconsole/components/widgets/WidgetWrapper.js +0 -2
  297. package/dist/bigconsole/components/widgets/actionConfig.d.ts +0 -1
  298. package/dist/bigconsole/components/widgets/actionConfig.js +0 -2
  299. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts +0 -1
  300. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +0 -2
  301. package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts +0 -1
  302. package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts +0 -1
  303. package/dist/bigconsole/components/widgets/calendar/CalendarView.js +0 -2
  304. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts +0 -1
  305. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +0 -2
  306. package/dist/bigconsole/components/widgets/calendar/index.d.ts +0 -1
  307. package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts +0 -1
  308. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +0 -2
  309. package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts +0 -1
  310. package/dist/bigconsole/components/widgets/chart/ChartLegend.js +0 -2
  311. package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts +0 -1
  312. package/dist/bigconsole/components/widgets/chart/ChartTooltip.js +0 -2
  313. package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts +0 -1
  314. package/dist/bigconsole/components/widgets/chart/ChartWidget.js +0 -2
  315. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts +0 -1
  316. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js +0 -2
  317. package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts +0 -1
  318. package/dist/bigconsole/components/widgets/chart/charts/BarChart.js +0 -2
  319. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts +0 -1
  320. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js +0 -2
  321. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts +0 -1
  322. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js +0 -2
  323. package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts +0 -1
  324. package/dist/bigconsole/components/widgets/chart/charts/LineChart.js +0 -2
  325. package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts +0 -1
  326. package/dist/bigconsole/components/widgets/chart/charts/PieChart.js +0 -2
  327. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts +0 -1
  328. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js +0 -2
  329. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts +0 -1
  330. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js +0 -2
  331. package/dist/bigconsole/components/widgets/chart/charts/index.d.ts +0 -1
  332. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts +0 -1
  333. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js +0 -2
  334. package/dist/bigconsole/components/widgets/chart/charts/types.d.ts +0 -1
  335. package/dist/bigconsole/components/widgets/chart/index.d.ts +0 -1
  336. package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts +0 -1
  337. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +0 -2
  338. package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts +0 -1
  339. package/dist/bigconsole/components/widgets/custom/CustomWidget.js +0 -2
  340. package/dist/bigconsole/components/widgets/custom/config.d.ts +0 -1
  341. package/dist/bigconsole/components/widgets/custom/config.js +0 -2
  342. package/dist/bigconsole/components/widgets/custom/index.d.ts +0 -1
  343. package/dist/bigconsole/components/widgets/custom/utils.d.ts +0 -1
  344. package/dist/bigconsole/components/widgets/custom/utils.js +0 -2
  345. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts +0 -1
  346. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +0 -2
  347. package/dist/bigconsole/components/widgets/event-logs/index.d.ts +0 -1
  348. package/dist/bigconsole/components/widgets/form/FormWidget.d.ts +0 -1
  349. package/dist/bigconsole/components/widgets/form/FormWidget.js +0 -2
  350. package/dist/bigconsole/components/widgets/form/index.d.ts +0 -1
  351. package/dist/bigconsole/components/widgets/funnel/index.d.ts +0 -1
  352. package/dist/bigconsole/components/widgets/funnel/index.js +0 -2
  353. package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts +0 -1
  354. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +0 -2
  355. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts +0 -1
  356. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +0 -2
  357. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts +0 -1
  358. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +0 -2
  359. package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts +0 -1
  360. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +0 -2
  361. package/dist/bigconsole/components/widgets/gauge/index.d.ts +0 -1
  362. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts +0 -1
  363. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +0 -2
  364. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts +0 -1
  365. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js +0 -2
  366. package/dist/bigconsole/components/widgets/heatmap/index.d.ts +0 -1
  367. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts +0 -1
  368. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +0 -2
  369. package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts +0 -1
  370. package/dist/bigconsole/components/widgets/index.d.ts +0 -1
  371. package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts +0 -1
  372. package/dist/bigconsole/components/widgets/kanban/KanbanView.js +0 -2
  373. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts +0 -1
  374. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +0 -2
  375. package/dist/bigconsole/components/widgets/kanban/index.d.ts +0 -1
  376. package/dist/bigconsole/components/widgets/kanban/model.d.ts +0 -1
  377. package/dist/bigconsole/components/widgets/kanban/model.js +0 -2
  378. package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts +0 -1
  379. package/dist/bigconsole/components/widgets/kpi/KPIWidget.js +0 -2
  380. package/dist/bigconsole/components/widgets/kpi/index.d.ts +0 -1
  381. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts +0 -1
  382. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +0 -2
  383. package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts +0 -1
  384. package/dist/bigconsole/components/widgets/list/ListConfig.d.ts +0 -1
  385. package/dist/bigconsole/components/widgets/list/ListConfig.js +0 -2
  386. package/dist/bigconsole/components/widgets/list/ListItem.d.ts +0 -1
  387. package/dist/bigconsole/components/widgets/list/ListItem.js +0 -2
  388. package/dist/bigconsole/components/widgets/list/ListWidget.d.ts +0 -1
  389. package/dist/bigconsole/components/widgets/list/ListWidget.js +0 -2
  390. package/dist/bigconsole/components/widgets/list/index.d.ts +0 -1
  391. package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts +0 -1
  392. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +0 -2
  393. package/dist/bigconsole/components/widgets/map-widget/index.d.ts +0 -1
  394. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts +0 -1
  395. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js +0 -2
  396. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts +0 -1
  397. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +0 -2
  398. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts +0 -1
  399. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +0 -2
  400. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts +0 -1
  401. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +0 -2
  402. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts +0 -1
  403. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +0 -2
  404. package/dist/bigconsole/components/widgets/metric-card/index.d.ts +0 -1
  405. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts +0 -1
  406. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +0 -2
  407. package/dist/bigconsole/components/widgets/pivot-table/index.d.ts +0 -1
  408. package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts +0 -1
  409. package/dist/bigconsole/components/widgets/progress/ProgressBar.js +0 -2
  410. package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts +0 -1
  411. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +0 -2
  412. package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts +0 -1
  413. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +0 -2
  414. package/dist/bigconsole/components/widgets/progress/index.d.ts +0 -1
  415. package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts +0 -1
  416. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +0 -2
  417. package/dist/bigconsole/components/widgets/retention/index.d.ts +0 -1
  418. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts +0 -1
  419. package/dist/bigconsole/components/widgets/states/EmptyState.js +0 -2
  420. package/dist/bigconsole/components/widgets/states/ErrorState.d.ts +0 -1
  421. package/dist/bigconsole/components/widgets/states/ErrorState.js +0 -2
  422. package/dist/bigconsole/components/widgets/states/LoadingState.d.ts +0 -1
  423. package/dist/bigconsole/components/widgets/states/LoadingState.js +0 -2
  424. package/dist/bigconsole/components/widgets/states/index.d.ts +0 -1
  425. package/dist/bigconsole/components/widgets/table/TableCell.d.ts +0 -1
  426. package/dist/bigconsole/components/widgets/table/TableCell.js +0 -2
  427. package/dist/bigconsole/components/widgets/table/TableConfig.d.ts +0 -1
  428. package/dist/bigconsole/components/widgets/table/TableConfig.js +0 -2
  429. package/dist/bigconsole/components/widgets/table/TableHeader.d.ts +0 -1
  430. package/dist/bigconsole/components/widgets/table/TableHeader.js +0 -2
  431. package/dist/bigconsole/components/widgets/table/TablePagination.d.ts +0 -1
  432. package/dist/bigconsole/components/widgets/table/TablePagination.js +0 -2
  433. package/dist/bigconsole/components/widgets/table/TableWidget.d.ts +0 -1
  434. package/dist/bigconsole/components/widgets/table/TableWidget.js +0 -2
  435. package/dist/bigconsole/components/widgets/table/cellLink.d.ts +0 -1
  436. package/dist/bigconsole/components/widgets/table/cellLink.js +0 -2
  437. package/dist/bigconsole/components/widgets/table/index.d.ts +0 -1
  438. package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts +0 -1
  439. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +0 -2
  440. package/dist/bigconsole/components/widgets/text-widget/index.d.ts +0 -1
  441. package/dist/bigconsole/components/widgets/text-widget/textData.d.ts +0 -1
  442. package/dist/bigconsole/components/widgets/text-widget/textData.js +0 -2
  443. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts +0 -1
  444. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +0 -2
  445. package/dist/bigconsole/components/widgets/timeline/index.d.ts +0 -1
  446. package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts +0 -1
  447. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +0 -2
  448. package/dist/bigconsole/components/widgets/utils/inferFields.d.ts +0 -1
  449. package/dist/bigconsole/components/widgets/utils/inferFields.js +0 -2
  450. package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts +0 -1
  451. package/dist/bigconsole/components/widgets/utils/targetProgress.js +0 -2
  452. package/dist/bigconsole/components/widgets/utils/translate.d.ts +0 -1
  453. package/dist/bigconsole/components/widgets/utils/translate.js +0 -2
  454. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts +0 -1
  455. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +0 -2
  456. package/dist/bigconsole/components/widgets/webhook-config/index.d.ts +0 -1
  457. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts +0 -1
  458. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +0 -2
  459. package/dist/bigconsole/components/widgets/widget-actions/index.d.ts +0 -1
  460. package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts +0 -1
  461. package/dist/bigconsole/components/workflow/WorkflowCard.d.ts +0 -1
  462. package/dist/bigconsole/components/workflow/WorkflowCard.js +0 -2
  463. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts +0 -1
  464. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +0 -2
  465. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts +0 -1
  466. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js +0 -2
  467. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts +0 -1
  468. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +0 -2
  469. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts +0 -1
  470. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +0 -2
  471. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts +0 -1
  472. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +0 -2
  473. package/dist/bigconsole/components/workflow/index.d.ts +0 -1
  474. package/dist/bigconsole/constants/backendErrors.d.ts +0 -1
  475. package/dist/bigconsole/constants/backendErrors.js +0 -2
  476. package/dist/bigconsole/constants.d.ts +0 -1
  477. package/dist/bigconsole/constants.js +0 -2
  478. package/dist/bigconsole/context/BigConsoleContext.d.ts +0 -1
  479. package/dist/bigconsole/context/BigConsoleContext.js +0 -2
  480. package/dist/bigconsole/context/index.d.ts +0 -1
  481. package/dist/bigconsole/contexts/CrossFilterContext.d.ts +0 -1
  482. package/dist/bigconsole/contexts/CrossFilterContext.js +0 -2
  483. package/dist/bigconsole/contexts/NavigationContext.d.ts +0 -1
  484. package/dist/bigconsole/contexts/NavigationContext.js +0 -2
  485. package/dist/bigconsole/contexts/index.d.ts +0 -1
  486. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts +0 -1
  487. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +0 -2
  488. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts +0 -1
  489. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +0 -2
  490. package/dist/bigconsole/customWidget/index.d.ts +0 -1
  491. package/dist/bigconsole/customWidget/proposalContract.d.ts +0 -1
  492. package/dist/bigconsole/customWidget/proposalContract.js +0 -2
  493. package/dist/bigconsole/customWidget/proposalSource.d.ts +0 -1
  494. package/dist/bigconsole/customWidget/proposalSource.js +0 -2
  495. package/dist/bigconsole/graphql/apollo-compat.d.ts +0 -1
  496. package/dist/bigconsole/graphql/storeTemplates.d.ts +0 -1
  497. package/dist/bigconsole/graphql/storeTemplates.js +0 -2
  498. package/dist/bigconsole/hooks/index.d.ts +0 -1
  499. package/dist/bigconsole/hooks/useActivePage.d.ts +0 -1
  500. package/dist/bigconsole/hooks/useActivePage.js +0 -2
  501. package/dist/bigconsole/hooks/useAutoRefresh.d.ts +0 -1
  502. package/dist/bigconsole/hooks/useAutoRefresh.js +0 -2
  503. package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts +0 -1
  504. package/dist/bigconsole/hooks/useBigConsoleAnalytics.js +0 -2
  505. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts +0 -1
  506. package/dist/bigconsole/hooks/useBigConsoleSettings.js +0 -2
  507. package/dist/bigconsole/hooks/useCrossFilter.d.ts +0 -1
  508. package/dist/bigconsole/hooks/useCrossFilter.js +0 -2
  509. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts +0 -1
  510. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js +0 -2
  511. package/dist/bigconsole/hooks/useDashboardImageExport.d.ts +0 -1
  512. package/dist/bigconsole/hooks/useDashboardImageExport.js +0 -2
  513. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +0 -1
  514. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +0 -2
  515. package/dist/bigconsole/hooks/useDashboardOperations.d.ts +0 -1
  516. package/dist/bigconsole/hooks/useDashboardOperations.js +0 -2
  517. package/dist/bigconsole/hooks/useDashboardSharing.d.ts +0 -1
  518. package/dist/bigconsole/hooks/useDashboardSharing.js +0 -2
  519. package/dist/bigconsole/hooks/useDashboardTemplates.d.ts +0 -1
  520. package/dist/bigconsole/hooks/useDashboardViews.d.ts +0 -1
  521. package/dist/bigconsole/hooks/useDashboardViews.js +0 -2
  522. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +0 -1
  523. package/dist/bigconsole/hooks/useDataSinkAlerts.js +0 -2
  524. package/dist/bigconsole/hooks/useDataSinkOperations.d.ts +0 -1
  525. package/dist/bigconsole/hooks/useDataSinkOperations.js +0 -2
  526. package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts +0 -1
  527. package/dist/bigconsole/hooks/useDataSinkSubscription.js +0 -2
  528. package/dist/bigconsole/hooks/useDrilldown.d.ts +0 -1
  529. package/dist/bigconsole/hooks/useDrilldown.js +0 -2
  530. package/dist/bigconsole/hooks/useDrilldownOperations.d.ts +0 -1
  531. package/dist/bigconsole/hooks/useDrilldownOperations.js +0 -2
  532. package/dist/bigconsole/hooks/useEventLogs.d.ts +0 -1
  533. package/dist/bigconsole/hooks/useEventLogs.js +0 -2
  534. package/dist/bigconsole/hooks/useEventWebhooks.d.ts +0 -1
  535. package/dist/bigconsole/hooks/useEventWebhooks.js +0 -2
  536. package/dist/bigconsole/hooks/useExportDashboard.d.ts +0 -1
  537. package/dist/bigconsole/hooks/useExportDashboard.js +0 -2
  538. package/dist/bigconsole/hooks/useExportDataSink.d.ts +0 -1
  539. package/dist/bigconsole/hooks/useExportDataSink.js +0 -2
  540. package/dist/bigconsole/hooks/useExportParser.d.ts +0 -1
  541. package/dist/bigconsole/hooks/useExportParser.js +0 -2
  542. package/dist/bigconsole/hooks/useFilterPresets.d.ts +0 -1
  543. package/dist/bigconsole/hooks/useFilterPresets.js +0 -2
  544. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts +0 -1
  545. package/dist/bigconsole/hooks/useFilterUrlSync.js +0 -2
  546. package/dist/bigconsole/hooks/useGlobalFilters.d.ts +0 -1
  547. package/dist/bigconsole/hooks/useGlobalFilters.js +0 -2
  548. package/dist/bigconsole/hooks/useImportDashboard.d.ts +0 -1
  549. package/dist/bigconsole/hooks/useImportDashboard.js +0 -2
  550. package/dist/bigconsole/hooks/useImportDataSink.d.ts +0 -1
  551. package/dist/bigconsole/hooks/useImportDataSink.js +0 -2
  552. package/dist/bigconsole/hooks/useImportParser.d.ts +0 -1
  553. package/dist/bigconsole/hooks/useImportParser.js +0 -2
  554. package/dist/bigconsole/hooks/useInstalledWidgets.d.ts +0 -1
  555. package/dist/bigconsole/hooks/useInstalledWidgets.js +0 -2
  556. package/dist/bigconsole/hooks/useModalFocusTrap.d.ts +0 -1
  557. package/dist/bigconsole/hooks/useModalFocusTrap.js +0 -2
  558. package/dist/bigconsole/hooks/usePageOperations.d.ts +0 -1
  559. package/dist/bigconsole/hooks/usePageOperations.js +0 -2
  560. package/dist/bigconsole/hooks/useParserOperations.d.ts +0 -1
  561. package/dist/bigconsole/hooks/useParserOperations.js +0 -2
  562. package/dist/bigconsole/hooks/usePipelineOperations.d.ts +0 -1
  563. package/dist/bigconsole/hooks/usePipelineOperations.js +0 -2
  564. package/dist/bigconsole/hooks/useShareRecipients.d.ts +0 -1
  565. package/dist/bigconsole/hooks/useShareRecipients.js +0 -2
  566. package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts +0 -1
  567. package/dist/bigconsole/hooks/useStoreDashboardTemplates.js +0 -2
  568. package/dist/bigconsole/hooks/useWidgetActions.d.ts +0 -1
  569. package/dist/bigconsole/hooks/useWidgetActions.js +0 -2
  570. package/dist/bigconsole/hooks/useWidgetCatalog.d.ts +0 -1
  571. package/dist/bigconsole/hooks/useWidgetCatalog.js +0 -2
  572. package/dist/bigconsole/hooks/useWidgetComments.d.ts +0 -1
  573. package/dist/bigconsole/hooks/useWidgetComments.js +0 -2
  574. package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts +0 -1
  575. package/dist/bigconsole/hooks/useWidgetConfigPersist.js +0 -2
  576. package/dist/bigconsole/hooks/useWidgetData.d.ts +0 -1
  577. package/dist/bigconsole/hooks/useWidgetData.js +0 -2
  578. package/dist/bigconsole/hooks/useWidgetEvents.d.ts +0 -1
  579. package/dist/bigconsole/hooks/useWidgetEvents.js +0 -2
  580. package/dist/bigconsole/hooks/useWidgetExport.d.ts +0 -1
  581. package/dist/bigconsole/hooks/useWidgetExport.js +0 -2
  582. package/dist/bigconsole/hooks/useWidgetOperations.d.ts +0 -1
  583. package/dist/bigconsole/hooks/useWidgetOperations.js +0 -2
  584. package/dist/bigconsole/hooks/useWorkflowOperations.d.ts +0 -1
  585. package/dist/bigconsole/hooks/useWorkflowOperations.js +0 -2
  586. package/dist/bigconsole/index.d.ts +0 -1
  587. package/dist/bigconsole/modules/dashboard/index.d.ts +0 -1
  588. package/dist/bigconsole/modules/index.d.ts +0 -1
  589. package/dist/bigconsole/modules/renderer/index.d.ts +0 -1
  590. package/dist/bigconsole/modules/widget/index.d.ts +0 -1
  591. package/dist/bigconsole/pages/AdminPage.d.ts +0 -1
  592. package/dist/bigconsole/pages/AdminPage.js +0 -2
  593. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts +0 -1
  594. package/dist/bigconsole/pages/DashboardBuilderPage.js +0 -2
  595. package/dist/bigconsole/pages/DashboardViewPage.d.ts +0 -1
  596. package/dist/bigconsole/pages/DashboardViewPage.js +0 -2
  597. package/dist/bigconsole/pages/DashboardsPage.d.ts +0 -1
  598. package/dist/bigconsole/pages/DashboardsPage.js +0 -2
  599. package/dist/bigconsole/pages/DataParsersPage.d.ts +0 -1
  600. package/dist/bigconsole/pages/DataParsersPage.js +0 -2
  601. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts +0 -1
  602. package/dist/bigconsole/pages/DataSinkAlertsPage.js +0 -2
  603. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts +0 -1
  604. package/dist/bigconsole/pages/DataSinkBuilderPage.js +0 -2
  605. package/dist/bigconsole/pages/DataSinkViewPage.d.ts +0 -1
  606. package/dist/bigconsole/pages/DataSinkViewPage.js +0 -2
  607. package/dist/bigconsole/pages/DataSinksPage.d.ts +0 -1
  608. package/dist/bigconsole/pages/DataSinksPage.js +0 -2
  609. package/dist/bigconsole/pages/DataSourcesPage.d.ts +0 -1
  610. package/dist/bigconsole/pages/DataSourcesPage.js +0 -2
  611. package/dist/bigconsole/pages/InsightsPage.d.ts +0 -1
  612. package/dist/bigconsole/pages/InsightsPage.js +0 -2
  613. package/dist/bigconsole/pages/OverviewPage.d.ts +0 -1
  614. package/dist/bigconsole/pages/OverviewPage.js +0 -2
  615. package/dist/bigconsole/pages/ParserBuilderPage.d.ts +0 -1
  616. package/dist/bigconsole/pages/ParserBuilderPage.js +0 -2
  617. package/dist/bigconsole/pages/ParserViewPage.d.ts +0 -1
  618. package/dist/bigconsole/pages/ParserViewPage.js +0 -2
  619. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts +0 -1
  620. package/dist/bigconsole/pages/PipelineBuilderPage.js +0 -2
  621. package/dist/bigconsole/pages/PipelineViewPage.d.ts +0 -1
  622. package/dist/bigconsole/pages/PipelineViewPage.js +0 -2
  623. package/dist/bigconsole/pages/PipelinesPage.d.ts +0 -1
  624. package/dist/bigconsole/pages/PipelinesPage.js +0 -2
  625. package/dist/bigconsole/pages/SettingsPage.d.ts +0 -1
  626. package/dist/bigconsole/pages/SettingsPage.js +0 -2
  627. package/dist/bigconsole/pages/WidgetDemoPage.d.ts +0 -1
  628. package/dist/bigconsole/pages/WidgetDemoPage.js +0 -2
  629. package/dist/bigconsole/pages/WorkflowViewPage.d.ts +0 -1
  630. package/dist/bigconsole/pages/WorkflowViewPage.js +0 -2
  631. package/dist/bigconsole/pages/WorkflowsPage.d.ts +0 -1
  632. package/dist/bigconsole/pages/WorkflowsPage.js +0 -2
  633. package/dist/bigconsole/pages/index.d.ts +0 -1
  634. package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts +0 -1
  635. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +0 -2
  636. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts +0 -1
  637. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +0 -2
  638. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts +0 -1
  639. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js +0 -2
  640. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts +0 -1
  641. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +0 -2
  642. package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts +0 -1
  643. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +0 -2
  644. package/dist/bigconsole/renderers/adapters/index.d.ts +0 -1
  645. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts +0 -1
  646. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js +0 -2
  647. package/dist/bigconsole/renderers/index.d.ts +0 -1
  648. package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts +0 -1
  649. package/dist/bigconsole/renderers/registry/RendererRegistry.js +0 -2
  650. package/dist/bigconsole/renderers/types/index.d.ts +0 -1
  651. package/dist/bigconsole/renderers/types/renderer.d.ts +0 -1
  652. package/dist/bigconsole/store/dashboardStore.d.ts +0 -1
  653. package/dist/bigconsole/store/dashboardStore.js +0 -2
  654. package/dist/bigconsole/store/dataSinkStore.d.ts +0 -1
  655. package/dist/bigconsole/store/dataSinkStore.js +0 -2
  656. package/dist/bigconsole/store/drilldownStore.d.ts +0 -1
  657. package/dist/bigconsole/store/drilldownStore.js +0 -2
  658. package/dist/bigconsole/store/index.d.ts +0 -1
  659. package/dist/bigconsole/store/parserStore.d.ts +0 -1
  660. package/dist/bigconsole/store/parserStore.js +0 -2
  661. package/dist/bigconsole/store/pipelineStore.d.ts +0 -1
  662. package/dist/bigconsole/store/pipelineStore.js +0 -2
  663. package/dist/bigconsole/store/widgetStore.d.ts +0 -1
  664. package/dist/bigconsole/store/widgetStore.js +0 -2
  665. package/dist/bigconsole/store/workflowStore.d.ts +0 -1
  666. package/dist/bigconsole/store/workflowStore.js +0 -2
  667. package/dist/bigconsole/types/index.d.ts +0 -1
  668. package/dist/bigconsole/utils/alertRules.d.ts +0 -1
  669. package/dist/bigconsole/utils/alertRules.js +0 -2
  670. package/dist/bigconsole/utils/backendError.d.ts +0 -1
  671. package/dist/bigconsole/utils/backendError.js +0 -2
  672. package/dist/bigconsole/utils/createDialogParam.d.ts +0 -1
  673. package/dist/bigconsole/utils/createDialogParam.js +0 -2
  674. package/dist/bigconsole/utils/csv.d.ts +0 -1
  675. package/dist/bigconsole/utils/csv.js +0 -2
  676. package/dist/bigconsole/utils/dashboardTemplateContent.d.ts +0 -1
  677. package/dist/bigconsole/utils/dashboardTemplateContent.js +0 -2
  678. package/dist/bigconsole/utils/drilldownParams.d.ts +0 -1
  679. package/dist/bigconsole/utils/drilldownParams.js +0 -2
  680. package/dist/bigconsole/utils/formDirty.d.ts +0 -1
  681. package/dist/bigconsole/utils/formDirty.js +0 -2
  682. package/dist/bigconsole/utils/format.d.ts +0 -1
  683. package/dist/bigconsole/utils/format.js +0 -2
  684. package/dist/bigconsole/utils/index.d.ts +0 -1
  685. package/dist/bigconsole/utils/insightsDraft.d.ts +0 -1
  686. package/dist/bigconsole/utils/insightsDraft.js +0 -2
  687. package/dist/bigconsole/utils/layoutBaseline.d.ts +0 -1
  688. package/dist/bigconsole/utils/layoutBaseline.js +0 -2
  689. package/dist/bigconsole/utils/quota.d.ts +0 -1
  690. package/dist/bigconsole/utils/quota.js +0 -2
  691. package/dist/bigconsole/utils/semanticTokens.d.ts +0 -1
  692. package/dist/bigconsole/utils/semanticTokens.js +0 -2
  693. package/dist/bigconsole/utils/templateInstallInputs.d.ts +0 -1
  694. package/dist/bigconsole/utils/templateInstallInputs.js +0 -2
  695. package/dist/bigconsole/utils/widgetBinding.d.ts +0 -1
  696. package/dist/bigconsole/utils/widgetBinding.js +0 -2
  697. package/dist/bigconsole/utils/widgetFormDirty.d.ts +0 -1
  698. package/dist/bigconsole/utils/widgetFormDirty.js +0 -2
  699. package/dist/bigconsole/utils/widgetPositioning.d.ts +0 -1
  700. package/dist/bigconsole/utils/widgetPositioning.js +0 -2
  701. package/dist/bigconsole/utils/widgetTypeMapping.d.ts +0 -1
  702. package/dist/bigconsole/utils/widgetTypeMapping.js +0 -2
  703. package/dist/bigconsole/workflowOpen.d.ts +0 -1
  704. package/dist/bigconsole/workflowOpen.js +0 -2
  705. package/dist/constants/permissions.d.ts +0 -1
  706. package/dist/constants/permissions.js +0 -2
  707. package/dist/generated/global-operations.d.ts +0 -1
  708. package/dist/generated/global-operations.js +0 -2
  709. package/dist/generated/global-types.d.ts +0 -1
  710. package/dist/generated/wspace-operations.d.ts +0 -1
  711. package/dist/generated/wspace-operations.js +0 -2
  712. package/dist/generated/wspace-types.d.ts +0 -1
  713. package/dist/generated/wspace-types.js +0 -2
  714. package/dist/index.d.ts +0 -1
  715. package/dist/node_modules/@e965/xlsx/xlsx.js +0 -2
  716. package/dist/node_modules/pdfjs-dist/build/pdf.js +0 -2
  717. package/dist/shared/hooks/useTr.d.ts +0 -1
  718. package/dist/shared/hooks/useTr.js +0 -2
  719. package/dist/translations/en.d.ts +0 -1
  720. package/dist/utils/nativeBridge.d.ts +0 -1
  721. package/package.json +5 -4
  722. package/dist/bigconsole/AdminRoot.d.ts.map +0 -1
  723. package/dist/bigconsole/AdminRoot.js.map +0 -1
  724. package/dist/bigconsole/AdminRoutes.d.ts.map +0 -1
  725. package/dist/bigconsole/AdminRoutes.js.map +0 -1
  726. package/dist/bigconsole/BigConsoleRoot.d.ts.map +0 -1
  727. package/dist/bigconsole/BigConsoleRoot.js.map +0 -1
  728. package/dist/bigconsole/BigConsoleRoutes.d.ts.map +0 -1
  729. package/dist/bigconsole/BigConsoleRoutes.js.map +0 -1
  730. package/dist/bigconsole/assistant/assistantApi.d.ts.map +0 -1
  731. package/dist/bigconsole/assistant/assistantApi.js.map +0 -1
  732. package/dist/bigconsole/assistant/assistantProduct.d.ts.map +0 -1
  733. package/dist/bigconsole/assistant/assistantProduct.js.map +0 -1
  734. package/dist/bigconsole/assistant/assistantPrompt.d.ts.map +0 -1
  735. package/dist/bigconsole/assistant/assistantPrompt.js.map +0 -1
  736. package/dist/bigconsole/assistant/assistantRunPersistence.d.ts.map +0 -1
  737. package/dist/bigconsole/assistant/assistantRunPersistence.js.map +0 -1
  738. package/dist/bigconsole/assistant/assistantRunStore.d.ts.map +0 -1
  739. package/dist/bigconsole/assistant/assistantRunStore.js.map +0 -1
  740. package/dist/bigconsole/assistant/assistantRuntime.d.ts.map +0 -1
  741. package/dist/bigconsole/assistant/assistantRuntime.js.map +0 -1
  742. package/dist/bigconsole/assistant/attachmentExtract.d.ts.map +0 -1
  743. package/dist/bigconsole/assistant/attachmentExtract.js.map +0 -1
  744. package/dist/bigconsole/assistant/conversationHistoryApi.d.ts.map +0 -1
  745. package/dist/bigconsole/assistant/conversationHistoryApi.js.map +0 -1
  746. package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts.map +0 -1
  747. package/dist/bigconsole/assistant/createSandboxAssistantTransport.js.map +0 -1
  748. package/dist/bigconsole/assistant/displayCopy.d.ts.map +0 -1
  749. package/dist/bigconsole/assistant/index.d.ts.map +0 -1
  750. package/dist/bigconsole/assistant/modes.d.ts.map +0 -1
  751. package/dist/bigconsole/assistant/modes.js.map +0 -1
  752. package/dist/bigconsole/assistant/pageContext.d.ts.map +0 -1
  753. package/dist/bigconsole/assistant/pageContext.js.map +0 -1
  754. package/dist/bigconsole/assistant/previewController.d.ts.map +0 -1
  755. package/dist/bigconsole/assistant/previewController.js.map +0 -1
  756. package/dist/bigconsole/assistant/previewMutationResult.d.ts.map +0 -1
  757. package/dist/bigconsole/assistant/previewMutationResult.js.map +0 -1
  758. package/dist/bigconsole/assistant/previewRunAction.d.ts.map +0 -1
  759. package/dist/bigconsole/assistant/previewRunAction.js.map +0 -1
  760. package/dist/bigconsole/assistant/product.d.ts.map +0 -1
  761. package/dist/bigconsole/assistant/product.js.map +0 -1
  762. package/dist/bigconsole/assistant/recordAdapters.d.ts.map +0 -1
  763. package/dist/bigconsole/assistant/recordAdapters.js.map +0 -1
  764. package/dist/bigconsole/assistant/types.d.ts.map +0 -1
  765. package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts.map +0 -1
  766. package/dist/bigconsole/assistant/useAssistantRunWorkspace.js.map +0 -1
  767. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts.map +0 -1
  768. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js.map +0 -1
  769. package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts.map +0 -1
  770. package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +0 -1
  771. package/dist/bigconsole/components/DrilldownModal.d.ts.map +0 -1
  772. package/dist/bigconsole/components/DrilldownModal.js.map +0 -1
  773. package/dist/bigconsole/components/builder/BuilderCanvas.d.ts.map +0 -1
  774. package/dist/bigconsole/components/builder/BuilderCanvas.js.map +0 -1
  775. package/dist/bigconsole/components/builder/BuilderTopbar.d.ts.map +0 -1
  776. package/dist/bigconsole/components/builder/BuilderTopbar.js.map +0 -1
  777. package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts.map +0 -1
  778. package/dist/bigconsole/components/builder/DashboardEditorShell.js.map +0 -1
  779. package/dist/bigconsole/components/builder/WidgetInspector.d.ts.map +0 -1
  780. package/dist/bigconsole/components/builder/WidgetInspector.js.map +0 -1
  781. package/dist/bigconsole/components/builder/index.d.ts.map +0 -1
  782. package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts.map +0 -1
  783. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +0 -1
  784. package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts.map +0 -1
  785. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +0 -1
  786. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts.map +0 -1
  787. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +0 -1
  788. package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts.map +0 -1
  789. package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +0 -1
  790. package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts.map +0 -1
  791. package/dist/bigconsole/components/builder/inspector/LayoutSection.js.map +0 -1
  792. package/dist/bigconsole/components/builder/inspector/index.d.ts.map +0 -1
  793. package/dist/bigconsole/components/common/Section.d.ts.map +0 -1
  794. package/dist/bigconsole/components/common/Section.js.map +0 -1
  795. package/dist/bigconsole/components/common/index.d.ts.map +0 -1
  796. package/dist/bigconsole/components/common/sectionStyles.d.ts.map +0 -1
  797. package/dist/bigconsole/components/common/sectionStyles.js.map +0 -1
  798. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts.map +0 -1
  799. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +0 -1
  800. package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts.map +0 -1
  801. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +0 -1
  802. package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts.map +0 -1
  803. package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +0 -1
  804. package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts.map +0 -1
  805. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js.map +0 -1
  806. package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts.map +0 -1
  807. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +0 -1
  808. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts.map +0 -1
  809. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +0 -1
  810. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts.map +0 -1
  811. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +0 -1
  812. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts.map +0 -1
  813. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +0 -1
  814. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts.map +0 -1
  815. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +0 -1
  816. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts.map +0 -1
  817. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +0 -1
  818. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts.map +0 -1
  819. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +0 -1
  820. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts.map +0 -1
  821. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts.map +0 -1
  822. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +0 -1
  823. package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts.map +0 -1
  824. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +0 -1
  825. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts.map +0 -1
  826. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js.map +0 -1
  827. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts.map +0 -1
  828. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +0 -1
  829. package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts.map +0 -1
  830. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts.map +0 -1
  831. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +0 -1
  832. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts.map +0 -1
  833. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +0 -1
  834. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts.map +0 -1
  835. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts.map +0 -1
  836. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +0 -1
  837. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts.map +0 -1
  838. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +0 -1
  839. package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts.map +0 -1
  840. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts.map +0 -1
  841. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +0 -1
  842. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts.map +0 -1
  843. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js.map +0 -1
  844. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts.map +0 -1
  845. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js.map +0 -1
  846. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts.map +0 -1
  847. package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts.map +0 -1
  848. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts.map +0 -1
  849. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +0 -1
  850. package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts.map +0 -1
  851. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +0 -1
  852. package/dist/bigconsole/components/dashboard/index.d.ts.map +0 -1
  853. package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts.map +0 -1
  854. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js.map +0 -1
  855. package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts.map +0 -1
  856. package/dist/bigconsole/components/datasink/AlertRuleEditor.js.map +0 -1
  857. package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts.map +0 -1
  858. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +0 -1
  859. package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts.map +0 -1
  860. package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts.map +0 -1
  861. package/dist/bigconsole/components/datasink/DataSinkCard.d.ts.map +0 -1
  862. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +0 -1
  863. package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts.map +0 -1
  864. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +0 -1
  865. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts.map +0 -1
  866. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +0 -1
  867. package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts.map +0 -1
  868. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts.map +0 -1
  869. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +0 -1
  870. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts.map +0 -1
  871. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +0 -1
  872. package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts.map +0 -1
  873. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +0 -1
  874. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts.map +0 -1
  875. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +0 -1
  876. package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts.map +0 -1
  877. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts.map +0 -1
  878. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +0 -1
  879. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts.map +0 -1
  880. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +0 -1
  881. package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts.map +0 -1
  882. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +0 -1
  883. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts.map +0 -1
  884. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +0 -1
  885. package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts.map +0 -1
  886. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +0 -1
  887. package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts.map +0 -1
  888. package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +0 -1
  889. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts.map +0 -1
  890. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +0 -1
  891. package/dist/bigconsole/components/datasink/index.d.ts.map +0 -1
  892. package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts.map +0 -1
  893. package/dist/bigconsole/components/embed/EmbedErrorBoundary.js.map +0 -1
  894. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts.map +0 -1
  895. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js.map +0 -1
  896. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts.map +0 -1
  897. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js.map +0 -1
  898. package/dist/bigconsole/components/embed/drilldown.d.ts.map +0 -1
  899. package/dist/bigconsole/components/embed/drilldown.js.map +0 -1
  900. package/dist/bigconsole/components/embed/index.d.ts.map +0 -1
  901. package/dist/bigconsole/components/embed/renderer-manifest.d.ts.map +0 -1
  902. package/dist/bigconsole/components/embed/renderer-manifest.js.map +0 -1
  903. package/dist/bigconsole/components/embed/types.d.ts.map +0 -1
  904. package/dist/bigconsole/components/embed/types.js.map +0 -1
  905. package/dist/bigconsole/components/embed/validate.d.ts.map +0 -1
  906. package/dist/bigconsole/components/embed/validate.js.map +0 -1
  907. package/dist/bigconsole/components/embed/widgetShim.d.ts.map +0 -1
  908. package/dist/bigconsole/components/embed/widgetShim.js.map +0 -1
  909. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts.map +0 -1
  910. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js.map +0 -1
  911. package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts.map +0 -1
  912. package/dist/bigconsole/components/embed/widgets/ChartEmbed.js.map +0 -1
  913. package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts.map +0 -1
  914. package/dist/bigconsole/components/embed/widgets/EmbedFrame.js.map +0 -1
  915. package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts.map +0 -1
  916. package/dist/bigconsole/components/embed/widgets/FormEmbed.js.map +0 -1
  917. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts.map +0 -1
  918. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js.map +0 -1
  919. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts.map +0 -1
  920. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js.map +0 -1
  921. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts.map +0 -1
  922. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js.map +0 -1
  923. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts.map +0 -1
  924. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js.map +0 -1
  925. package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts.map +0 -1
  926. package/dist/bigconsole/components/embed/widgets/ListEmbed.js.map +0 -1
  927. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts.map +0 -1
  928. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js.map +0 -1
  929. package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts.map +0 -1
  930. package/dist/bigconsole/components/embed/widgets/PivotEmbed.js.map +0 -1
  931. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts.map +0 -1
  932. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js.map +0 -1
  933. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts.map +0 -1
  934. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js.map +0 -1
  935. package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts.map +0 -1
  936. package/dist/bigconsole/components/embed/widgets/TableEmbed.js.map +0 -1
  937. package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts.map +0 -1
  938. package/dist/bigconsole/components/embed/widgets/TextEmbed.js.map +0 -1
  939. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts.map +0 -1
  940. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js.map +0 -1
  941. package/dist/bigconsole/components/embed/widgets/shared.d.ts.map +0 -1
  942. package/dist/bigconsole/components/embed/widgets/shared.js.map +0 -1
  943. package/dist/bigconsole/components/overview/DashboardGuide.d.ts.map +0 -1
  944. package/dist/bigconsole/components/overview/DashboardGuide.js.map +0 -1
  945. package/dist/bigconsole/components/overview/DataHealthCard.d.ts.map +0 -1
  946. package/dist/bigconsole/components/overview/DataHealthCard.js.map +0 -1
  947. package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts.map +0 -1
  948. package/dist/bigconsole/components/overview/OverviewQuickActions.js.map +0 -1
  949. package/dist/bigconsole/components/overview/OverviewStatCard.d.ts.map +0 -1
  950. package/dist/bigconsole/components/overview/OverviewStatCard.js.map +0 -1
  951. package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts.map +0 -1
  952. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js.map +0 -1
  953. package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts.map +0 -1
  954. package/dist/bigconsole/components/overview/dashboardGuideSteps.js.map +0 -1
  955. package/dist/bigconsole/components/overview/index.d.ts.map +0 -1
  956. package/dist/bigconsole/components/overview/overviewModel.d.ts.map +0 -1
  957. package/dist/bigconsole/components/overview/overviewModel.js.map +0 -1
  958. package/dist/bigconsole/components/overview/useOverviewData.d.ts.map +0 -1
  959. package/dist/bigconsole/components/overview/useOverviewData.js.map +0 -1
  960. package/dist/bigconsole/components/parser/DataSinkSelector.d.ts.map +0 -1
  961. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +0 -1
  962. package/dist/bigconsole/components/parser/ExportParserDialog.d.ts.map +0 -1
  963. package/dist/bigconsole/components/parser/ExportParserDialog.js.map +0 -1
  964. package/dist/bigconsole/components/parser/ExpressionEditor.d.ts.map +0 -1
  965. package/dist/bigconsole/components/parser/ExpressionEditor.js.map +0 -1
  966. package/dist/bigconsole/components/parser/ImportParserDialog.d.ts.map +0 -1
  967. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +0 -1
  968. package/dist/bigconsole/components/parser/ParserBuilder.d.ts.map +0 -1
  969. package/dist/bigconsole/components/parser/ParserCard.d.ts.map +0 -1
  970. package/dist/bigconsole/components/parser/ParserCard.js.map +0 -1
  971. package/dist/bigconsole/components/parser/ParserFormDialog.d.ts.map +0 -1
  972. package/dist/bigconsole/components/parser/ParserSelector.d.ts.map +0 -1
  973. package/dist/bigconsole/components/parser/ParserSelector.js.map +0 -1
  974. package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts.map +0 -1
  975. package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +0 -1
  976. package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts.map +0 -1
  977. package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +0 -1
  978. package/dist/bigconsole/components/parser/TestPanel.d.ts.map +0 -1
  979. package/dist/bigconsole/components/parser/index.d.ts.map +0 -1
  980. package/dist/bigconsole/components/parser/parserFieldStyles.d.ts.map +0 -1
  981. package/dist/bigconsole/components/pipeline/PipelineCard.d.ts.map +0 -1
  982. package/dist/bigconsole/components/pipeline/PipelineCard.js.map +0 -1
  983. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts.map +0 -1
  984. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +0 -1
  985. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts.map +0 -1
  986. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js.map +0 -1
  987. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts.map +0 -1
  988. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +0 -1
  989. package/dist/bigconsole/components/pipeline/index.d.ts.map +0 -1
  990. package/dist/bigconsole/components/preview/AiPreviewContent.d.ts.map +0 -1
  991. package/dist/bigconsole/components/preview/AiPreviewContent.js.map +0 -1
  992. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts.map +0 -1
  993. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +0 -1
  994. package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts.map +0 -1
  995. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +0 -1
  996. package/dist/bigconsole/components/preview/parserPreview.d.ts.map +0 -1
  997. package/dist/bigconsole/components/preview/parserPreview.js.map +0 -1
  998. package/dist/bigconsole/components/preview/previewShared.d.ts.map +0 -1
  999. package/dist/bigconsole/components/preview/previewShared.js.map +0 -1
  1000. package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts.map +0 -1
  1001. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +0 -1
  1002. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts.map +0 -1
  1003. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +0 -1
  1004. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +0 -1
  1005. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +0 -1
  1006. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts.map +0 -1
  1007. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +0 -1
  1008. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts.map +0 -1
  1009. package/dist/bigconsole/components/widgets/WidgetHeader.js.map +0 -1
  1010. package/dist/bigconsole/components/widgets/WidgetMenu.d.ts.map +0 -1
  1011. package/dist/bigconsole/components/widgets/WidgetMenu.js.map +0 -1
  1012. package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts.map +0 -1
  1013. package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +0 -1
  1014. package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts.map +0 -1
  1015. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts.map +0 -1
  1016. package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +0 -1
  1017. package/dist/bigconsole/components/widgets/actionConfig.d.ts.map +0 -1
  1018. package/dist/bigconsole/components/widgets/actionConfig.js.map +0 -1
  1019. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts.map +0 -1
  1020. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +0 -1
  1021. package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts.map +0 -1
  1022. package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts.map +0 -1
  1023. package/dist/bigconsole/components/widgets/calendar/CalendarView.js.map +0 -1
  1024. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts.map +0 -1
  1025. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +0 -1
  1026. package/dist/bigconsole/components/widgets/calendar/index.d.ts.map +0 -1
  1027. package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts.map +0 -1
  1028. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +0 -1
  1029. package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts.map +0 -1
  1030. package/dist/bigconsole/components/widgets/chart/ChartLegend.js.map +0 -1
  1031. package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts.map +0 -1
  1032. package/dist/bigconsole/components/widgets/chart/ChartTooltip.js.map +0 -1
  1033. package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts.map +0 -1
  1034. package/dist/bigconsole/components/widgets/chart/ChartWidget.js.map +0 -1
  1035. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts.map +0 -1
  1036. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js.map +0 -1
  1037. package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts.map +0 -1
  1038. package/dist/bigconsole/components/widgets/chart/charts/BarChart.js.map +0 -1
  1039. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts.map +0 -1
  1040. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js.map +0 -1
  1041. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts.map +0 -1
  1042. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js.map +0 -1
  1043. package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts.map +0 -1
  1044. package/dist/bigconsole/components/widgets/chart/charts/LineChart.js.map +0 -1
  1045. package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts.map +0 -1
  1046. package/dist/bigconsole/components/widgets/chart/charts/PieChart.js.map +0 -1
  1047. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts.map +0 -1
  1048. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js.map +0 -1
  1049. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts.map +0 -1
  1050. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js.map +0 -1
  1051. package/dist/bigconsole/components/widgets/chart/charts/index.d.ts.map +0 -1
  1052. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts.map +0 -1
  1053. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js.map +0 -1
  1054. package/dist/bigconsole/components/widgets/chart/charts/types.d.ts.map +0 -1
  1055. package/dist/bigconsole/components/widgets/chart/index.d.ts.map +0 -1
  1056. package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts.map +0 -1
  1057. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +0 -1
  1058. package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts.map +0 -1
  1059. package/dist/bigconsole/components/widgets/custom/CustomWidget.js.map +0 -1
  1060. package/dist/bigconsole/components/widgets/custom/config.d.ts.map +0 -1
  1061. package/dist/bigconsole/components/widgets/custom/config.js.map +0 -1
  1062. package/dist/bigconsole/components/widgets/custom/index.d.ts.map +0 -1
  1063. package/dist/bigconsole/components/widgets/custom/utils.d.ts.map +0 -1
  1064. package/dist/bigconsole/components/widgets/custom/utils.js.map +0 -1
  1065. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts.map +0 -1
  1066. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +0 -1
  1067. package/dist/bigconsole/components/widgets/event-logs/index.d.ts.map +0 -1
  1068. package/dist/bigconsole/components/widgets/form/FormWidget.d.ts.map +0 -1
  1069. package/dist/bigconsole/components/widgets/form/FormWidget.js.map +0 -1
  1070. package/dist/bigconsole/components/widgets/form/index.d.ts.map +0 -1
  1071. package/dist/bigconsole/components/widgets/funnel/index.d.ts.map +0 -1
  1072. package/dist/bigconsole/components/widgets/funnel/index.js.map +0 -1
  1073. package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts.map +0 -1
  1074. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +0 -1
  1075. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts.map +0 -1
  1076. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +0 -1
  1077. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts.map +0 -1
  1078. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +0 -1
  1079. package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts.map +0 -1
  1080. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +0 -1
  1081. package/dist/bigconsole/components/widgets/gauge/index.d.ts.map +0 -1
  1082. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts.map +0 -1
  1083. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +0 -1
  1084. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts.map +0 -1
  1085. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js.map +0 -1
  1086. package/dist/bigconsole/components/widgets/heatmap/index.d.ts.map +0 -1
  1087. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts.map +0 -1
  1088. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +0 -1
  1089. package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts.map +0 -1
  1090. package/dist/bigconsole/components/widgets/index.d.ts.map +0 -1
  1091. package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts.map +0 -1
  1092. package/dist/bigconsole/components/widgets/kanban/KanbanView.js.map +0 -1
  1093. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts.map +0 -1
  1094. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +0 -1
  1095. package/dist/bigconsole/components/widgets/kanban/index.d.ts.map +0 -1
  1096. package/dist/bigconsole/components/widgets/kanban/model.d.ts.map +0 -1
  1097. package/dist/bigconsole/components/widgets/kanban/model.js.map +0 -1
  1098. package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts.map +0 -1
  1099. package/dist/bigconsole/components/widgets/kpi/KPIWidget.js.map +0 -1
  1100. package/dist/bigconsole/components/widgets/kpi/index.d.ts.map +0 -1
  1101. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts.map +0 -1
  1102. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +0 -1
  1103. package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts.map +0 -1
  1104. package/dist/bigconsole/components/widgets/list/ListConfig.d.ts.map +0 -1
  1105. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +0 -1
  1106. package/dist/bigconsole/components/widgets/list/ListItem.d.ts.map +0 -1
  1107. package/dist/bigconsole/components/widgets/list/ListItem.js.map +0 -1
  1108. package/dist/bigconsole/components/widgets/list/ListWidget.d.ts.map +0 -1
  1109. package/dist/bigconsole/components/widgets/list/ListWidget.js.map +0 -1
  1110. package/dist/bigconsole/components/widgets/list/index.d.ts.map +0 -1
  1111. package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts.map +0 -1
  1112. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +0 -1
  1113. package/dist/bigconsole/components/widgets/map-widget/index.d.ts.map +0 -1
  1114. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts.map +0 -1
  1115. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js.map +0 -1
  1116. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts.map +0 -1
  1117. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +0 -1
  1118. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts.map +0 -1
  1119. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +0 -1
  1120. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts.map +0 -1
  1121. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +0 -1
  1122. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts.map +0 -1
  1123. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +0 -1
  1124. package/dist/bigconsole/components/widgets/metric-card/index.d.ts.map +0 -1
  1125. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts.map +0 -1
  1126. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +0 -1
  1127. package/dist/bigconsole/components/widgets/pivot-table/index.d.ts.map +0 -1
  1128. package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts.map +0 -1
  1129. package/dist/bigconsole/components/widgets/progress/ProgressBar.js.map +0 -1
  1130. package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts.map +0 -1
  1131. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +0 -1
  1132. package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts.map +0 -1
  1133. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +0 -1
  1134. package/dist/bigconsole/components/widgets/progress/index.d.ts.map +0 -1
  1135. package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts.map +0 -1
  1136. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +0 -1
  1137. package/dist/bigconsole/components/widgets/retention/index.d.ts.map +0 -1
  1138. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts.map +0 -1
  1139. package/dist/bigconsole/components/widgets/states/EmptyState.js.map +0 -1
  1140. package/dist/bigconsole/components/widgets/states/ErrorState.d.ts.map +0 -1
  1141. package/dist/bigconsole/components/widgets/states/ErrorState.js.map +0 -1
  1142. package/dist/bigconsole/components/widgets/states/LoadingState.d.ts.map +0 -1
  1143. package/dist/bigconsole/components/widgets/states/LoadingState.js.map +0 -1
  1144. package/dist/bigconsole/components/widgets/states/index.d.ts.map +0 -1
  1145. package/dist/bigconsole/components/widgets/table/TableCell.d.ts.map +0 -1
  1146. package/dist/bigconsole/components/widgets/table/TableCell.js.map +0 -1
  1147. package/dist/bigconsole/components/widgets/table/TableConfig.d.ts.map +0 -1
  1148. package/dist/bigconsole/components/widgets/table/TableConfig.js.map +0 -1
  1149. package/dist/bigconsole/components/widgets/table/TableHeader.d.ts.map +0 -1
  1150. package/dist/bigconsole/components/widgets/table/TableHeader.js.map +0 -1
  1151. package/dist/bigconsole/components/widgets/table/TablePagination.d.ts.map +0 -1
  1152. package/dist/bigconsole/components/widgets/table/TablePagination.js.map +0 -1
  1153. package/dist/bigconsole/components/widgets/table/TableWidget.d.ts.map +0 -1
  1154. package/dist/bigconsole/components/widgets/table/TableWidget.js.map +0 -1
  1155. package/dist/bigconsole/components/widgets/table/cellLink.d.ts.map +0 -1
  1156. package/dist/bigconsole/components/widgets/table/cellLink.js.map +0 -1
  1157. package/dist/bigconsole/components/widgets/table/index.d.ts.map +0 -1
  1158. package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts.map +0 -1
  1159. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +0 -1
  1160. package/dist/bigconsole/components/widgets/text-widget/index.d.ts.map +0 -1
  1161. package/dist/bigconsole/components/widgets/text-widget/textData.d.ts.map +0 -1
  1162. package/dist/bigconsole/components/widgets/text-widget/textData.js.map +0 -1
  1163. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts.map +0 -1
  1164. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +0 -1
  1165. package/dist/bigconsole/components/widgets/timeline/index.d.ts.map +0 -1
  1166. package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts.map +0 -1
  1167. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +0 -1
  1168. package/dist/bigconsole/components/widgets/utils/inferFields.d.ts.map +0 -1
  1169. package/dist/bigconsole/components/widgets/utils/inferFields.js.map +0 -1
  1170. package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts.map +0 -1
  1171. package/dist/bigconsole/components/widgets/utils/targetProgress.js.map +0 -1
  1172. package/dist/bigconsole/components/widgets/utils/translate.d.ts.map +0 -1
  1173. package/dist/bigconsole/components/widgets/utils/translate.js.map +0 -1
  1174. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts.map +0 -1
  1175. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +0 -1
  1176. package/dist/bigconsole/components/widgets/webhook-config/index.d.ts.map +0 -1
  1177. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts.map +0 -1
  1178. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +0 -1
  1179. package/dist/bigconsole/components/widgets/widget-actions/index.d.ts.map +0 -1
  1180. package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts.map +0 -1
  1181. package/dist/bigconsole/components/workflow/WorkflowCard.d.ts.map +0 -1
  1182. package/dist/bigconsole/components/workflow/WorkflowCard.js.map +0 -1
  1183. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts.map +0 -1
  1184. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +0 -1
  1185. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts.map +0 -1
  1186. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js.map +0 -1
  1187. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts.map +0 -1
  1188. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js.map +0 -1
  1189. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts.map +0 -1
  1190. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js.map +0 -1
  1191. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts.map +0 -1
  1192. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +0 -1
  1193. package/dist/bigconsole/components/workflow/index.d.ts.map +0 -1
  1194. package/dist/bigconsole/constants/backendErrors.d.ts.map +0 -1
  1195. package/dist/bigconsole/constants/backendErrors.js.map +0 -1
  1196. package/dist/bigconsole/constants.d.ts.map +0 -1
  1197. package/dist/bigconsole/constants.js.map +0 -1
  1198. package/dist/bigconsole/context/BigConsoleContext.d.ts.map +0 -1
  1199. package/dist/bigconsole/context/BigConsoleContext.js.map +0 -1
  1200. package/dist/bigconsole/context/index.d.ts.map +0 -1
  1201. package/dist/bigconsole/contexts/CrossFilterContext.d.ts.map +0 -1
  1202. package/dist/bigconsole/contexts/CrossFilterContext.js.map +0 -1
  1203. package/dist/bigconsole/contexts/NavigationContext.d.ts.map +0 -1
  1204. package/dist/bigconsole/contexts/NavigationContext.js.map +0 -1
  1205. package/dist/bigconsole/contexts/index.d.ts.map +0 -1
  1206. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts.map +0 -1
  1207. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +0 -1
  1208. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts.map +0 -1
  1209. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +0 -1
  1210. package/dist/bigconsole/customWidget/index.d.ts.map +0 -1
  1211. package/dist/bigconsole/customWidget/proposalContract.d.ts.map +0 -1
  1212. package/dist/bigconsole/customWidget/proposalContract.js.map +0 -1
  1213. package/dist/bigconsole/customWidget/proposalSource.d.ts.map +0 -1
  1214. package/dist/bigconsole/customWidget/proposalSource.js.map +0 -1
  1215. package/dist/bigconsole/graphql/apollo-compat.d.ts.map +0 -1
  1216. package/dist/bigconsole/graphql/storeTemplates.d.ts.map +0 -1
  1217. package/dist/bigconsole/graphql/storeTemplates.js.map +0 -1
  1218. package/dist/bigconsole/hooks/index.d.ts.map +0 -1
  1219. package/dist/bigconsole/hooks/useActivePage.d.ts.map +0 -1
  1220. package/dist/bigconsole/hooks/useActivePage.js.map +0 -1
  1221. package/dist/bigconsole/hooks/useAutoRefresh.d.ts.map +0 -1
  1222. package/dist/bigconsole/hooks/useAutoRefresh.js.map +0 -1
  1223. package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts.map +0 -1
  1224. package/dist/bigconsole/hooks/useBigConsoleAnalytics.js.map +0 -1
  1225. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts.map +0 -1
  1226. package/dist/bigconsole/hooks/useBigConsoleSettings.js.map +0 -1
  1227. package/dist/bigconsole/hooks/useCrossFilter.d.ts.map +0 -1
  1228. package/dist/bigconsole/hooks/useCrossFilter.js.map +0 -1
  1229. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts.map +0 -1
  1230. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js.map +0 -1
  1231. package/dist/bigconsole/hooks/useDashboardImageExport.d.ts.map +0 -1
  1232. package/dist/bigconsole/hooks/useDashboardImageExport.js.map +0 -1
  1233. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts.map +0 -1
  1234. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js.map +0 -1
  1235. package/dist/bigconsole/hooks/useDashboardOperations.d.ts.map +0 -1
  1236. package/dist/bigconsole/hooks/useDashboardOperations.js.map +0 -1
  1237. package/dist/bigconsole/hooks/useDashboardSharing.d.ts.map +0 -1
  1238. package/dist/bigconsole/hooks/useDashboardSharing.js.map +0 -1
  1239. package/dist/bigconsole/hooks/useDashboardTemplates.d.ts.map +0 -1
  1240. package/dist/bigconsole/hooks/useDashboardViews.d.ts.map +0 -1
  1241. package/dist/bigconsole/hooks/useDashboardViews.js.map +0 -1
  1242. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts.map +0 -1
  1243. package/dist/bigconsole/hooks/useDataSinkAlerts.js.map +0 -1
  1244. package/dist/bigconsole/hooks/useDataSinkOperations.d.ts.map +0 -1
  1245. package/dist/bigconsole/hooks/useDataSinkOperations.js.map +0 -1
  1246. package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts.map +0 -1
  1247. package/dist/bigconsole/hooks/useDataSinkSubscription.js.map +0 -1
  1248. package/dist/bigconsole/hooks/useDrilldown.d.ts.map +0 -1
  1249. package/dist/bigconsole/hooks/useDrilldown.js.map +0 -1
  1250. package/dist/bigconsole/hooks/useDrilldownOperations.d.ts.map +0 -1
  1251. package/dist/bigconsole/hooks/useDrilldownOperations.js.map +0 -1
  1252. package/dist/bigconsole/hooks/useEventLogs.d.ts.map +0 -1
  1253. package/dist/bigconsole/hooks/useEventLogs.js.map +0 -1
  1254. package/dist/bigconsole/hooks/useEventWebhooks.d.ts.map +0 -1
  1255. package/dist/bigconsole/hooks/useEventWebhooks.js.map +0 -1
  1256. package/dist/bigconsole/hooks/useExportDashboard.d.ts.map +0 -1
  1257. package/dist/bigconsole/hooks/useExportDashboard.js.map +0 -1
  1258. package/dist/bigconsole/hooks/useExportDataSink.d.ts.map +0 -1
  1259. package/dist/bigconsole/hooks/useExportDataSink.js.map +0 -1
  1260. package/dist/bigconsole/hooks/useExportParser.d.ts.map +0 -1
  1261. package/dist/bigconsole/hooks/useExportParser.js.map +0 -1
  1262. package/dist/bigconsole/hooks/useFilterPresets.d.ts.map +0 -1
  1263. package/dist/bigconsole/hooks/useFilterPresets.js.map +0 -1
  1264. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts.map +0 -1
  1265. package/dist/bigconsole/hooks/useFilterUrlSync.js.map +0 -1
  1266. package/dist/bigconsole/hooks/useGlobalFilters.d.ts.map +0 -1
  1267. package/dist/bigconsole/hooks/useGlobalFilters.js.map +0 -1
  1268. package/dist/bigconsole/hooks/useImportDashboard.d.ts.map +0 -1
  1269. package/dist/bigconsole/hooks/useImportDashboard.js.map +0 -1
  1270. package/dist/bigconsole/hooks/useImportDataSink.d.ts.map +0 -1
  1271. package/dist/bigconsole/hooks/useImportDataSink.js.map +0 -1
  1272. package/dist/bigconsole/hooks/useImportParser.d.ts.map +0 -1
  1273. package/dist/bigconsole/hooks/useImportParser.js.map +0 -1
  1274. package/dist/bigconsole/hooks/useInstalledWidgets.d.ts.map +0 -1
  1275. package/dist/bigconsole/hooks/useInstalledWidgets.js.map +0 -1
  1276. package/dist/bigconsole/hooks/useModalFocusTrap.d.ts.map +0 -1
  1277. package/dist/bigconsole/hooks/useModalFocusTrap.js.map +0 -1
  1278. package/dist/bigconsole/hooks/usePageOperations.d.ts.map +0 -1
  1279. package/dist/bigconsole/hooks/usePageOperations.js.map +0 -1
  1280. package/dist/bigconsole/hooks/useParserOperations.d.ts.map +0 -1
  1281. package/dist/bigconsole/hooks/useParserOperations.js.map +0 -1
  1282. package/dist/bigconsole/hooks/usePipelineOperations.d.ts.map +0 -1
  1283. package/dist/bigconsole/hooks/usePipelineOperations.js.map +0 -1
  1284. package/dist/bigconsole/hooks/useShareRecipients.d.ts.map +0 -1
  1285. package/dist/bigconsole/hooks/useShareRecipients.js.map +0 -1
  1286. package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts.map +0 -1
  1287. package/dist/bigconsole/hooks/useStoreDashboardTemplates.js.map +0 -1
  1288. package/dist/bigconsole/hooks/useWidgetActions.d.ts.map +0 -1
  1289. package/dist/bigconsole/hooks/useWidgetActions.js.map +0 -1
  1290. package/dist/bigconsole/hooks/useWidgetCatalog.d.ts.map +0 -1
  1291. package/dist/bigconsole/hooks/useWidgetCatalog.js.map +0 -1
  1292. package/dist/bigconsole/hooks/useWidgetComments.d.ts.map +0 -1
  1293. package/dist/bigconsole/hooks/useWidgetComments.js.map +0 -1
  1294. package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts.map +0 -1
  1295. package/dist/bigconsole/hooks/useWidgetConfigPersist.js.map +0 -1
  1296. package/dist/bigconsole/hooks/useWidgetData.d.ts.map +0 -1
  1297. package/dist/bigconsole/hooks/useWidgetData.js.map +0 -1
  1298. package/dist/bigconsole/hooks/useWidgetEvents.d.ts.map +0 -1
  1299. package/dist/bigconsole/hooks/useWidgetEvents.js.map +0 -1
  1300. package/dist/bigconsole/hooks/useWidgetExport.d.ts.map +0 -1
  1301. package/dist/bigconsole/hooks/useWidgetExport.js.map +0 -1
  1302. package/dist/bigconsole/hooks/useWidgetOperations.d.ts.map +0 -1
  1303. package/dist/bigconsole/hooks/useWidgetOperations.js.map +0 -1
  1304. package/dist/bigconsole/hooks/useWorkflowOperations.d.ts.map +0 -1
  1305. package/dist/bigconsole/hooks/useWorkflowOperations.js.map +0 -1
  1306. package/dist/bigconsole/index.d.ts.map +0 -1
  1307. package/dist/bigconsole/modules/dashboard/index.d.ts.map +0 -1
  1308. package/dist/bigconsole/modules/index.d.ts.map +0 -1
  1309. package/dist/bigconsole/modules/renderer/index.d.ts.map +0 -1
  1310. package/dist/bigconsole/modules/widget/index.d.ts.map +0 -1
  1311. package/dist/bigconsole/pages/AdminPage.d.ts.map +0 -1
  1312. package/dist/bigconsole/pages/AdminPage.js.map +0 -1
  1313. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +0 -1
  1314. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +0 -1
  1315. package/dist/bigconsole/pages/DashboardViewPage.d.ts.map +0 -1
  1316. package/dist/bigconsole/pages/DashboardViewPage.js.map +0 -1
  1317. package/dist/bigconsole/pages/DashboardsPage.d.ts.map +0 -1
  1318. package/dist/bigconsole/pages/DashboardsPage.js.map +0 -1
  1319. package/dist/bigconsole/pages/DataParsersPage.d.ts.map +0 -1
  1320. package/dist/bigconsole/pages/DataParsersPage.js.map +0 -1
  1321. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +0 -1
  1322. package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +0 -1
  1323. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +0 -1
  1324. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +0 -1
  1325. package/dist/bigconsole/pages/DataSinkViewPage.d.ts.map +0 -1
  1326. package/dist/bigconsole/pages/DataSinkViewPage.js.map +0 -1
  1327. package/dist/bigconsole/pages/DataSinksPage.d.ts.map +0 -1
  1328. package/dist/bigconsole/pages/DataSinksPage.js.map +0 -1
  1329. package/dist/bigconsole/pages/DataSourcesPage.d.ts.map +0 -1
  1330. package/dist/bigconsole/pages/DataSourcesPage.js.map +0 -1
  1331. package/dist/bigconsole/pages/InsightsPage.d.ts.map +0 -1
  1332. package/dist/bigconsole/pages/InsightsPage.js.map +0 -1
  1333. package/dist/bigconsole/pages/OverviewPage.d.ts.map +0 -1
  1334. package/dist/bigconsole/pages/OverviewPage.js.map +0 -1
  1335. package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +0 -1
  1336. package/dist/bigconsole/pages/ParserBuilderPage.js.map +0 -1
  1337. package/dist/bigconsole/pages/ParserViewPage.d.ts.map +0 -1
  1338. package/dist/bigconsole/pages/ParserViewPage.js.map +0 -1
  1339. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +0 -1
  1340. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +0 -1
  1341. package/dist/bigconsole/pages/PipelineViewPage.d.ts.map +0 -1
  1342. package/dist/bigconsole/pages/PipelineViewPage.js.map +0 -1
  1343. package/dist/bigconsole/pages/PipelinesPage.d.ts.map +0 -1
  1344. package/dist/bigconsole/pages/PipelinesPage.js.map +0 -1
  1345. package/dist/bigconsole/pages/SettingsPage.d.ts.map +0 -1
  1346. package/dist/bigconsole/pages/SettingsPage.js.map +0 -1
  1347. package/dist/bigconsole/pages/WidgetDemoPage.d.ts.map +0 -1
  1348. package/dist/bigconsole/pages/WidgetDemoPage.js.map +0 -1
  1349. package/dist/bigconsole/pages/WorkflowViewPage.d.ts.map +0 -1
  1350. package/dist/bigconsole/pages/WorkflowViewPage.js.map +0 -1
  1351. package/dist/bigconsole/pages/WorkflowsPage.d.ts.map +0 -1
  1352. package/dist/bigconsole/pages/WorkflowsPage.js.map +0 -1
  1353. package/dist/bigconsole/pages/index.d.ts.map +0 -1
  1354. package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts.map +0 -1
  1355. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js.map +0 -1
  1356. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts.map +0 -1
  1357. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +0 -1
  1358. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts.map +0 -1
  1359. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js.map +0 -1
  1360. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts.map +0 -1
  1361. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +0 -1
  1362. package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts.map +0 -1
  1363. package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +0 -1
  1364. package/dist/bigconsole/renderers/adapters/index.d.ts.map +0 -1
  1365. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts.map +0 -1
  1366. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js.map +0 -1
  1367. package/dist/bigconsole/renderers/index.d.ts.map +0 -1
  1368. package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts.map +0 -1
  1369. package/dist/bigconsole/renderers/registry/RendererRegistry.js.map +0 -1
  1370. package/dist/bigconsole/renderers/types/index.d.ts.map +0 -1
  1371. package/dist/bigconsole/renderers/types/renderer.d.ts.map +0 -1
  1372. package/dist/bigconsole/store/dashboardStore.d.ts.map +0 -1
  1373. package/dist/bigconsole/store/dashboardStore.js.map +0 -1
  1374. package/dist/bigconsole/store/dataSinkStore.d.ts.map +0 -1
  1375. package/dist/bigconsole/store/dataSinkStore.js.map +0 -1
  1376. package/dist/bigconsole/store/drilldownStore.d.ts.map +0 -1
  1377. package/dist/bigconsole/store/drilldownStore.js.map +0 -1
  1378. package/dist/bigconsole/store/index.d.ts.map +0 -1
  1379. package/dist/bigconsole/store/parserStore.d.ts.map +0 -1
  1380. package/dist/bigconsole/store/parserStore.js.map +0 -1
  1381. package/dist/bigconsole/store/pipelineStore.d.ts.map +0 -1
  1382. package/dist/bigconsole/store/pipelineStore.js.map +0 -1
  1383. package/dist/bigconsole/store/widgetStore.d.ts.map +0 -1
  1384. package/dist/bigconsole/store/widgetStore.js.map +0 -1
  1385. package/dist/bigconsole/store/workflowStore.d.ts.map +0 -1
  1386. package/dist/bigconsole/store/workflowStore.js.map +0 -1
  1387. package/dist/bigconsole/types/index.d.ts.map +0 -1
  1388. package/dist/bigconsole/utils/alertRules.d.ts.map +0 -1
  1389. package/dist/bigconsole/utils/alertRules.js.map +0 -1
  1390. package/dist/bigconsole/utils/backendError.d.ts.map +0 -1
  1391. package/dist/bigconsole/utils/backendError.js.map +0 -1
  1392. package/dist/bigconsole/utils/createDialogParam.d.ts.map +0 -1
  1393. package/dist/bigconsole/utils/createDialogParam.js.map +0 -1
  1394. package/dist/bigconsole/utils/csv.d.ts.map +0 -1
  1395. package/dist/bigconsole/utils/csv.js.map +0 -1
  1396. package/dist/bigconsole/utils/dashboardTemplateContent.d.ts.map +0 -1
  1397. package/dist/bigconsole/utils/dashboardTemplateContent.js.map +0 -1
  1398. package/dist/bigconsole/utils/drilldownParams.d.ts.map +0 -1
  1399. package/dist/bigconsole/utils/drilldownParams.js.map +0 -1
  1400. package/dist/bigconsole/utils/formDirty.d.ts.map +0 -1
  1401. package/dist/bigconsole/utils/formDirty.js.map +0 -1
  1402. package/dist/bigconsole/utils/format.d.ts.map +0 -1
  1403. package/dist/bigconsole/utils/format.js.map +0 -1
  1404. package/dist/bigconsole/utils/index.d.ts.map +0 -1
  1405. package/dist/bigconsole/utils/insightsDraft.d.ts.map +0 -1
  1406. package/dist/bigconsole/utils/insightsDraft.js.map +0 -1
  1407. package/dist/bigconsole/utils/layoutBaseline.d.ts.map +0 -1
  1408. package/dist/bigconsole/utils/layoutBaseline.js.map +0 -1
  1409. package/dist/bigconsole/utils/quota.d.ts.map +0 -1
  1410. package/dist/bigconsole/utils/quota.js.map +0 -1
  1411. package/dist/bigconsole/utils/semanticTokens.d.ts.map +0 -1
  1412. package/dist/bigconsole/utils/semanticTokens.js.map +0 -1
  1413. package/dist/bigconsole/utils/templateInstallInputs.d.ts.map +0 -1
  1414. package/dist/bigconsole/utils/templateInstallInputs.js.map +0 -1
  1415. package/dist/bigconsole/utils/widgetBinding.d.ts.map +0 -1
  1416. package/dist/bigconsole/utils/widgetBinding.js.map +0 -1
  1417. package/dist/bigconsole/utils/widgetFormDirty.d.ts.map +0 -1
  1418. package/dist/bigconsole/utils/widgetFormDirty.js.map +0 -1
  1419. package/dist/bigconsole/utils/widgetPositioning.d.ts.map +0 -1
  1420. package/dist/bigconsole/utils/widgetPositioning.js.map +0 -1
  1421. package/dist/bigconsole/utils/widgetTypeMapping.d.ts.map +0 -1
  1422. package/dist/bigconsole/utils/widgetTypeMapping.js.map +0 -1
  1423. package/dist/bigconsole/workflowOpen.d.ts.map +0 -1
  1424. package/dist/bigconsole/workflowOpen.js.map +0 -1
  1425. package/dist/constants/permissions.d.ts.map +0 -1
  1426. package/dist/constants/permissions.js.map +0 -1
  1427. package/dist/generated/global-operations.d.ts.map +0 -1
  1428. package/dist/generated/global-operations.js.map +0 -1
  1429. package/dist/generated/global-types.d.ts.map +0 -1
  1430. package/dist/generated/wspace-operations.d.ts.map +0 -1
  1431. package/dist/generated/wspace-operations.js.map +0 -1
  1432. package/dist/generated/wspace-types.d.ts.map +0 -1
  1433. package/dist/generated/wspace-types.js.map +0 -1
  1434. package/dist/index.d.ts.map +0 -1
  1435. package/dist/node_modules/@e965/xlsx/xlsx.js.map +0 -1
  1436. package/dist/node_modules/pdfjs-dist/build/pdf.js.map +0 -1
  1437. package/dist/shared/hooks/useTr.d.ts.map +0 -1
  1438. package/dist/shared/hooks/useTr.js.map +0 -1
  1439. package/dist/stories/DashboardGuide.stories.d.ts +0 -15
  1440. package/dist/stories/DashboardGuide.stories.d.ts.map +0 -1
  1441. package/dist/stories/DataSinkStatusBadge.stories.d.ts +0 -12
  1442. package/dist/stories/DataSinkStatusBadge.stories.d.ts.map +0 -1
  1443. package/dist/stories/GaugeWidget.stories.d.ts +0 -58
  1444. package/dist/stories/GaugeWidget.stories.d.ts.map +0 -1
  1445. package/dist/stories/KPIComparisonWidget.stories.d.ts +0 -76
  1446. package/dist/stories/KPIComparisonWidget.stories.d.ts.map +0 -1
  1447. package/dist/stories/LiveCanvasToggle.stories.d.ts +0 -9
  1448. package/dist/stories/LiveCanvasToggle.stories.d.ts.map +0 -1
  1449. package/dist/stories/MetricCardWidget.stories.d.ts +0 -88
  1450. package/dist/stories/MetricCardWidget.stories.d.ts.map +0 -1
  1451. package/dist/stories/ProgressWidget.stories.d.ts +0 -48
  1452. package/dist/stories/ProgressWidget.stories.d.ts.map +0 -1
  1453. package/dist/stories/SetupStateBadge.stories.d.ts +0 -12
  1454. package/dist/stories/SetupStateBadge.stories.d.ts.map +0 -1
  1455. package/dist/translations/en.d.ts.map +0 -1
  1456. package/dist/utils/nativeBridge.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"CrossFilterContext.js","names":[],"sources":["../../../src/bigconsole/contexts/CrossFilterContext.tsx"],"sourcesContent":["/**\n * CrossFilterContext\n *\n * Provides cross-filtering functionality to all widgets in a dashboard.\n * Widgets can trigger cross-filters when users click on data points.\n */\n\nimport React, { createContext, useContext, useMemo, useCallback, type ReactNode } from 'react';\nimport {\n useCrossFilter,\n type CrossFilterConfig,\n type CrossFilterClickData,\n type CrossFilterMode,\n} from '../hooks/useCrossFilter';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface CrossFilterContextValue {\n /** Apply a cross-filter from a widget click */\n applyCrossFilter: (clickData: CrossFilterClickData, config?: CrossFilterConfig) => void;\n /** Clear specific cross-filters */\n clearCrossFilter: (filterIds: string[]) => void;\n /** Clear all cross-filters */\n clearAllCrossFilters: () => void;\n /** Check if a value is currently cross-filtered */\n isCrossFiltered: (filterId: string, value: unknown) => boolean;\n /** Get the source widget ID of a cross-filter */\n getCrossFilterSource: (filterId: string) => string | null;\n /** Whether any cross-filters are active */\n hasCrossFilters: boolean;\n /** Map of filter IDs to their source widget IDs */\n crossFilterSources: Record<string, string>;\n /** Whether cross-filtering is enabled */\n enabled: boolean;\n}\n\nexport interface CrossFilterProviderProps {\n children: ReactNode;\n /** Whether cross-filtering is enabled */\n enabled?: boolean;\n /** Default filter mode */\n defaultMode?: CrossFilterMode;\n /** Debounce delay for filter updates */\n debounceMs?: number;\n /** Callback when cross-filter is applied */\n onCrossFilter?: (filters: Record<string, unknown>) => void;\n}\n\n// ============================================================================\n// Context\n// ============================================================================\n\nexport const CrossFilterContext = createContext<CrossFilterContextValue | null>(null);\n\n// ============================================================================\n// Provider\n// ============================================================================\n\nexport function CrossFilterProvider({\n children,\n enabled = true,\n defaultMode = 'replace',\n debounceMs = 0,\n onCrossFilter,\n}: CrossFilterProviderProps) {\n const {\n applyCrossFilter: applyFilter,\n clearCrossFilter,\n clearAllCrossFilters,\n isCrossFiltered,\n getCrossFilterSource,\n hasCrossFilters,\n crossFilterSources,\n } = useCrossFilter({\n enabled,\n debounceMs,\n config: {\n mappings: [],\n mode: defaultMode,\n onApply: onCrossFilter,\n },\n });\n\n // Wrap applyCrossFilter to add default mode\n const applyCrossFilter = useCallback(\n (clickData: CrossFilterClickData, config?: CrossFilterConfig) => {\n const effectiveConfig = config || {\n mappings: [],\n mode: defaultMode,\n onApply: onCrossFilter,\n };\n applyFilter(clickData, effectiveConfig);\n },\n [applyFilter, defaultMode, onCrossFilter]\n );\n\n const value = useMemo<CrossFilterContextValue>(\n () => ({\n applyCrossFilter,\n clearCrossFilter,\n clearAllCrossFilters,\n isCrossFiltered,\n getCrossFilterSource,\n hasCrossFilters,\n crossFilterSources,\n enabled,\n }),\n [\n applyCrossFilter,\n clearCrossFilter,\n clearAllCrossFilters,\n isCrossFiltered,\n getCrossFilterSource,\n hasCrossFilters,\n crossFilterSources,\n enabled,\n ]\n );\n\n return <CrossFilterContext.Provider value={value}>{children}</CrossFilterContext.Provider>;\n}\n\n// ============================================================================\n// Hook\n// ============================================================================\n\n/**\n * Hook to access cross-filter functionality from any widget\n */\nexport function useCrossFilterContext(): CrossFilterContextValue {\n const context = useContext(CrossFilterContext);\n\n if (!context) {\n // Return a no-op implementation if used outside provider\n return {\n applyCrossFilter: () => {},\n clearCrossFilter: () => {},\n clearAllCrossFilters: () => {},\n isCrossFiltered: () => false,\n getCrossFilterSource: () => null,\n hasCrossFilters: false,\n crossFilterSources: {},\n enabled: false,\n };\n }\n\n return context;\n}\n\n// ============================================================================\n// Helper Hook for Widgets\n// ============================================================================\n\n/**\n * Hook for widgets to easily create cross-filter handlers\n */\nexport function useWidgetCrossFilter(widgetId: string, filterMappings?: CrossFilterConfig['mappings']) {\n const { applyCrossFilter, isCrossFiltered, enabled } = useCrossFilterContext();\n\n const handleDataClick = useCallback(\n (data: Record<string, unknown>, label?: string, series?: string) => {\n if (!enabled) return;\n\n // Auto-generate mappings if not provided\n const mappings =\n filterMappings ||\n Object.keys(data).map((key) => ({\n sourceField: key,\n targetFilterId: key,\n }));\n\n applyCrossFilter(\n {\n data,\n widgetId,\n label,\n series,\n },\n {\n mappings,\n mode: 'replace',\n }\n );\n },\n [widgetId, filterMappings, applyCrossFilter, enabled]\n );\n\n return {\n handleDataClick,\n isCrossFiltered,\n enabled,\n };\n}\n\nexport default CrossFilterContext;\n"],"mappings":";;;;AAsDA,IAAa,IAAqB,EAA8C,KAAK;AAMrF,SAAgB,EAAoB,EAClC,aACA,aAAU,IACV,iBAAc,WACd,gBAAa,GACb,oBAC2B;CAC3B,IAAM,EACJ,kBAAkB,GAClB,qBACA,yBACA,oBACA,yBACA,oBACA,0BACE,EAAe;EACjB;EACA;EACA,QAAQ;GACN,UAAU,EAAE;GACZ,MAAM;GACN,SAAS;GACV;EACF,CAAC,EAGI,IAAmB,GACtB,GAAiC,MAA+B;AAM/D,IAAY,GALY,KAAU;GAChC,UAAU,EAAE;GACZ,MAAM;GACN,SAAS;GACV,CACsC;IAEzC;EAAC;EAAa;EAAa;EAAc,CAC1C,EAEK,IAAQ,SACL;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF;AAED,QAAO,kBAAC,EAAmB,UAApB;EAAoC;EAAQ;EAAuC,CAAA;;AAU5F,SAAgB,IAAiD;AAiB/D,QAhBgB,EAAW,EAAmB,IAIrC;EACL,wBAAwB;EACxB,wBAAwB;EACxB,4BAA4B;EAC5B,uBAAuB;EACvB,4BAA4B;EAC5B,iBAAiB;EACjB,oBAAoB,EAAE;EACtB,SAAS;EACV;;AAaL,SAAgB,EAAqB,GAAkB,GAAgD;CACrG,IAAM,EAAE,qBAAkB,oBAAiB,eAAY,GAAuB;AA8B9E,QAAO;EACL,iBA7BsB,GACrB,GAA+B,GAAgB,MAAoB;AAClE,OAAI,CAAC,EAAS;GAGd,IAAM,IACJ,KACA,OAAO,KAAK,EAAK,CAAC,KAAK,OAAS;IAC9B,aAAa;IACb,gBAAgB;IACjB,EAAE;AAEL,KACE;IACE;IACA;IACA;IACA;IACD,EACD;IACE;IACA,MAAM;IACP,CACF;KAEH;GAAC;GAAU;GAAgB;GAAkB;GAAQ,CACtD;EAIC;EACA;EACD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigationContext.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/contexts/NavigationContext.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAA+D,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpG,OAAO,EAA0C,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAM5G,UAAU,sBAAsB;IAC9B,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1D,6CAA6C;IAC7C,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACrC;AAYD,UAAU,uBAAuB;IAC/B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,uBAAuB,+BAsDjF;AAMD;;;GAGG;AACH,wBAAgB,aAAa,IAAI,sBAAsB,CAMtD;AAED;;;GAGG;AACH,wBAAgB,cAAc,SAjGb,MAAM,YAAY,eAAe,KAAK,IAAI,CAoG1D;AAED;;GAEG;AACH,wBAAgB,YAAY,WAvGR,MAAM,KAAK,MAAM,CA0GpC;AAED;;GAEG;AACH,wBAAgB,WAAW,WAG1B;AAMD;;;GAGG;AACH,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC;IACzD,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,OAAO,4GAIlB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NavigationContext.js","names":[],"sources":["../../../src/bigconsole/contexts/NavigationContext.tsx"],"sourcesContent":["/**\n * NavigationContext\n *\n * Provides basePath-aware navigation for BigConsole microfrontend.\n * Ensures all internal navigation stays within the /bigconsole route prefix.\n */\n\nimport { createContext, useContext, useCallback, useMemo, forwardRef, type ReactNode } from 'react';\nimport { useNavigate as useRouterNavigate, Link, type NavigateOptions, type LinkProps } from 'react-router';\n\n// ============================================================================\n// Types\n// ============================================================================\n\ninterface NavigationContextValue {\n /** Base path for all routes (e.g., '/bigconsole') */\n basePath: string;\n /** Navigate to a path within the microfrontend */\n navigate: (to: string, options?: NavigateOptions) => void;\n /** Build a full path with basePath prefix */\n buildPath: (path: string) => string;\n}\n\n// ============================================================================\n// Context\n// ============================================================================\n\nconst NavigationContext = createContext<NavigationContextValue | null>(null);\n\n// ============================================================================\n// Provider\n// ============================================================================\n\ninterface NavigationProviderProps {\n /** Base path for the microfrontend (e.g., '/bigconsole') */\n basePath: string;\n children: ReactNode;\n}\n\nexport function NavigationProvider({ basePath, children }: NavigationProviderProps) {\n const routerNavigate = useRouterNavigate();\n\n // Normalize basePath (remove trailing slash)\n const normalizedBasePath = useMemo(() => {\n return basePath.endsWith('/') ? basePath.slice(0, -1) : basePath;\n }, [basePath]);\n\n // Build full path with basePath prefix\n const buildPath = useCallback(\n (path: string): string => {\n // If path is empty or just '/', return basePath\n if (!path || path === '/') {\n return normalizedBasePath || '/';\n }\n\n // If path already starts with basePath, return as-is.\n // Guard against false prefix matches (e.g. basePath '/big' matching '/bigconsole/foo')\n // and empty normalizedBasePath (when basePath is '/') which is a prefix of everything.\n if (normalizedBasePath && (path === normalizedBasePath || path.startsWith(normalizedBasePath + '/'))) {\n return path;\n }\n\n // If path starts with '/', it's an absolute path within the microfrontend\n // Prepend basePath\n if (path.startsWith('/')) {\n return `${normalizedBasePath}${path}`;\n }\n\n // Relative path - just prepend basePath with slash\n return `${normalizedBasePath}/${path}`;\n },\n [normalizedBasePath]\n );\n\n // Navigate with basePath support\n const navigate = useCallback(\n (to: string, options?: NavigateOptions) => {\n const fullPath = buildPath(to);\n routerNavigate(fullPath, options);\n },\n [buildPath, routerNavigate]\n );\n\n const value = useMemo(\n () => ({\n basePath: normalizedBasePath,\n navigate,\n buildPath,\n }),\n [normalizedBasePath, navigate, buildPath]\n );\n\n return <NavigationContext.Provider value={value}>{children}</NavigationContext.Provider>;\n}\n\n// ============================================================================\n// Hooks\n// ============================================================================\n\n/**\n * Hook to access navigation context\n * @throws Error if used outside NavigationProvider\n */\nexport function useNavigation(): NavigationContextValue {\n const context = useContext(NavigationContext);\n if (!context) {\n throw new Error('useNavigation must be used within a NavigationProvider');\n }\n return context;\n}\n\n/**\n * Hook for basePath-aware navigation\n * Returns a navigate function that automatically prepends basePath\n */\nexport function useAppNavigate() {\n const { navigate } = useNavigation();\n return navigate;\n}\n\n/**\n * Hook to build full paths with basePath prefix\n */\nexport function useBuildPath() {\n const { buildPath } = useNavigation();\n return buildPath;\n}\n\n/**\n * Hook to get the current basePath\n */\nexport function useBasePath() {\n const { basePath } = useNavigation();\n return basePath;\n}\n\n// ============================================================================\n// Components\n// ============================================================================\n\n/**\n * AppLink - basePath-aware Link component\n * Automatically prepends basePath to the 'to' prop\n */\nexport interface AppLinkProps extends Omit<LinkProps, 'to'> {\n to: string;\n}\n\nexport const AppLink = forwardRef<HTMLAnchorElement, AppLinkProps>(function AppLink({ to, ...props }, ref) {\n const { buildPath } = useNavigation();\n const fullPath = buildPath(to);\n return <Link ref={ref} to={fullPath} {...props} />;\n});\n"],"mappings":";;;;AA2BA,IAAM,IAAoB,EAA6C,KAAK;AAY5E,SAAgB,EAAmB,EAAE,aAAU,eAAqC;CAClF,IAAM,IAAiB,GAAmB,EAGpC,IAAqB,QAClB,EAAS,SAAS,IAAI,GAAG,EAAS,MAAM,GAAG,GAAG,GAAG,GACvD,CAAC,EAAS,CAAC,EAGR,IAAY,GACf,MAEK,CAAC,KAAQ,MAAS,MACb,KAAsB,MAM3B,MAAuB,MAAS,KAAsB,EAAK,WAAW,IAAqB,IAAI,IAC1F,IAKL,EAAK,WAAW,IAAI,GACf,GAAG,IAAqB,MAI1B,GAAG,EAAmB,GAAG,KAElC,CAAC,EAAmB,CACrB,EAGK,IAAW,GACd,GAAY,MAA8B;AAEzC,IADiB,EAAU,EAAG,EACL,EAAQ;IAEnC,CAAC,GAAW,EAAe,CAC5B,EAEK,IAAQ,SACL;EACL,UAAU;EACV;EACA;EACD,GACD;EAAC;EAAoB;EAAU;EAAU,CAC1C;AAED,QAAO,kBAAC,EAAkB,UAAnB;EAAmC;EAAQ;EAAsC,CAAA;;AAW1F,SAAgB,IAAwC;CACtD,IAAM,IAAU,EAAW,EAAkB;AAC7C,KAAI,CAAC,EACH,OAAU,MAAM,yDAAyD;AAE3E,QAAO;;AAOT,SAAgB,IAAiB;CAC/B,IAAM,EAAE,gBAAa,GAAe;AACpC,QAAO;;AAMT,SAAgB,IAAe;CAC7B,IAAM,EAAE,iBAAc,GAAe;AACrC,QAAO;;AAuBT,IAAa,IAAU,EAA4C,SAAiB,EAAE,OAAI,GAAG,KAAS,GAAK;CACzG,IAAM,EAAE,iBAAc,GAAe;AAErC,QAAO,kBAAC,GAAD;EAAW;EAAK,IADN,EAAU,EAAG;EACO,GAAI;EAAS,CAAA;EAClD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/contexts/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,GAC9B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,WAAW,EACX,OAAO,EACP,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomWidgetBuilderSheet.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/customWidget/CustomWidgetBuilderSheet.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA8B,MAAM,OAAO,CAAC;AAO5D,OAAO,EAEL,KAAK,0BAA0B,EAGhC,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,8EAA8E;IAC9E,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACrC;AAQD,eAAO,MAAM,wBAAwB,EAAE,EAAE,CAAC,6BAA6B,CA8HrE,CAAC;AAEH,eAAe,wBAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomWidgetBuilderSheet.js","names":[],"sources":["../../../src/bigconsole/customWidget/CustomWidgetBuilderSheet.tsx"],"sourcesContent":["/**\n * Container that wires the custom-widget proposal panel to real workspace data\n * (BOFF-5532).\n *\n * Supplies the panel with the user's actual permitted DataSinks and parsers,\n * resolves previews by running the real parser, and persists an approved\n * proposal through the normal `createWidget` path — so an approved widget is an\n * ordinary widget, editable afterwards through the standard inspector.\n */\n\nimport { type FC, memo, useCallback, useMemo } from 'react';\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\n\nimport { useDataSinkOperations, useParserOperations, useWidgetOperations } from '../hooks';\nimport { CustomWidgetProposalPanel } from './CustomWidgetProposalPanel';\nimport type { CustomWidgetProposal } from './proposalContract';\nimport {\n selectActiveProposalSinks,\n type CustomWidgetProposalSource,\n type ProposalCandidateParser,\n type ProposalCandidateSink,\n} from './proposalSource';\n\nexport interface CustomWidgetBuilderSheetProps {\n isOpen: boolean;\n onClose: () => void;\n dashboardId: string;\n pageId: string;\n /** Swap for the GraphQL-backed source once BOFF-3021's backend half lands. */\n source?: CustomWidgetProposalSource;\n}\n\n/** Grid slot for an approved widget; the reviewer can move it afterwards. */\nconst DEFAULT_POSITION = { x: 0, y: 0, width: 6, height: 4 } as const;\n\n/** Sentinel consoleId under which workspace-global parsers are stored. */\nconst GLOBAL_CONSOLE_ID = 'default';\n\nexport const CustomWidgetBuilderSheet: FC<CustomWidgetBuilderSheetProps> = memo(function CustomWidgetBuilderSheet({\n isOpen,\n onClose,\n dashboardId,\n pageId,\n source,\n}) {\n const { t } = useI18n();\n const { dataSinks } = useDataSinkOperations({ skipFetch: !isOpen });\n const { createWidget } = useWidgetOperations(pageId, dashboardId, { skipFetch: true });\n\n // Parsers are either dashboard-scoped or workspace-global (`consoleId: 'default'`),\n // and the widget inspector offers both. Fetch both here too, otherwise a proposal\n // can never bind to a global parser — which is what the parser builder creates by\n // default, so the picker would look empty in a typical workspace.\n const isGlobalConsole = dashboardId === GLOBAL_CONSOLE_ID;\n const { parsers: dashboardParsers, executeParser } = useParserOperations({\n consoleId: dashboardId,\n skipFetch: !isOpen,\n });\n const { parsers: globalParsers } = useParserOperations({\n consoleId: GLOBAL_CONSOLE_ID,\n skipFetch: !isOpen || isGlobalConsole,\n });\n\n const sinks: ProposalCandidateSink[] = useMemo(() => selectActiveProposalSinks(dataSinks), [dataSinks]);\n\n const parserCandidates: ProposalCandidateParser[] = useMemo(() => {\n const seen = new Set(dashboardParsers.map((parser) => parser.id));\n const merged = [...dashboardParsers, ...globalParsers.filter((parser) => !seen.has(parser.id))];\n return merged.map((parser) => ({ id: parser.id, name: parser.name, inputSinkKey: parser.inputSinkKey }));\n }, [dashboardParsers, globalParsers]);\n\n /**\n * Resolves what the binding actually produces. Rejects on failure so the\n * panel can distinguish \"no data\" from \"you cannot read this\".\n */\n const resolvePreviewData = useCallback(\n async (proposal: CustomWidgetProposal): Promise<unknown> => {\n if (!proposal.binding.parserId) return undefined;\n const execution = await executeParser(proposal.binding.parserId);\n if (!execution || !execution.success) {\n throw new Error(\n execution?.error ||\n t('bigconsole.widget.customWidget.error.couldNotResolveBinding', 'Could not resolve the binding.')\n );\n }\n return execution.output;\n },\n [executeParser, t]\n );\n\n const handleApprove = useCallback(\n async (proposal: CustomWidgetProposal) => {\n const widget = await createWidget({\n pageId,\n dashboardId,\n type: proposal.widgetType,\n title: proposal.presentation.title,\n description: proposal.presentation.description,\n dataSinkId: proposal.binding.dataSinkId || undefined,\n parserId: proposal.binding.parserId,\n config: {\n ...proposal.presentation.config,\n ...proposal.fieldMapping,\n // Provenance, so an approved widget can be traced back to its prompt\n // and survives export/import and clone with its origin intact.\n generatedBy: proposal.generatedBy,\n sourcePrompt: proposal.sourcePrompt,\n proposalVersion: proposal.version,\n },\n position: { ...DEFAULT_POSITION },\n });\n\n if (!widget)\n throw new Error(t('bigconsole.widget.customWidget.error.widgetNotCreated', 'The widget could not be created.'));\n },\n [createWidget, pageId, dashboardId, t]\n );\n\n return (\n <Sheet open={isOpen} onOpenChange={(open) => !open && onClose()}>\n {/*\n `min(480px, 100vw)` rather than a fixed 480px + 95vw cap, and header\n padding on the `--space-*` scale rather than raw pixels, so this sheet\n follows the same rules as the widget inspector (BOFF-5636).\n */}\n <SheetContent\n style={{\n width: 'min(480px, 100vw)',\n maxWidth: '100vw',\n padding: 0,\n display: 'flex',\n flexDirection: 'column',\n }}\n >\n <SheetHeader\n style={{\n padding: 'var(--space-cardPadding)',\n borderBottom: '1px solid var(--color-border-subtle)',\n backgroundColor: 'var(--color-bg-surface)',\n flexShrink: 0,\n }}\n >\n <SheetTitle>{t('bigconsole.widget.customWidget.sheet.title', 'AI custom widget')}</SheetTitle>\n <SheetDescription>\n {t(\n 'bigconsole.widget.customWidget.sheet.description',\n 'Describe a widget, review the proposal, then approve it onto the dashboard.'\n )}\n </SheetDescription>\n </SheetHeader>\n\n <div style={{ flex: 1, minHeight: 0 }}>\n <CustomWidgetProposalPanel\n sinks={sinks}\n parsers={parserCandidates}\n resolvePreviewData={resolvePreviewData}\n onApprove={handleApprove}\n onClose={onClose}\n source={source}\n />\n </div>\n </SheetContent>\n </Sheet>\n );\n});\n\nexport default CustomWidgetBuilderSheet;\n"],"mappings":";;;;;;;;;;;AAkCA,IAAM,IAAmB;CAAE,GAAG;CAAG,GAAG;CAAG,OAAO;CAAG,QAAQ;CAAG,EAGtD,IAAoB,WAEb,IAA8D,EAAK,SAAkC,EAChH,WACA,YACA,gBACA,WACA,aACC;CACD,IAAM,EAAE,SAAM,GAAS,EACjB,EAAE,iBAAc,EAAsB,EAAE,WAAW,CAAC,GAAQ,CAAC,EAC7D,EAAE,oBAAiB,EAAoB,GAAQ,GAAa,EAAE,WAAW,IAAM,CAAC,EAMhF,IAAkB,MAAgB,GAClC,EAAE,SAAS,GAAkB,qBAAkB,EAAoB;EACvE,WAAW;EACX,WAAW,CAAC;EACb,CAAC,EACI,EAAE,SAAS,MAAkB,EAAoB;EACrD,WAAW;EACX,WAAW,CAAC,KAAU;EACvB,CAAC,EAEI,IAAiC,QAAc,EAA0B,EAAU,EAAE,CAAC,EAAU,CAAC,EAEjG,IAA8C,QAAc;EAChE,IAAM,IAAO,IAAI,IAAI,EAAiB,KAAK,MAAW,EAAO,GAAG,CAAC;AAEjE,SADe,CAAC,GAAG,GAAkB,GAAG,EAAc,QAAQ,MAAW,CAAC,EAAK,IAAI,EAAO,GAAG,CAAC,CAAC,CACjF,KAAK,OAAY;GAAE,IAAI,EAAO;GAAI,MAAM,EAAO;GAAM,cAAc,EAAO;GAAc,EAAE;IACvG,CAAC,GAAkB,EAAc,CAAC,EAM/B,IAAqB,EACzB,OAAO,MAAqD;AAC1D,MAAI,CAAC,EAAS,QAAQ,SAAU;EAChC,IAAM,IAAY,MAAM,EAAc,EAAS,QAAQ,SAAS;AAChE,MAAI,CAAC,KAAa,CAAC,EAAU,QAC3B,OAAU,MACR,GAAW,SACT,EAAE,+DAA+D,iCAAiC,CACrG;AAEH,SAAO,EAAU;IAEnB,CAAC,GAAe,EAAE,CACnB,EAEK,IAAgB,EACpB,OAAO,MAAmC;AAqBxC,MAAI,CApBW,MAAM,EAAa;GAChC;GACA;GACA,MAAM,EAAS;GACf,OAAO,EAAS,aAAa;GAC7B,aAAa,EAAS,aAAa;GACnC,YAAY,EAAS,QAAQ,cAAc,KAAA;GAC3C,UAAU,EAAS,QAAQ;GAC3B,QAAQ;IACN,GAAG,EAAS,aAAa;IACzB,GAAG,EAAS;IAGZ,aAAa,EAAS;IACtB,cAAc,EAAS;IACvB,iBAAiB,EAAS;IAC3B;GACD,UAAU,EAAE,GAAG,GAAkB;GAClC,CAAC,CAGA,OAAU,MAAM,EAAE,yDAAyD,mCAAmC,CAAC;IAEnH;EAAC;EAAc;EAAQ;EAAa;EAAE,CACvC;AAED,QACE,kBAAC,GAAD;EAAO,MAAM;EAAQ,eAAe,MAAS,CAAC,KAAQ,GAAS;YAM7D,kBAAC,GAAD;GACE,OAAO;IACL,OAAO;IACP,UAAU;IACV,SAAS;IACT,SAAS;IACT,eAAe;IAChB;aAPH,CASE,kBAAC,GAAD;IACE,OAAO;KACL,SAAS;KACT,cAAc;KACd,iBAAiB;KACjB,YAAY;KACb;cANH,CAQE,kBAAC,GAAD,EAAA,UAAa,EAAE,8CAA8C,mBAAmB,EAAc,CAAA,EAC9F,kBAAC,GAAD,EAAA,UACG,EACC,oDACA,8EACD,EACgB,CAAA,CACP;OAEd,kBAAC,OAAD;IAAK,OAAO;KAAE,MAAM;KAAG,WAAW;KAAG;cACnC,kBAAC,GAAD;KACS;KACP,SAAS;KACW;KACpB,WAAW;KACF;KACD;KACR,CAAA;IACE,CAAA,CACO;;EACT,CAAA;EAEV"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomWidgetProposalPanel.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/customWidget/CustomWidgetProposalPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAmD,MAAM,OAAO,CAAC;AAQjF,OAAO,EAIL,KAAK,oBAAoB,EAG1B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC3B,MAAM,kBAAkB,CAAC;AAO1B,MAAM,WAAW,8BAA8B;IAC7C,qEAAqE;IACrE,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACxC,oCAAoC;IACpC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C;;;;OAIG;IACH,kBAAkB,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzE,sEAAsE;IACtE,SAAS,EAAE,CAAC,QAAQ,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,oDAAoD;IACpD,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACrC;AAmED,eAAO,MAAM,yBAAyB,EAAE,EAAE,CAAC,8BAA8B,CAyevE,CAAC;AAEH,eAAe,yBAAyB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CustomWidgetProposalPanel.js","names":[],"sources":["../../../src/bigconsole/customWidget/CustomWidgetProposalPanel.tsx"],"sourcesContent":["/**\n * Custom-widget proposal review panel (BOFF-5532).\n *\n * The authoring surface for the AI custom-widget builder: prompt in, typed\n * proposal out, reviewed and edited by a human, then approved into a real\n * widget. Nothing is written to the dashboard until the reviewer approves.\n *\n * Deliberate choices:\n * - The preview renders through the *real* widget renderer with the *real*\n * parser output, so what the reviewer approves is what they will get.\n * - Bindings are chosen from the user's permitted sinks and parsers only, and\n * the panel says plainly when a proposal points somewhere they cannot reach.\n * - Every proposal field is editable before approval — the AI proposes, the\n * reviewer disposes.\n */\n\nimport { type FC, memo, useCallback, useEffect, useMemo, useState } from 'react';\nimport { Button, Input, Label, Textarea } from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { AlertTriangle, Check, Loader2, RefreshCw, Sparkles, X } from 'lucide-react';\n\nimport type { Widget } from '../types';\nimport { BigConsoleRenderer } from '../renderers/adapters/BigConsoleRenderer';\nimport { WidgetErrorBoundary } from '../components/widgets/WidgetErrorBoundary';\nimport {\n PROPOSABLE_WIDGET_TYPES,\n derivePreviewState,\n validateProposal,\n type CustomWidgetProposal,\n type ProposableWidgetType,\n type ProposalPreviewState,\n} from './proposalContract';\nimport {\n localProposalSource,\n type CustomWidgetProposalSource,\n type ProposalCandidateParser,\n type ProposalCandidateSink,\n} from './proposalSource';\nimport { Section, SectionStack, type SectionTone } from '../components/common';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface CustomWidgetProposalPanelProps {\n /** Sinks the user may bind to (already RBAC-filtered by the API). */\n sinks: readonly ProposalCandidateSink[];\n /** Parsers the user may bind to. */\n parsers: readonly ProposalCandidateParser[];\n /**\n * Resolves the rows a binding would produce, for the preview. Should reject\n * (or throw) when the user cannot read the binding, so the panel can show the\n * access-failure state.\n */\n resolvePreviewData: (proposal: CustomWidgetProposal) => Promise<unknown>;\n /** Persists an approved proposal. Resolves once the widget exists. */\n onApprove: (proposal: CustomWidgetProposal) => Promise<void>;\n /** Closes the panel without persisting anything. */\n onClose: () => void;\n /** Swap for the GraphQL-backed source once BOFF-3021's backend half lands. */\n source?: CustomWidgetProposalSource;\n}\n\nconst FIELD_CLASSES = 'w-full';\n\n/**\n * The preview is the thing being judged, so its tone tracks the binding state.\n * The copy itself is translated per render (`previewCopy` below); only the tone\n * ladder is static.\n */\nconst PREVIEW_TONES: Record<ProposalPreviewState, SectionTone> = {\n loading: 'neutral',\n valid: 'neutral',\n 'no-data': 'warning',\n 'field-mismatch': 'warning',\n 'access-error': 'danger',\n};\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\n/** Builds a throwaway Widget so the preview can use the production renderer. */\nfunction toDraftWidget(proposal: CustomWidgetProposal, untitledLabel: string): Widget {\n const now = new Date(0).toISOString();\n return {\n id: `preview-${proposal.id}`,\n pageId: 'preview',\n type: proposal.widgetType,\n title: proposal.presentation.title || untitledLabel,\n description: proposal.presentation.description,\n dataSinkId: proposal.binding.dataSinkId || null,\n parserId: proposal.binding.parserId || null,\n config: { ...proposal.presentation.config, ...proposal.fieldMapping },\n position: { x: 0, y: 0, width: 6, height: 4 },\n positionX: 0,\n positionY: 0,\n positionWidth: 6,\n positionHeight: 4,\n createdAt: now,\n updatedAt: now,\n } as Widget;\n}\n\n/** Field names present in the resolved preview payload, for mismatch checks. */\nfunction extractFields(data: unknown): string[] | undefined {\n if (Array.isArray(data)) {\n const first = data.find((row) => row && typeof row === 'object');\n return first ? Object.keys(first as Record<string, unknown>) : [];\n }\n if (data && typeof data === 'object') return Object.keys(data as Record<string, unknown>);\n return undefined;\n}\n\nfunction countRows(data: unknown): number {\n if (Array.isArray(data)) return data.length;\n if (data && typeof data === 'object') {\n const cells = (data as { cells?: unknown }).cells;\n if (Array.isArray(cells)) return cells.length;\n return Object.keys(data as Record<string, unknown>).length;\n }\n return 0;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const CustomWidgetProposalPanel: FC<CustomWidgetProposalPanelProps> = memo(function CustomWidgetProposalPanel({\n sinks,\n parsers,\n resolvePreviewData,\n onApprove,\n onClose,\n source = localProposalSource,\n}) {\n const { t } = useI18n();\n\n const previewCopy = useMemo<Record<ProposalPreviewState, { title: string; body: string }>>(\n () => ({\n loading: {\n title: t('bigconsole.widget.customWidget.preview.loading.title', 'Building preview…'),\n body: t(\n 'bigconsole.widget.customWidget.preview.loading.body',\n 'Running the parser against the selected DataSink.'\n ),\n },\n valid: {\n title: t('bigconsole.widget.customWidget.preview.valid.title', 'Preview'),\n body: '',\n },\n 'no-data': {\n title: t('bigconsole.widget.customWidget.preview.noData.title', 'No data returned'),\n body: t(\n 'bigconsole.widget.customWidget.preview.noData.body',\n 'The binding is valid but the parser returned no rows. The widget will render empty until the sink has data.'\n ),\n },\n 'field-mismatch': {\n title: t('bigconsole.widget.customWidget.preview.fieldMismatch.title', 'Field mismatch'),\n body: t(\n 'bigconsole.widget.customWidget.preview.fieldMismatch.body',\n 'Some mapped fields are not present in the parser output. Fix the mapping below before approving.'\n ),\n },\n 'access-error': {\n title: t('bigconsole.widget.customWidget.preview.accessError.title', 'Cannot read this data'),\n body: t(\n 'bigconsole.widget.customWidget.preview.accessError.body',\n 'You do not have access to the proposed DataSink or parser in this workspace.'\n ),\n },\n }),\n [t]\n );\n\n const [prompt, setPrompt] = useState('');\n const [proposal, setProposal] = useState<CustomWidgetProposal | null>(null);\n const [isProposing, setIsProposing] = useState(false);\n const [isApproving, setIsApproving] = useState(false);\n const [approveError, setApproveError] = useState<string | null>(null);\n\n const [previewData, setPreviewData] = useState<unknown>(undefined);\n const [previewLoading, setPreviewLoading] = useState(false);\n const [previewAccessError, setPreviewAccessError] = useState(false);\n\n const permittedDataSinkIds = useMemo(() => sinks.map((sink) => sink.id), [sinks]);\n const permittedParserIds = useMemo(() => parsers.map((parser) => parser.id), [parsers]);\n const availableFields = useMemo(() => extractFields(previewData), [previewData]);\n\n const validation = useMemo(\n () =>\n proposal\n ? validateProposal(proposal, { permittedDataSinkIds, permittedParserIds, availableFields })\n : { issues: [], canApprove: false },\n [proposal, permittedDataSinkIds, permittedParserIds, availableFields]\n );\n\n const previewState = useMemo(\n () =>\n derivePreviewState(validation, {\n loading: previewLoading,\n accessError: previewAccessError,\n rowCount: countRows(previewData),\n }),\n [validation, previewLoading, previewAccessError, previewData]\n );\n\n // Re-resolve the preview whenever the binding changes.\n const bindingKey = proposal\n ? `${proposal.binding.dataSinkId}|${proposal.binding.parserId ?? ''}|${proposal.binding.dataPath ?? ''}`\n : '';\n\n useEffect(() => {\n if (!proposal || !proposal.binding.dataSinkId) {\n setPreviewData(undefined);\n return;\n }\n let cancelled = false;\n setPreviewLoading(true);\n setPreviewAccessError(false);\n\n resolvePreviewData(proposal)\n .then((data) => {\n if (cancelled) return;\n setPreviewData(data);\n })\n .catch(() => {\n if (cancelled) return;\n setPreviewData(undefined);\n setPreviewAccessError(true);\n })\n .finally(() => {\n if (!cancelled) setPreviewLoading(false);\n });\n\n return () => {\n cancelled = true;\n };\n // `bindingKey` captures every input that changes the resolved data.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bindingKey, resolvePreviewData]);\n\n const handlePropose = useCallback(async () => {\n if (!prompt.trim()) return;\n setIsProposing(true);\n setApproveError(null);\n try {\n const next = await source.propose({ prompt: prompt.trim(), sinks, parsers });\n setProposal(next);\n } finally {\n setIsProposing(false);\n }\n }, [prompt, source, sinks, parsers]);\n\n const patchProposal = useCallback((patch: (current: CustomWidgetProposal) => CustomWidgetProposal) => {\n setProposal((current) => (current ? patch(current) : current));\n }, []);\n\n const handleReject = useCallback(() => {\n setProposal(null);\n setPreviewData(undefined);\n setPreviewAccessError(false);\n setApproveError(null);\n }, []);\n\n const handleApprove = useCallback(async () => {\n if (!proposal || !validation.canApprove) return;\n setIsApproving(true);\n setApproveError(null);\n try {\n await onApprove(proposal);\n onClose();\n } catch (error) {\n setApproveError(\n error instanceof Error\n ? error.message\n : t('bigconsole.widget.customWidget.error.couldNotSaveWidget', 'Could not save the widget.')\n );\n } finally {\n setIsApproving(false);\n }\n }, [proposal, validation.canApprove, onApprove, onClose, t]);\n\n const errors = validation.issues.filter((issue) => issue.severity === 'error');\n const warnings = validation.issues.filter((issue) => issue.severity === 'warning');\n\n return (\n <section\n data-testid=\"custom-widget-proposal-panel\"\n aria-label={t('bigconsole.widget.customWidget.panel.ariaLabel', 'AI custom widget builder')}\n className=\"flex h-full w-full min-w-0 flex-col overflow-y-auto p-4\"\n >\n {/*\n Five stages — prompt → preview → validation → editable proposal →\n approval — used to be five bare divs separated by one uniform gap. Each\n is now a labelled section, and the preview (the thing the reviewer is\n actually judging) is the panel's single `primary` block (BOFF-5636).\n */}\n <SectionStack>\n {/* ---------- Prompt ---------- */}\n <Section\n title={t('bigconsole.widget.customWidget.prompt.label', 'Describe the widget you need')}\n description=\"Plain English. The assistant proposes a typed widget you can edit before anything is saved.\"\n icon={<Sparkles className=\"size-4\" aria-hidden=\"true\" />}\n actions={\n <div className=\"flex flex-wrap gap-2\">\n <Button\n data-testid=\"custom-widget-generate\"\n onClick={handlePropose}\n disabled={!prompt.trim() || isProposing}\n >\n {isProposing ? <Loader2 className=\"mr-2 size-4 animate-spin\" aria-hidden=\"true\" /> : null}\n {proposal\n ? t('bigconsole.widget.customWidget.action.regenerate', 'Regenerate')\n : t('bigconsole.widget.customWidget.action.generateProposal', 'Generate proposal')}\n </Button>\n {proposal ? (\n <Button variant=\"outline\" data-testid=\"custom-widget-reject\" onClick={handleReject}>\n <X className=\"mr-1 size-4\" aria-hidden=\"true\" />\n {t('bigconsole.widget.customWidget.action.reject', 'Reject')}\n </Button>\n ) : null}\n </div>\n }\n >\n <div className=\"flex flex-col gap-2\">\n <Label htmlFor=\"custom-widget-prompt\">What should it show?</Label>\n <Textarea\n id=\"custom-widget-prompt\"\n data-testid=\"custom-widget-prompt\"\n value={prompt}\n onChange={(event) => setPrompt(event.target.value)}\n placeholder={t(\n 'bigconsole.widget.customWidget.prompt.placeholder',\n 'e.g. a funnel of signup conversion stages'\n )}\n rows={3}\n />\n </div>\n </Section>\n\n {!proposal ? (\n <Section emphasis=\"muted\" padding=\"compact\" title=\"No proposal yet\" headingLevel={3}>\n <p className=\"text-sm text-text-secondary\" data-testid=\"custom-widget-empty\">\n {t(\n 'bigconsole.widget.customWidget.empty',\n 'No proposal yet. Describe a widget and the assistant will propose one for you to review — nothing is added to the dashboard until you approve it.'\n )}\n </p>\n </Section>\n ) : (\n <>\n {/* ---------- Preview ---------- */}\n <Section\n emphasis=\"primary\"\n tone={PREVIEW_TONES[previewState]}\n title={previewCopy[previewState].title}\n description=\"Rendered by the real widget renderer against the real parser output — what you approve is what you get.\"\n meta={\n <span\n data-testid=\"custom-widget-preview-state\"\n data-state={previewState}\n className=\"rounded-pill bg-bg-sunken px-2 py-0.5 text-xs text-text-secondary\"\n >\n {previewState}\n </span>\n }\n >\n <div\n data-testid=\"custom-widget-preview\"\n className=\"min-h-[220px] min-w-0 rounded-card border border-[var(--color-border-subtle)] bg-bg-surface p-2\"\n >\n {previewState === 'loading' ? (\n <div className=\"flex h-[200px] items-center justify-center text-text-secondary\">\n <Loader2 className=\"mr-2 size-4 animate-spin\" aria-hidden=\"true\" />\n <span className=\"text-sm\">{previewCopy.loading.body}</span>\n </div>\n ) : previewState === 'valid' ? (\n <div className=\"h-[200px]\">\n <WidgetErrorBoundary widgetId={`preview-${proposal.id}`}>\n <BigConsoleRenderer\n widget={toDraftWidget(\n proposal,\n t('bigconsole.widget.customWidget.untitledWidget', 'Untitled widget')\n )}\n data={previewData as Record<string, unknown>}\n />\n </WidgetErrorBoundary>\n </div>\n ) : (\n <div className=\"flex h-[200px] flex-col items-center justify-center gap-2 px-4 text-center\">\n <AlertTriangle className=\"size-5 text-[var(--color-status-warning-text)]\" aria-hidden=\"true\" />\n <p className=\"text-sm text-text-secondary\">{previewCopy[previewState].body}</p>\n {previewState === 'access-error' ? (\n <Button size=\"sm\" variant=\"outline\" onClick={() => patchProposal((current) => ({ ...current }))}>\n <RefreshCw className=\"mr-1 size-3.5\" aria-hidden=\"true\" />\n {t('bigconsole.widget.customWidget.action.retry', 'Retry')}\n </Button>\n ) : null}\n </div>\n )}\n </div>\n\n {proposal.rationale ? (\n <p className=\"mt-2 text-xs text-text-secondary\" data-testid=\"custom-widget-rationale\">\n {proposal.rationale}\n </p>\n ) : null}\n </Section>\n\n {/* ---------- Validation ---------- */}\n {errors.length > 0 || warnings.length > 0 ? (\n <Section\n tone={errors.length > 0 ? 'danger' : 'warning'}\n padding=\"compact\"\n headingLevel={3}\n title={\n errors.length > 0\n ? `${errors.length} ${errors.length === 1 ? 'problem' : 'problems'} to fix before approving`\n : `${warnings.length} ${warnings.length === 1 ? 'warning' : 'warnings'}`\n }\n >\n <ul data-testid=\"custom-widget-issues\" className=\"flex min-w-0 flex-col gap-1\">\n {[...errors, ...warnings].map((issue) => (\n <li\n key={`${issue.code}-${issue.path ?? ''}`}\n data-severity={issue.severity}\n className={`break-words text-xs ${\n issue.severity === 'error'\n ? 'text-[var(--color-status-error-text)]'\n : 'text-[var(--color-status-warning-text)]'\n }`}\n >\n {issue.message}\n </li>\n ))}\n </ul>\n </Section>\n ) : null}\n\n {/* ---------- Editable proposal ---------- */}\n <Section\n title={t('bigconsole.widget.customWidget.proposal.heading', 'Proposal')}\n description=\"Every field is editable — the assistant proposes, you dispose.\"\n data-testid=\"custom-widget-proposal-fields\"\n >\n <div className=\"flex flex-col gap-3\">\n <div className=\"flex flex-col gap-1\">\n <Label htmlFor=\"custom-widget-title\">\n {t('bigconsole.widget.customWidget.field.title', 'Title')}\n </Label>\n <Input\n id=\"custom-widget-title\"\n data-testid=\"custom-widget-title\"\n className={FIELD_CLASSES}\n value={proposal.presentation.title}\n onChange={(event) =>\n patchProposal((current) => ({\n ...current,\n presentation: { ...current.presentation, title: event.target.value },\n }))\n }\n />\n </div>\n\n <div className=\"flex flex-col gap-1\">\n <Label htmlFor=\"custom-widget-type\">\n {t('bigconsole.widget.customWidget.field.widgetType', 'Widget type')}\n </Label>\n <select\n id=\"custom-widget-type\"\n data-testid=\"custom-widget-type\"\n value={proposal.widgetType}\n onChange={(event) =>\n patchProposal((current) => ({\n ...current,\n widgetType: event.target.value as ProposableWidgetType,\n }))\n }\n className=\"w-full rounded-md border border-[var(--color-border-default)] bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-action-primary-bg\"\n >\n {PROPOSABLE_WIDGET_TYPES.map((type) => (\n <option key={type} value={type}>\n {type}\n </option>\n ))}\n </select>\n </div>\n\n <div className=\"flex flex-col gap-1\">\n <Label htmlFor=\"custom-widget-sink\">\n {t('bigconsole.widget.customWidget.field.dataSink', 'DataSink')}\n </Label>\n <select\n id=\"custom-widget-sink\"\n data-testid=\"custom-widget-sink\"\n value={proposal.binding.dataSinkId}\n onChange={(event) => {\n const sink = sinks.find((candidate) => candidate.id === event.target.value);\n patchProposal((current) => ({\n ...current,\n binding: { ...current.binding, dataSinkId: event.target.value, dataSinkKey: sink?.key },\n }));\n }}\n className=\"w-full rounded-md border border-[var(--color-border-default)] bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-action-primary-bg\"\n >\n <option value=\"\">\n {t('bigconsole.widget.customWidget.field.selectDataSink', 'Select a DataSink…')}\n </option>\n {sinks.map((sink) => (\n <option key={sink.id} value={sink.id}>\n {sink.name || sink.key}\n </option>\n ))}\n </select>\n </div>\n\n <div className=\"flex flex-col gap-1\">\n <Label htmlFor=\"custom-widget-parser\">\n {t('bigconsole.widget.customWidget.field.parser', 'Parser')}\n </Label>\n <select\n id=\"custom-widget-parser\"\n data-testid=\"custom-widget-parser\"\n value={proposal.binding.parserId ?? ''}\n onChange={(event) => {\n const parser = parsers.find((candidate) => candidate.id === event.target.value);\n patchProposal((current) => ({\n ...current,\n binding: {\n ...current.binding,\n parserId: event.target.value || undefined,\n parserName: parser?.name,\n },\n }));\n }}\n className=\"w-full rounded-md border border-[var(--color-border-default)] bg-bg-surface px-3 py-2 text-sm text-text-primary focus:outline-none focus:ring-2 focus:ring-action-primary-bg\"\n >\n <option value=\"\">{t('bigconsole.widget.customWidget.field.noParser', 'No parser')}</option>\n {parsers.map((parser) => (\n <option key={parser.id} value={parser.id}>\n {parser.name}\n </option>\n ))}\n </select>\n </div>\n\n {/* Field mapping */}\n {Object.keys(proposal.fieldMapping).length > 0 ? (\n <fieldset className=\"flex flex-col gap-2\" data-testid=\"custom-widget-field-mapping\">\n <legend className=\"text-sm font-medium text-text-primary\">\n {t('bigconsole.widget.customWidget.fieldMapping.legend', 'Field mapping')}\n </legend>\n {Object.entries(proposal.fieldMapping).map(([role, field]) => (\n <div key={role} className=\"flex flex-col gap-1\">\n <Label htmlFor={`custom-widget-field-${role}`}>{role}</Label>\n <Input\n id={`custom-widget-field-${role}`}\n data-testid={`custom-widget-field-${role}`}\n value={field}\n onChange={(event) =>\n patchProposal((current) => ({\n ...current,\n fieldMapping: { ...current.fieldMapping, [role]: event.target.value },\n }))\n }\n />\n </div>\n ))}\n {availableFields?.length ? (\n <p className=\"break-words text-xs text-text-secondary\">\n {t('bigconsole.widget.customWidget.fieldMapping.available', 'Available: {{fields}}', {\n fields: availableFields.join(', '),\n })}\n </p>\n ) : null}\n </fieldset>\n ) : null}\n </div>\n </Section>\n\n {/* ---------- Approval ---------- */}\n {approveError ? (\n <Section tone=\"danger\" padding=\"compact\" headingLevel={3} title=\"Could not add the widget\">\n <p\n role=\"alert\"\n className=\"break-words text-xs text-[var(--color-status-error-text)]\"\n data-testid=\"custom-widget-approve-error\"\n >\n {approveError}\n </p>\n </Section>\n ) : null}\n\n <div className=\"flex flex-wrap gap-2 border-t border-[var(--color-border-subtle)] pt-3\">\n <Button\n data-testid=\"custom-widget-approve\"\n onClick={handleApprove}\n disabled={!validation.canApprove || isApproving}\n >\n {isApproving ? (\n <Loader2 className=\"mr-2 size-4 animate-spin\" aria-hidden=\"true\" />\n ) : (\n <Check className=\"mr-1 size-4\" aria-hidden=\"true\" />\n )}\n {t('bigconsole.widget.customWidget.action.approveAndAdd', 'Approve & add to dashboard')}\n </Button>\n <Button variant=\"outline\" onClick={onClose} data-testid=\"custom-widget-cancel\">\n {t('bigconsole.widget.customWidget.action.cancel', 'Cancel')}\n </Button>\n </div>\n </>\n )}\n </SectionStack>\n </section>\n );\n});\n\nexport default CustomWidgetProposalPanel;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/customWidget/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,yBAAyB,EAAE,KAAK,8BAA8B,EAAE,MAAM,6BAA6B,CAAC;AAE7G,OAAO,EAAE,wBAAwB,EAAE,KAAK,6BAA6B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"proposalContract.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/customWidget/proposalContract.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"proposalContract.js","names":[],"sources":["../../../src/bigconsole/customWidget/proposalContract.ts"],"sourcesContent":["/**\n * Custom-widget proposal contract (BOFF-5532 / BOFF-3021).\n *\n * The AI custom-widget builder turns a natural-language prompt into a *typed,\n * reviewable proposal* rather than writing a widget straight to the dashboard.\n * This module is the single source of truth for that proposal's shape.\n *\n * The backend operation that will eventually emit these proposals is owned by\n * BOFF-3021's backend half and does not exist yet, so the contract is versioned\n * and lives here. `proposalSource.ts` is the seam that swaps a local generator\n * for the real GraphQL operation without any UI change.\n *\n * Two rules the contract deliberately encodes, from BOFF-3021's scope:\n * 1. A proposal only ever *references* governed DataSinks and Parsers by id —\n * it can never carry inline data or credentials.\n * 2. Rendering is declarative and allowlisted. A proposal names a built-in\n * widget type and a config; it can never carry executable code, remote\n * script URLs, or raw HTML.\n */\n\nimport type { WidgetType } from '../types';\n\n/** Bump when the proposal shape changes incompatibly. */\nexport const CUSTOM_WIDGET_PROPOSAL_VERSION = '1.0' as const;\n\n/**\n * Widget types a proposal is allowed to request.\n *\n * Deliberately narrower than the full `WidgetType` union: these are the\n * federation-accessible types with production-quality renderers, so an approved\n * proposal is guaranteed to render. Anything else is rejected at validation.\n */\nexport const PROPOSABLE_WIDGET_TYPES = [\n 'chart',\n 'funnel_chart',\n 'heatmap',\n 'table',\n 'metric_card',\n 'retention',\n] as const;\n\nexport type ProposableWidgetType = (typeof PROPOSABLE_WIDGET_TYPES)[number];\n\nexport function isProposableWidgetType(value: unknown): value is ProposableWidgetType {\n return typeof value === 'string' && (PROPOSABLE_WIDGET_TYPES as readonly string[]).includes(value);\n}\n\n/**\n * How a proposal binds to data. References only — never inline rows, never\n * credentials, always a workspace-scoped id the gateway will RBAC-check.\n */\nexport interface ProposalBinding {\n /** DataSink id. Required: data may only enter through a governed sink. */\n dataSinkId: string;\n /** Human-readable sink key, carried for display and for export/import resolution. */\n dataSinkKey?: string;\n /** Parser id that shapes the sink payload into widget-ready output. */\n parserId?: string;\n /** Parser display name, for the review UI. */\n parserName?: string;\n /** Dot-notation path applied to the parser output. */\n dataPath?: string;\n}\n\n/**\n * Which fields of the parsed rows feed which visual role. Keys are role names\n * (`xAxisField`, `valueField`, …); values are field names in the parser output.\n */\nexport type ProposalFieldMapping = Record<string, string>;\n\n/** Presentation settings the reviewer can edit before approving. */\nexport interface ProposalPresentation {\n title: string;\n description?: string;\n /** Declarative widget config — merged into the created widget's `config`. */\n config: Record<string, unknown>;\n}\n\n/** A single typed custom-widget proposal awaiting review. */\nexport interface CustomWidgetProposal {\n version: typeof CUSTOM_WIDGET_PROPOSAL_VERSION;\n /** Client-side id for this proposal; not a widget id. */\n id: string;\n /** The prompt this proposal came from, kept as provenance. */\n sourcePrompt: string;\n /** What produced it — `local-heuristic-v1` today, a model id once wired. */\n generatedBy: string;\n widgetType: ProposableWidgetType;\n binding: ProposalBinding;\n fieldMapping: ProposalFieldMapping;\n presentation: ProposalPresentation;\n /** Optional short plain-language rationale shown to the reviewer. */\n rationale?: string;\n}\n\n// ============================================================================\n// Validation\n// ============================================================================\n\nexport type ProposalIssueCode =\n | 'UNSUPPORTED_WIDGET_TYPE'\n | 'MISSING_DATASINK'\n | 'DATASINK_NOT_PERMITTED'\n | 'MISSING_PARSER'\n | 'PARSER_NOT_PERMITTED'\n | 'FIELD_MISMATCH'\n | 'MISSING_TITLE'\n | 'UNSAFE_CONTENT'\n | 'VERSION_UNSUPPORTED';\n\nexport interface ProposalIssue {\n code: ProposalIssueCode;\n /** `error` blocks approval; `warning` does not. */\n severity: 'error' | 'warning';\n message: string;\n /** Which part of the proposal to highlight, e.g. `binding.parserId`. */\n path?: string;\n}\n\n/**\n * The preview's observable state. These are exactly the states BOFF-5532\n * requires the preview to cover.\n */\nexport type ProposalPreviewState = 'loading' | 'valid' | 'no-data' | 'field-mismatch' | 'access-error';\n\nexport interface ProposalValidation {\n issues: ProposalIssue[];\n /** True when no `error`-severity issue is present. */\n canApprove: boolean;\n}\n\n/**\n * Config keys that would smuggle executable or remote content through a\n * \"declarative\" proposal. BOFF-3021 puts these explicitly out of scope.\n */\nconst UNSAFE_CONFIG_KEYS = new Set(['html', 'iframeUrl', 'script', 'scriptUrl', 'render', 'srcDoc', 'onClick']);\n\n/** Rejects `javascript:`-style URLs and inline event handlers hidden in strings. */\nfunction containsUnsafeString(value: string): boolean {\n const normalized = value.trim().toLowerCase().replace(/\\s+/g, '');\n return (\n normalized.startsWith('javascript:') ||\n normalized.startsWith('data:text/html') ||\n normalized.includes('<script') ||\n /\\son[a-z]+=/.test(value.toLowerCase())\n );\n}\n\nfunction scanForUnsafeContent(config: Record<string, unknown>, issues: ProposalIssue[], pathPrefix = 'config'): void {\n for (const [key, value] of Object.entries(config)) {\n const path = `${pathPrefix}.${key}`;\n\n if (UNSAFE_CONFIG_KEYS.has(key)) {\n issues.push({\n code: 'UNSAFE_CONTENT',\n severity: 'error',\n message: `\"${key}\" is not allowed — generated widgets must use the declarative rendering model.`,\n path,\n });\n continue;\n }\n\n if (typeof value === 'string' && containsUnsafeString(value)) {\n issues.push({\n code: 'UNSAFE_CONTENT',\n severity: 'error',\n message: `\"${key}\" contains executable or remote content, which is not permitted.`,\n path,\n });\n continue;\n }\n\n if (value && typeof value === 'object' && !Array.isArray(value)) {\n scanForUnsafeContent(value as Record<string, unknown>, issues, path);\n }\n }\n}\n\nexport interface ValidateProposalContext {\n /** DataSink ids the current user may bind to (already RBAC-filtered by the API). */\n permittedDataSinkIds: readonly string[];\n /** Parser ids the current user may bind to. */\n permittedParserIds: readonly string[];\n /**\n * Field names present in the parser's actual output, when known. When\n * undefined the field mapping is not checked (preview has not resolved yet).\n */\n availableFields?: readonly string[];\n}\n\n/**\n * Validates a proposal against what the current user is actually permitted to\n * bind, and against the declarative-rendering rules.\n *\n * Permission checks here are a *UX* affordance so the reviewer sees a clear\n * message instead of a failed write — the gateway's `@rbac` directives remain\n * the enforcement boundary.\n */\nexport function validateProposal(proposal: CustomWidgetProposal, context: ValidateProposalContext): ProposalValidation {\n const issues: ProposalIssue[] = [];\n\n if (proposal.version !== CUSTOM_WIDGET_PROPOSAL_VERSION) {\n issues.push({\n code: 'VERSION_UNSUPPORTED',\n severity: 'error',\n message: `Proposal version \"${proposal.version}\" is not supported by this builder.`,\n path: 'version',\n });\n }\n\n if (!isProposableWidgetType(proposal.widgetType)) {\n issues.push({\n code: 'UNSUPPORTED_WIDGET_TYPE',\n severity: 'error',\n message: `\"${proposal.widgetType}\" is not an approved widget type.`,\n path: 'widgetType',\n });\n }\n\n if (!proposal.presentation.title?.trim()) {\n issues.push({\n code: 'MISSING_TITLE',\n severity: 'error',\n message: 'The widget needs a title before it can be saved.',\n path: 'presentation.title',\n });\n }\n\n // --- binding ---\n if (!proposal.binding.dataSinkId) {\n issues.push({\n code: 'MISSING_DATASINK',\n severity: 'error',\n message: 'Pick a DataSink — data can only reach a widget through a governed sink.',\n path: 'binding.dataSinkId',\n });\n } else if (!context.permittedDataSinkIds.includes(proposal.binding.dataSinkId)) {\n issues.push({\n code: 'DATASINK_NOT_PERMITTED',\n severity: 'error',\n message: 'You do not have access to the proposed DataSink in this workspace.',\n path: 'binding.dataSinkId',\n });\n }\n\n if (!proposal.binding.parserId) {\n issues.push({\n code: 'MISSING_PARSER',\n severity: 'warning',\n message: 'No parser selected — the widget will receive the sink payload unshaped.',\n path: 'binding.parserId',\n });\n } else if (!context.permittedParserIds.includes(proposal.binding.parserId)) {\n issues.push({\n code: 'PARSER_NOT_PERMITTED',\n severity: 'error',\n message: 'You do not have access to the proposed parser in this workspace.',\n path: 'binding.parserId',\n });\n }\n\n // --- field mapping, only once the real fields are known ---\n if (context.availableFields) {\n const available = new Set(context.availableFields);\n for (const [role, field] of Object.entries(proposal.fieldMapping)) {\n if (field && !available.has(field)) {\n issues.push({\n code: 'FIELD_MISMATCH',\n severity: 'error',\n message: `\"${field}\" (${role}) is not present in the parser output.`,\n path: `fieldMapping.${role}`,\n });\n }\n }\n }\n\n scanForUnsafeContent(proposal.presentation.config, issues);\n\n return { issues, canApprove: !issues.some((issue) => issue.severity === 'error') };\n}\n\n/** Derives the preview state from validation plus what the preview fetch returned. */\nexport function derivePreviewState(\n validation: ProposalValidation,\n options: { loading: boolean; accessError?: boolean; rowCount?: number }\n): ProposalPreviewState {\n if (options.loading) return 'loading';\n if (options.accessError) return 'access-error';\n\n const hasAccessIssue = validation.issues.some(\n (issue) => issue.code === 'DATASINK_NOT_PERMITTED' || issue.code === 'PARSER_NOT_PERMITTED'\n );\n if (hasAccessIssue) return 'access-error';\n\n if (validation.issues.some((issue) => issue.code === 'FIELD_MISMATCH')) return 'field-mismatch';\n if (!options.rowCount) return 'no-data';\n return 'valid';\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"proposalSource.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/customWidget/proposalSource.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAEL,KAAK,oBAAoB,EAG1B,MAAM,oBAAoB,CAAC;AAE5B,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,aAAa,CAAC,qBAAqB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,CAAC,GACrG,qBAAqB,EAAE,CAIzB;AAED,6CAA6C;AAC7C,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACxC,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,0BAA0B;IACzC,gFAAgF;IAChF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAClE;AAkHD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,0BAiCjC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"proposalSource.js","names":[],"sources":["../../../src/bigconsole/customWidget/proposalSource.ts"],"sourcesContent":["/**\n * Proposal source — the seam between the review UI and whatever produces\n * proposals (BOFF-5532 / BOFF-3021).\n *\n * The UI only ever talks to `CustomWidgetProposalSource`. Today the default\n * implementation derives a proposal locally from the prompt and the workspace's\n * real sinks and parsers, because the backend operation that will emit typed\n * proposals is owned by BOFF-3021's backend half and does not exist yet.\n *\n * When it lands, add a `graphqlProposalSource` here that calls it and swap the\n * value passed to the panel. Nothing in the review, edit, approve or persist\n * path changes: those already run against real sinks, real parsers and the real\n * `createBigConsoleWidget` mutation.\n */\n\nimport {\n CUSTOM_WIDGET_PROPOSAL_VERSION,\n type CustomWidgetProposal,\n type ProposableWidgetType,\n type ProposalFieldMapping,\n} from './proposalContract';\n\n/** A sink the current user may bind to, as the panel knows it. */\nexport interface ProposalCandidateSink {\n id: string;\n key: string;\n name?: string | null;\n}\n\n/**\n * Converts the workspace store into a proposal-safe candidate set. The API\n * excludes soft-deleted sinks, but this second boundary is intentional:\n * persisted client state can outlive an out-of-band deletion, and a sink whose\n * deletion signal is missing from a lightweight list fragment must still be\n * excluded if its active flag has been cleared.\n */\nexport function selectActiveProposalSinks(\n sinks: ReadonlyArray<ProposalCandidateSink & { deletedAt?: string | null; isActive?: boolean | null }>\n): ProposalCandidateSink[] {\n return sinks\n .filter((sink) => !sink.deletedAt && sink.isActive !== false)\n .map(({ id, key, name }) => ({ id, key, name }));\n}\n\n/** A parser the current user may bind to. */\nexport interface ProposalCandidateParser {\n id: string;\n name: string;\n inputSinkKey: string;\n}\n\nexport interface ProposalRequest {\n prompt: string;\n sinks: readonly ProposalCandidateSink[];\n parsers: readonly ProposalCandidateParser[];\n}\n\nexport interface CustomWidgetProposalSource {\n /** Stable id, surfaced in the UI so reviewers know what produced a proposal. */\n readonly id: string;\n propose(request: ProposalRequest): Promise<CustomWidgetProposal>;\n}\n\n// ============================================================================\n// Local heuristic source\n// ============================================================================\n\n/**\n * Keyword → widget type. Ordered most-specific first so \"conversion funnel\"\n * matches funnel before a generic \"chart\" would win.\n */\nconst TYPE_KEYWORDS: ReadonlyArray<{ type: ProposableWidgetType; words: readonly string[] }> = [\n { type: 'funnel_chart', words: ['funnel', 'conversion', 'drop-off', 'dropoff', 'stage'] },\n { type: 'heatmap', words: ['heatmap', 'heat map', 'matrix', 'intensity', 'by hour', 'density'] },\n { type: 'retention', words: ['retention', 'cohort'] },\n { type: 'table', words: ['table', 'list of', 'rows', 'breakdown table', 'grid'] },\n { type: 'metric_card', words: ['kpi', 'single number', 'metric card', 'scorecard', 'total'] },\n { type: 'chart', words: ['chart', 'trend', 'over time', 'line', 'bar', 'area', 'pie', 'graph'] },\n];\n\nconst CHART_SUBTYPE_KEYWORDS: ReadonlyArray<{ chartType: string; words: readonly string[] }> = [\n { chartType: 'bar', words: ['bar'] },\n { chartType: 'area', words: ['area', 'cumulative'] },\n { chartType: 'pie', words: ['pie', 'composition', 'share', 'mix'] },\n { chartType: 'line', words: ['line', 'trend', 'over time'] },\n];\n\nfunction detectWidgetType(prompt: string): ProposableWidgetType {\n const lower = prompt.toLowerCase();\n for (const { type, words } of TYPE_KEYWORDS) {\n if (words.some((word) => lower.includes(word))) return type;\n }\n return 'chart';\n}\n\nfunction detectChartSubtype(prompt: string): string {\n const lower = prompt.toLowerCase();\n for (const { chartType, words } of CHART_SUBTYPE_KEYWORDS) {\n if (words.some((word) => lower.includes(word))) return chartType;\n }\n return 'line';\n}\n\n/**\n * Picks the sink whose key/name shares the most word-stems with the prompt.\n * Falls back to the first permitted sink so a proposal is always reviewable\n * rather than failing outright.\n */\nfunction pickSink(prompt: string, sinks: readonly ProposalCandidateSink[]): ProposalCandidateSink | undefined {\n if (sinks.length === 0) return undefined;\n const tokens = prompt\n .toLowerCase()\n .split(/[^a-z0-9]+/)\n .filter((token) => token.length > 2);\n\n let best: { sink: ProposalCandidateSink; score: number } | undefined;\n for (const sink of sinks) {\n const haystack = `${sink.key} ${sink.name ?? ''}`.toLowerCase();\n const score = tokens.reduce((acc, token) => (haystack.includes(token) ? acc + 1 : acc), 0);\n if (!best || score > best.score) best = { sink, score };\n }\n return best?.sink ?? sinks[0];\n}\n\n/** Default field mapping per widget type, using the renderers' conventions. */\nfunction defaultFieldMapping(type: ProposableWidgetType): ProposalFieldMapping {\n switch (type) {\n case 'heatmap':\n return { xAxisField: 'column', yAxisField: 'row', valueField: 'value' };\n case 'funnel_chart':\n return { labelField: 'name', valueField: 'value' };\n case 'metric_card':\n return { valueField: 'value' };\n case 'table':\n return {};\n case 'retention':\n return { cohortField: 'cohort', valueField: 'value' };\n case 'chart':\n default:\n return { xAxisField: 'name', labelField: 'name', valueField: 'value' };\n }\n}\n\nfunction defaultConfig(type: ProposableWidgetType, prompt: string): Record<string, unknown> {\n const base: Record<string, unknown> = { showLegend: true, showTooltip: true };\n switch (type) {\n case 'chart':\n return { ...base, chartType: detectChartSubtype(prompt), showGrid: true };\n case 'funnel_chart':\n return { ...base, chartType: 'funnel', showLabels: true, showPercentages: true, orientation: 'vertical' };\n case 'heatmap':\n return { ...base, colorScheme: 'blue', showValues: true };\n case 'table':\n return { ...base, pageSize: 10, sortable: true };\n case 'metric_card':\n return { ...base, showTrend: true };\n default:\n return base;\n }\n}\n\n/** Turns the prompt's first clause into a widget title. */\nfunction deriveTitle(prompt: string): string {\n const cleaned = prompt\n .trim()\n .replace(/^(please\\s+)?(create|build|make|add|show me|show|give me)\\s+(an?\\s+|the\\s+)?/i, '')\n .split(/[.;\\n]/)[0]\n .trim();\n if (!cleaned) return 'Custom widget';\n const titled = cleaned.charAt(0).toUpperCase() + cleaned.slice(1);\n return titled.length > 60 ? `${titled.slice(0, 57)}…` : titled;\n}\n\nlet proposalCounter = 0;\n\n/**\n * Derives a proposal from the prompt and the workspace's real, permitted sinks\n * and parsers. Deterministic, so the review UI and its tests behave predictably.\n */\nexport const localProposalSource: CustomWidgetProposalSource = {\n id: 'local-heuristic-v1',\n\n async propose({ prompt, sinks, parsers }: ProposalRequest): Promise<CustomWidgetProposal> {\n const widgetType = detectWidgetType(prompt);\n const sink = pickSink(prompt, sinks);\n const parser = sink ? parsers.find((candidate) => candidate.inputSinkKey === sink.key) : undefined;\n\n proposalCounter += 1;\n\n return {\n version: CUSTOM_WIDGET_PROPOSAL_VERSION,\n id: `proposal-${proposalCounter}`,\n sourcePrompt: prompt,\n generatedBy: localProposalSource.id,\n widgetType,\n binding: {\n dataSinkId: sink?.id ?? '',\n dataSinkKey: sink?.key,\n parserId: parser?.id,\n parserName: parser?.name,\n },\n fieldMapping: defaultFieldMapping(widgetType),\n presentation: {\n title: deriveTitle(prompt),\n description: `Generated from: \"${prompt}\"`,\n config: defaultConfig(widgetType, prompt),\n },\n rationale: sink\n ? `Matched DataSink \"${sink.key}\"${parser ? ` and parser \"${parser.name}\"` : ' (no parser found for this sink)'}.`\n : 'No DataSink is available in this workspace — create one before saving this widget.',\n };\n },\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"apollo-compat.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/graphql/apollo-compat.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAExG,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAW9B,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,gBAAgB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG/E,MAAM,MAAM,gBAAgB,CAC1B,KAAK,GAAG,OAAO,EACf,UAAU,SAAS,kBAAkB,GAAG,kBAAkB,IACxD,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAMxC,MAAM,MAAM,mBAAmB,CAC7B,KAAK,GAAG,OAAO,EACf,UAAU,SAAS,kBAAkB,GAAG,kBAAkB,IACxD,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"storeTemplates.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/graphql/storeTemplates.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,gCAAgC,IAAI,0BAA0B,EAC9D,kCAAkC,IAAI,6BAA6B,EACnE,kCAAkC,IAAI,mBAAmB,EACzD,sCAAsC,IAAI,uBAAuB,GAClE,MAAM,mCAAmC,CAAC;AAE3C,eAAO,MAAM,yBAAyB,gCAmBrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,gCAqB5C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"storeTemplates.js","names":[],"sources":["../../../src/bigconsole/graphql/storeTemplates.ts"],"sourcesContent":["/**\n * GraphQL documents for store-distributed dashboard templates.\n *\n * The two catalog reads are generated from\n * `src/operations/global/store/queries/*.graphql` in the usual way.\n *\n * `IMPORT_DASHBOARD_TEMPLATE` is defined inline as an interim measure.\n * `importDashboardTemplate` is new in wspace-bigconsole-svc, so it is not yet\n * present in `graphql/wspace.graphql` — that file is only ever refreshed by\n * `bun run schema:pull` against a live gateway (hand-editing it is a repo\n * guardrail), and the gateway supergraph only carries the field once the\n * service has deployed and Hive has reconciled.\n *\n * It cannot simply be dropped into `src/operations/wspace/**` yet either:\n * `src/generated` is gitignored and CI regenerates it, so an operation file\n * referencing a field the checked-in schema lacks fails codegen and breaks the\n * build. Once `schema:pull` has run, move this document into\n * `src/operations/wspace/dashboard/mutations/importDashboardTemplate.graphql`\n * and import the generated `ImportDashboardTemplateDocument` instead — the\n * shape is unchanged.\n *\n * @module bigconsole/graphql/storeTemplates\n */\nimport { gql } from '@apollo/client';\n\nexport {\n BrowseDashboardTemplatesDocument as BROWSE_DASHBOARD_TEMPLATES,\n GetDashboardTemplateDetailDocument as GET_DASHBOARD_TEMPLATE_DETAIL,\n CreateDashboardTemplateAppDocument as CREATE_TEMPLATE_APP,\n CreateDashboardTemplateVersionDocument as CREATE_TEMPLATE_VERSION,\n} from '../../generated/global-operations';\n\nexport const IMPORT_DASHBOARD_TEMPLATE = gql`\n mutation ImportDashboardTemplate($input: ImportDashboardTemplateInput!) {\n importDashboardTemplate(input: $input) {\n success\n errorMessage\n unresolvedSlots\n resolvedSlots\n widgetsNeedingData\n warnings\n stats {\n pagesCreated\n widgetsCreated\n }\n dashboard {\n id\n name\n }\n }\n }\n`;\n\n/**\n * Same interim treatment as IMPORT_DASHBOARD_TEMPLATE, and for the same reason:\n * buildDashboardTemplateContent is new in wspace-bigconsole-svc and is not yet\n * in the checked-in wspace schema.\n */\nexport const BUILD_DASHBOARD_TEMPLATE_CONTENT = gql`\n query BuildDashboardTemplateContent(\n $dashboardId: ID!\n $defaultDashboardName: String\n $defaultCategory: String\n $defaultTags: [String!]\n $includeSampleData: Boolean\n ) {\n buildDashboardTemplateContent(\n dashboardId: $dashboardId\n defaultDashboardName: $defaultDashboardName\n defaultCategory: $defaultCategory\n defaultTags: $defaultTags\n includeSampleData: $includeSampleData\n ) {\n content\n sinkCount\n unknownSinkIds\n sampleDataSinkCount\n }\n }\n`;\n"],"mappings":";;;AAgCA,IAAa,IAA4B,CAAG;;;;;;;;;;;;;;;;;;;GA0B/B,IAAmC,CAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/hooks/index.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useActivePage.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/hooks/useActivePage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,wDAAwD;AACxD,eAAO,MAAM,UAAU,SAAS,CAAC;AAEjC,UAAU,OAAO;IACf,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,8EAA8E;IAC9E,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,oEAAoE;IACpE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CAC1E;AAED,gFAAgF;AAChF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,EACrC,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,GAAG,mBAAmB,CAqBxF;AAED,eAAe,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useActivePage.js","names":[],"sources":["../../../src/bigconsole/hooks/useActivePage.ts"],"sourcesContent":["/**\n * useActivePage Hook (BOFF-7625)\n *\n * Keeps a dashboard's active page in the URL (`?page=<pageId>`) instead of\n * component state, so:\n * - switching page tabs adds a browser history entry and Back returns to the\n * previous page instead of leaving the dashboard;\n * - a drilldown can land on a specific page (`/dashboards/:id?page=…`), and a\n * drilldown into another page of the same dashboard is a plain navigation;\n * - a reload or a shared link reopens the same page.\n *\n * An absent or unknown page id (deleted page, stale link) falls back to the\n * dashboard's first page.\n */\n\nimport { useCallback, useMemo } from 'react';\nimport { useLocation, useNavigate } from 'react-router';\n\n/** URL search param that carries the active page id. */\nexport const PAGE_PARAM = 'page';\n\ninterface PageRef {\n readonly id: string;\n}\n\nexport interface UseActivePageResult {\n /** The page to render: the URL's page when it exists, else the first page. */\n activePageId: string | undefined;\n /** Raw page id from the URL, even when it does not match a page. */\n requestedPageId: string | null;\n /**\n * Switch page. Pushes a history entry by default; pass `replace` for\n * corrections that should not be a Back step (e.g. after deleting the page).\n */\n setActivePage: (pageId: string, options?: { replace?: boolean }) => void;\n}\n\n/** Resolve the page to show from the requested id and the dashboard's pages. */\nexport function resolveActivePageId(\n pages: readonly PageRef[] | undefined,\n requestedPageId: string | null\n): string | undefined {\n if (!pages || pages.length === 0) return undefined;\n if (requestedPageId && pages.some((page) => page.id === requestedPageId)) return requestedPageId;\n return pages[0]?.id;\n}\n\nexport function useActivePage(pages: readonly PageRef[] | undefined): UseActivePageResult {\n const location = useLocation();\n const navigate = useNavigate();\n\n const requestedPageId = useMemo(() => new URLSearchParams(location.search).get(PAGE_PARAM), [location.search]);\n const activePageId = useMemo(() => resolveActivePageId(pages, requestedPageId), [pages, requestedPageId]);\n\n const setActivePage = useCallback(\n (pageId: string, options?: { replace?: boolean }) => {\n // Start from the live URL, not the router's copy: the global-filter sync\n // rewrites `filter_*` params with history.replaceState behind the router,\n // and rebuilding from `location.search` would drop them.\n const params = new URLSearchParams(window.location.search);\n if (params.get(PAGE_PARAM) === pageId) return;\n params.set(PAGE_PARAM, pageId);\n navigate({ pathname: location.pathname, search: `?${params.toString()}` }, { replace: options?.replace });\n },\n [navigate, location.pathname]\n );\n\n return { activePageId, requestedPageId, setActivePage };\n}\n\nexport default useActivePage;\n"],"mappings":";;;AAmBA,IAAa,IAAa;AAmB1B,SAAgB,EACd,GACA,GACoB;AAChB,QAAC,KAAS,EAAM,WAAW,GAE/B,QADI,KAAmB,EAAM,MAAM,MAAS,EAAK,OAAO,EAAgB,GAAS,IAC1E,EAAM,IAAI;;AAGnB,SAAgB,EAAc,GAA4D;CACxF,IAAM,IAAW,GAAa,EACxB,IAAW,GAAa,EAExB,IAAkB,QAAc,IAAI,gBAAgB,EAAS,OAAO,CAAC,IAAI,EAAW,EAAE,CAAC,EAAS,OAAO,CAAC;AAgB9G,QAAO;EAAE,cAfY,QAAc,EAAoB,GAAO,EAAgB,EAAE,CAAC,GAAO,EAAgB,CAAC;EAelF;EAAiB,eAblB,GACnB,GAAgB,MAAoC;GAInD,IAAM,IAAS,IAAI,gBAAgB,OAAO,SAAS,OAAO;AACtD,KAAO,IAAA,OAAe,KAAK,MAC/B,EAAO,IAAI,GAAY,EAAO,EAC9B,EAAS;IAAE,UAAU,EAAS;IAAU,QAAQ,IAAI,EAAO,UAAU;IAAI,EAAE,EAAE,SAAS,GAAS,SAAS,CAAC;KAE3G,CAAC,GAAU,EAAS,SAAS,CAC9B;EAEsD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAutoRefresh.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/hooks/useAutoRefresh.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,UAAU,qBAAqB;IAC7B,iDAAiD;IACjD,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC,qCAAqC;IACrC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtC,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,kCAAkC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,UAAU,oBAAoB;IAC5B,iDAAiD;IACjD,YAAY,EAAE,OAAO,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,2CAA2C;IAC3C,gBAAgB,EAAE,MAAM,CAAC;IACzB,yBAAyB;IACzB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,iCAAiC;IACjC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,8BAA8B;IAC9B,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAkJnF;AAMD,UAAU,2BAA2B;IACnC,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,uBAAuB;IACvB,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAiBD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,2BAA2B,wBAyBxE;AAMD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO9D;AAED,eAAe,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAutoRefresh.js","names":[],"sources":["../../../src/bigconsole/hooks/useAutoRefresh.ts"],"sourcesContent":["/**\n * useAutoRefresh Hook\n *\n * Manages automatic data refresh for widgets based on their refresh interval.\n * Handles pause/resume and manual refresh triggering.\n */\n\nimport { useEffect, useRef, useCallback, useState } from 'react';\n\n// ============================================================================\n// Types\n// ============================================================================\n\ninterface UseAutoRefreshOptions {\n /** Refresh interval in seconds (0 to disable) */\n interval: number | null | undefined;\n /** Callback to execute on refresh */\n onRefresh: () => Promise<void> | void;\n /** Whether auto-refresh is enabled */\n enabled?: boolean;\n /** Whether to refresh immediately on mount */\n immediate?: boolean;\n /** Callback when refresh completes */\n onComplete?: () => void;\n /** Callback when refresh fails */\n onError?: (error: Error) => void;\n}\n\ninterface UseAutoRefreshResult {\n /** Whether a refresh is currently in progress */\n isRefreshing: boolean;\n /** Whether auto-refresh is currently paused */\n isPaused: boolean;\n /** Time until next refresh (in seconds) */\n timeUntilRefresh: number;\n /** Pause auto-refresh */\n pause: () => void;\n /** Resume auto-refresh */\n resume: () => void;\n /** Manually trigger a refresh */\n refresh: () => Promise<void>;\n /** Reset the refresh timer */\n resetTimer: () => void;\n}\n\n// ============================================================================\n// Hook\n// ============================================================================\n\nexport function useAutoRefresh(options: UseAutoRefreshOptions): UseAutoRefreshResult {\n const { interval, onRefresh, enabled = true, immediate = false, onComplete, onError } = options;\n\n const [isRefreshing, setIsRefreshing] = useState(false);\n const [isPaused, setIsPaused] = useState(false);\n const [timeUntilRefresh, setTimeUntilRefresh] = useState(0);\n\n const intervalRef = useRef<ReturnType<typeof setInterval> | null>(null);\n const countdownRef = useRef<ReturnType<typeof setInterval> | null>(null);\n const mountedRef = useRef(true);\n const lastRefreshRef = useRef<number>(0);\n const isRefreshingRef = useRef(false);\n\n // Store callbacks in refs to avoid dependency changes\n const onRefreshRef = useRef(onRefresh);\n const onCompleteRef = useRef(onComplete);\n const onErrorRef = useRef(onError);\n\n // Update refs on each render\n onRefreshRef.current = onRefresh;\n onCompleteRef.current = onComplete;\n onErrorRef.current = onError;\n\n // Convert interval from seconds to milliseconds\n const intervalMs = interval ? interval * 1000 : null;\n\n // Cleanup function\n const cleanup = useCallback(() => {\n if (intervalRef.current) {\n clearInterval(intervalRef.current);\n intervalRef.current = null;\n }\n if (countdownRef.current) {\n clearInterval(countdownRef.current);\n countdownRef.current = null;\n }\n }, []);\n\n // Refresh function - use refs to avoid dependency changes\n const refresh = useCallback(async () => {\n if (!mountedRef.current || isRefreshingRef.current) return;\n\n setIsRefreshing(true);\n isRefreshingRef.current = true;\n lastRefreshRef.current = Date.now();\n\n try {\n await onRefreshRef.current();\n if (mountedRef.current) {\n onCompleteRef.current?.();\n }\n } catch (error) {\n if (mountedRef.current) {\n onErrorRef.current?.(error instanceof Error ? error : new Error(String(error)));\n }\n } finally {\n if (mountedRef.current) {\n setIsRefreshing(false);\n isRefreshingRef.current = false;\n // Reset countdown after refresh\n if (interval) {\n setTimeUntilRefresh(interval);\n }\n }\n }\n }, [interval]);\n\n // Reset timer function\n const resetTimer = useCallback(() => {\n cleanup();\n\n if (!enabled || !intervalMs || isPaused) {\n return;\n }\n\n // Set initial countdown\n if (interval) {\n setTimeUntilRefresh(interval);\n }\n\n // Start refresh interval\n intervalRef.current = setInterval(() => {\n if (mountedRef.current && !isPaused) {\n refresh();\n }\n }, intervalMs);\n\n // Start countdown interval (updates every second)\n countdownRef.current = setInterval(() => {\n if (mountedRef.current && !isPaused) {\n setTimeUntilRefresh((prev) => Math.max(0, prev - 1));\n }\n }, 1000);\n }, [enabled, intervalMs, interval, isPaused, cleanup, refresh]);\n\n // Pause function\n const pause = useCallback(() => {\n setIsPaused(true);\n cleanup();\n }, [cleanup]);\n\n // Resume function\n const resume = useCallback(() => {\n setIsPaused(false);\n }, []);\n\n // Effect to handle interval changes - only run when enabled\n useEffect(() => {\n // Skip if not enabled\n if (!enabled) {\n cleanup();\n return cleanup;\n }\n\n if (!isPaused) {\n resetTimer();\n }\n return cleanup;\n }, [enabled, isPaused, resetTimer, cleanup]);\n\n // Effect for immediate refresh on mount - only run when enabled\n useEffect(() => {\n if (!enabled) return;\n if (immediate && !isPaused) {\n refresh();\n }\n }, [enabled, immediate, isPaused, refresh]);\n\n // Cleanup on unmount\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n cleanup();\n };\n }, [cleanup]);\n\n return {\n isRefreshing,\n isPaused,\n timeUntilRefresh,\n pause,\n resume,\n refresh,\n resetTimer,\n };\n}\n\n// ============================================================================\n// Helper Hook for Widget-specific usage\n// ============================================================================\n\ninterface UseWidgetAutoRefreshOptions {\n /** Widget ID */\n widgetId: string;\n /** Refresh interval in seconds */\n refreshInterval: number | null | undefined;\n /** Refresh callback */\n onRefresh: () => Promise<void>;\n /** Whether to enable auto-refresh */\n enabled?: boolean;\n}\n\n// Stable no-op functions to return when auto-refresh is disabled\nconst noopAsync = async () => {};\nconst noop = () => {};\n\n// Stable disabled result\nconst DISABLED_RESULT: UseAutoRefreshResult = {\n isRefreshing: false,\n isPaused: true,\n timeUntilRefresh: 0,\n pause: noop,\n resume: noop,\n refresh: noopAsync,\n resetTimer: noop,\n};\n\nexport function useWidgetAutoRefresh(options: UseWidgetAutoRefreshOptions) {\n const { widgetId, refreshInterval, onRefresh, enabled = true } = options;\n\n // Determine if auto-refresh should be active\n const isActive = enabled && !!refreshInterval && refreshInterval > 0;\n\n // Stable error handler using ref\n const widgetIdRef = useRef(widgetId);\n useEffect(() => {\n widgetIdRef.current = widgetId;\n }, [widgetId]);\n\n const onError = useCallback((error: Error) => {}, []);\n\n // Only use the hook when active - this prevents effects from running when disabled\n const activeResult = useAutoRefresh({\n interval: refreshInterval,\n onRefresh,\n enabled: isActive,\n immediate: false,\n onError,\n });\n\n // Return stable disabled result when not active to prevent unnecessary re-renders\n return isActive ? activeResult : DISABLED_RESULT;\n}\n\n// ============================================================================\n// Format time helper\n// ============================================================================\n\nexport function formatTimeUntilRefresh(seconds: number): string {\n if (seconds <= 0) return 'Refreshing...';\n if (seconds < 60) return `${seconds}s`;\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = seconds % 60;\n if (remainingSeconds === 0) return `${minutes}m`;\n return `${minutes}m ${remainingSeconds}s`;\n}\n\nexport default useAutoRefresh;\n"],"mappings":";;AAiDA,SAAgB,EAAe,GAAsD;CACnF,IAAM,EAAE,aAAU,cAAW,aAAU,IAAM,eAAY,IAAO,eAAY,eAAY,GAElF,CAAC,GAAc,KAAmB,EAAS,GAAM,EACjD,CAAC,GAAU,KAAe,EAAS,GAAM,EACzC,CAAC,GAAkB,KAAuB,EAAS,EAAE,EAErD,IAAc,EAA8C,KAAK,EACjE,IAAe,EAA8C,KAAK,EAClE,IAAa,EAAO,GAAK,EACzB,IAAiB,EAAe,EAAE,EAClC,IAAkB,EAAO,GAAM,EAG/B,IAAe,EAAO,EAAU,EAChC,IAAgB,EAAO,EAAW,EAClC,IAAa,EAAO,EAAQ;AAKlC,CAFA,EAAa,UAAU,GACvB,EAAc,UAAU,GACxB,EAAW,UAAU;CAGrB,IAAM,IAAa,IAAW,IAAW,MAAO,MAG1C,IAAU,QAAkB;AAKhC,EAJA,AAEE,EAAY,aADZ,cAAc,EAAY,QAAQ,EACZ,OAExB,AAEE,EAAa,aADb,cAAc,EAAa,QAAQ,EACZ;IAExB,EAAE,CAAC,EAGA,IAAU,EAAY,YAAY;AAClC,SAAC,EAAW,WAAW,EAAgB,UAI3C;GAFA,EAAgB,GAAK,EACrB,EAAgB,UAAU,IAC1B,EAAe,UAAU,KAAK,KAAK;AAEnC,OAAI;AAEF,IADA,MAAM,EAAa,SAAS,EACxB,EAAW,WACb,EAAc,WAAW;YAEpB,GAAO;AACd,IAAI,EAAW,WACb,EAAW,UAAU,aAAiB,QAAQ,IAAY,MAAM,OAAO,EAAM,CAAC,CAAC;aAEzE;AACR,IAAI,EAAW,YACb,EAAgB,GAAM,EACtB,EAAgB,UAAU,IAEtB,KACF,EAAoB,EAAS;;;IAIlC,CAAC,EAAS,CAAC,EAGR,IAAa,QAAkB;AACnC,KAAS,EAEL,GAAC,KAAW,CAAC,KAAc,OAK3B,KACF,EAAoB,EAAS,EAI/B,EAAY,UAAU,kBAAkB;AACtC,GAAI,EAAW,WAAW,CAAC,KACzB,GAAS;KAEV,EAAW,EAGd,EAAa,UAAU,kBAAkB;AACvC,GAAI,EAAW,WAAW,CAAC,KACzB,GAAqB,MAAS,KAAK,IAAI,GAAG,IAAO,EAAE,CAAC;KAErD,IAAK;IACP;EAAC;EAAS;EAAY;EAAU;EAAU;EAAS;EAAQ,CAAC,EAGzD,IAAQ,QAAkB;AAE9B,EADA,EAAY,GAAK,EACjB,GAAS;IACR,CAAC,EAAQ,CAAC,EAGP,IAAS,QAAkB;AAC/B,IAAY,GAAM;IACjB,EAAE,CAAC;AAiCN,QA9BA,QAEO,KAKA,KACH,GAAY,EAEP,MAPL,GAAS,EACF,IAOR;EAAC;EAAS;EAAU;EAAY;EAAQ,CAAC,EAG5C,QAAgB;AACT,OACD,KAAa,CAAC,KAChB,GAAS;IAEV;EAAC;EAAS;EAAW;EAAU;EAAQ,CAAC,EAG3C,SACE,EAAW,UAAU,UACR;AAEX,EADA,EAAW,UAAU,IACrB,GAAS;KAEV,CAAC,EAAQ,CAAC,EAEN;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD;;AAmBH,IAAM,IAAY,YAAY,IACxB,UAAa,IAGb,IAAwC;CAC5C,cAAc;CACd,UAAU;CACV,kBAAkB;CAClB,OAAO;CACP,QAAQ;CACR,SAAS;CACT,YAAY;CACb;AAED,SAAgB,EAAqB,GAAsC;CACzE,IAAM,EAAE,aAAU,oBAAiB,cAAW,aAAU,OAAS,GAG3D,IAAW,KAAW,CAAC,CAAC,KAAmB,IAAkB,GAG7D,IAAc,EAAO,EAAS;AACpC,SAAgB;AACd,IAAY,UAAU;IACrB,CAAC,EAAS,CAAC;CAKd,IAAM,IAAe,EAAe;EAClC,UAAU;EACV;EACA,SAAS;EACT,WAAW;EACX,SARc,GAAa,MAAiB,IAAI,EAAE,CAAC;EASpD,CAAC;AAGF,QAAO,IAAW,IAAe;;AAOnC,SAAgB,EAAuB,GAAyB;AAC9D,KAAI,KAAW,EAAG,QAAO;AACzB,KAAI,IAAU,GAAI,QAAO,GAAG,EAAQ;CACpC,IAAM,IAAU,KAAK,MAAM,IAAU,GAAG,EAClC,IAAmB,IAAU;AAEnC,QADI,MAAqB,IAAU,GAAG,EAAQ,KACvC,GAAG,EAAQ,IAAI,EAAiB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBigConsoleAnalytics.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/hooks/useBigConsoleAnalytics.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,4BAA4B,GACpC,wCAAwC,GACxC,iCAAiC,GACjC,mCAAmC,GACnC,gCAAgC,GAChC,qCAAqC,GACrC,+BAA+B,GAC/B,oCAAoC,GACpC,6BAA6B,GAC7B,qCAAqC,GACrC,+BAA+B,GAC/B,kCAAkC,GAClC,2BAA2B,GAC3B,qCAAqC,GACrC,8BAA8B,CAAC;AAEnC,UAAU,uBAAuB;IAC/B,MAAM,CAAC,EAAE,QAAQ,CAAC;CACnB;AAED,UAAU,0BAA2B,SAAQ,uBAAuB;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,+BAA+B;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,yBAA0B,SAAQ,uBAAuB;IACjE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,uBAAuB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,6BAA6B;IAC5C,wCAAwC,EAAE,mBAAmB,CAAC;IAC9D,iCAAiC,EAAE,mBAAmB,CAAC;IACvD,mCAAmC,EAAE,mBAAmB,CAAC;IACzD,gCAAgC,EAAE,mBAAmB,CAAC;IACtD,qCAAqC,EAAE,uBAAuB,CAAC;IAC/D,+BAA+B,EAAE,0BAA0B,CAAC;IAC5D,oCAAoC,EAAE,+BAA+B,CAAC;IACtE,6BAA6B,EAAE,+BAA+B,CAAC;IAC/D,qCAAqC,EAAE,uBAAuB,CAAC;IAC/D,+BAA+B,EAAE,yBAAyB,CAAC;IAC3D,kCAAkC,EAAE,uBAAuB,CAAC;IAC5D,2BAA2B,EAAE,uBAAuB,CAAC;IACrD,qCAAqC,EAAE,uBAAuB,CAAC;IAC/D,8BAA8B,EAAE,uBAAuB,CAAC;CACzD;AAED,wBAAgB,sBAAsB,IAAI,CAAC,KAAK,SAAS,4BAA4B,EACnF,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,6BAA6B,CAAC,KAAK,CAAC,KAC1C,IAAI,CASR;AAED,eAAe,sBAAsB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBigConsoleAnalytics.js","names":[],"sources":["../../../src/bigconsole/hooks/useBigConsoleAnalytics.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { useEventBus } from '@burdenoff/fe-libs/shared/events';\n\nexport type BigConsoleAnalyticsEventName =\n | 'bigconsole.ai.create_dashboard_clicked'\n | 'bigconsole.ai.dashboard_created'\n | 'bigconsole.ai.dashboard_generated'\n | 'bigconsole.ai.generate_clicked'\n | 'bigconsole.dashboard.import_clicked'\n | 'bigconsole.dashboard.imported'\n | 'bigconsole.dashboard.share_clicked'\n | 'bigconsole.dashboard.shared'\n | 'bigconsole.data_sink.import_clicked'\n | 'bigconsole.data_sink.imported'\n | 'bigconsole.widget.create_clicked'\n | 'bigconsole.widget.created'\n | 'bigconsole.widget.duplicate_clicked'\n | 'bigconsole.widget.duplicated';\n\ninterface BigConsoleImportPayload {\n source?: 'import';\n}\n\ninterface BigConsoleDashboardPayload extends BigConsoleImportPayload {\n dashboardId?: string;\n originalUpdated?: boolean;\n}\n\ninterface BigConsoleDashboardSharePayload {\n dashboardId?: string;\n permission?: string;\n recipientType?: string;\n}\n\ninterface BigConsoleDataSinkPayload extends BigConsoleImportPayload {\n dataSinkId?: string;\n originalUpdated?: boolean;\n}\n\ninterface BigConsoleWidgetPayload {\n dashboardId?: string;\n pageId?: string;\n sourceWidgetId?: string;\n widgetId?: string;\n widgetType?: string;\n}\n\ninterface BigConsoleAiPayload {\n dashboardId?: string;\n generationId?: string;\n maxWidgets?: number;\n}\n\nexport interface BigConsoleAnalyticsPayloadMap {\n 'bigconsole.ai.create_dashboard_clicked': BigConsoleAiPayload;\n 'bigconsole.ai.dashboard_created': BigConsoleAiPayload;\n 'bigconsole.ai.dashboard_generated': BigConsoleAiPayload;\n 'bigconsole.ai.generate_clicked': BigConsoleAiPayload;\n 'bigconsole.dashboard.import_clicked': BigConsoleImportPayload;\n 'bigconsole.dashboard.imported': BigConsoleDashboardPayload;\n 'bigconsole.dashboard.share_clicked': BigConsoleDashboardSharePayload;\n 'bigconsole.dashboard.shared': BigConsoleDashboardSharePayload;\n 'bigconsole.data_sink.import_clicked': BigConsoleImportPayload;\n 'bigconsole.data_sink.imported': BigConsoleDataSinkPayload;\n 'bigconsole.widget.create_clicked': BigConsoleWidgetPayload;\n 'bigconsole.widget.created': BigConsoleWidgetPayload;\n 'bigconsole.widget.duplicate_clicked': BigConsoleWidgetPayload;\n 'bigconsole.widget.duplicated': BigConsoleWidgetPayload;\n}\n\nexport function useBigConsoleAnalytics(): <TName extends BigConsoleAnalyticsEventName>(\n name: TName,\n payload: BigConsoleAnalyticsPayloadMap[TName]\n) => void {\n const bus = useEventBus();\n\n return useCallback(\n <TName extends BigConsoleAnalyticsEventName>(name: TName, payload: BigConsoleAnalyticsPayloadMap[TName]) => {\n bus.emitCustom(name, payload, { component: 'bigconsole' });\n },\n [bus]\n );\n}\n\nexport default useBigConsoleAnalytics;\n"],"mappings":";;;AAuEA,SAAgB,IAGN;CACR,IAAM,IAAM,GAAa;AAEzB,QAAO,GACwC,GAAa,MAAkD;AAC1G,IAAI,WAAW,GAAM,GAAS,EAAE,WAAW,cAAc,CAAC;IAE5D,CAAC,EAAI,CACN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBigConsoleSettings.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/hooks/useBigConsoleSettings.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,gBAAgB,EAAE,kBAS9B,CAAC;AA4BF,wBAAgB,sBAAsB,IAAI,kBAAkB,CAO3D;AAED,gGAAgG;AAChG,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAQ5E;AAED,wBAAgB,qBAAqB,IAAI,kBAAkB,CAgB1D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useBigConsoleSettings.js","names":[],"sources":["../../../src/bigconsole/hooks/useBigConsoleSettings.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport interface BigConsoleSettings {\n defaultRefreshInterval: number;\n defaultGridColumns: number;\n defaultWidgetHeight: number;\n cacheEnabled: boolean;\n cacheTTLSeconds: number;\n showWidgetBorders: boolean;\n compactMode: boolean;\n animationsEnabled: boolean;\n}\n\nexport const DEFAULT_SETTINGS: BigConsoleSettings = {\n defaultRefreshInterval: 0,\n defaultGridColumns: 12,\n defaultWidgetHeight: 4,\n cacheEnabled: true,\n cacheTTLSeconds: 300,\n showWidgetBorders: true,\n compactMode: false,\n animationsEnabled: true,\n};\n\nconst STORAGE_KEY = 'bigconsole-settings';\nconst CHANGE_EVENT = 'bigconsole-settings-changed';\n\nfunction validatedSettings(value: unknown): BigConsoleSettings {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) return { ...DEFAULT_SETTINGS };\n const input: Record<string, unknown> = Object.fromEntries(Object.entries(value));\n const result = { ...DEFAULT_SETTINGS };\n const numberSetting = (\n key: 'defaultRefreshInterval' | 'defaultGridColumns' | 'defaultWidgetHeight' | 'cacheTTLSeconds',\n min: number,\n max: number\n ) => {\n const candidate = input[key];\n if (typeof candidate === 'number' && Number.isInteger(candidate) && candidate >= min && candidate <= max)\n result[key] = candidate;\n };\n numberSetting('defaultRefreshInterval', 0, 86400);\n numberSetting('defaultGridColumns', 4, 24);\n numberSetting('defaultWidgetHeight', 1, 12);\n numberSetting('cacheTTLSeconds', 0, 86400);\n for (const key of ['cacheEnabled', 'showWidgetBorders', 'compactMode', 'animationsEnabled'] as const) {\n if (typeof input[key] === 'boolean') result[key] = input[key];\n }\n return result;\n}\n\nexport function loadBigConsoleSettings(): BigConsoleSettings {\n try {\n const stored = window.localStorage.getItem(STORAGE_KEY);\n return stored ? validatedSettings(JSON.parse(stored)) : { ...DEFAULT_SETTINGS };\n } catch {\n return { ...DEFAULT_SETTINGS };\n }\n}\n\n/** Returns false when browser storage is unavailable; never reports a failed write as saved. */\nexport function saveBigConsoleSettings(settings: BigConsoleSettings): boolean {\n try {\n window.localStorage.setItem(STORAGE_KEY, JSON.stringify(validatedSettings(settings)));\n window.dispatchEvent(new Event(CHANGE_EVENT));\n return true;\n } catch {\n return false;\n }\n}\n\nexport function useBigConsoleSettings(): BigConsoleSettings {\n const [settings, setSettings] = useState(loadBigConsoleSettings);\n useEffect(() => {\n const sync = () => setSettings(loadBigConsoleSettings());\n const onStorage = (event: StorageEvent) => {\n if (event.key === STORAGE_KEY || event.key === null) sync();\n };\n window.addEventListener(CHANGE_EVENT, sync);\n window.addEventListener('storage', onStorage);\n sync();\n return () => {\n window.removeEventListener(CHANGE_EVENT, sync);\n window.removeEventListener('storage', onStorage);\n };\n }, []);\n return settings;\n}\n"],"mappings":";;AAaA,IAAa,IAAuC;CAClD,wBAAwB;CACxB,oBAAoB;CACpB,qBAAqB;CACrB,cAAc;CACd,iBAAiB;CACjB,mBAAmB;CACnB,aAAa;CACb,mBAAmB;CACpB,EAEK,IAAc,uBACd,IAAe;AAErB,SAAS,EAAkB,GAAoC;AAC7D,KAAI,OAAO,KAAU,aAAY,KAAkB,MAAM,QAAQ,EAAM,CAAE,QAAO,EAAE,GAAG,GAAkB;CACvG,IAAM,IAAiC,OAAO,YAAY,OAAO,QAAQ,EAAM,CAAC,EAC1E,IAAS,EAAE,GAAG,GAAkB,EAChC,KACJ,GACA,GACA,MACG;EACH,IAAM,IAAY,EAAM;AACxB,EAAI,OAAO,KAAc,YAAY,OAAO,UAAU,EAAU,IAAI,KAAa,KAAO,KAAa,MACnG,EAAO,KAAO;;AAKlB,CAHA,EAAc,0BAA0B,GAAG,MAAM,EACjD,EAAc,sBAAsB,GAAG,GAAG,EAC1C,EAAc,uBAAuB,GAAG,GAAG,EAC3C,EAAc,mBAAmB,GAAG,MAAM;AAC1C,MAAK,IAAM,KAAO;EAAC;EAAgB;EAAqB;EAAe;EAAoB,CACzF,CAAI,OAAO,EAAM,MAAS,cAAW,EAAO,KAAO,EAAM;AAE3D,QAAO;;AAGT,SAAgB,IAA6C;AAC3D,KAAI;EACF,IAAM,IAAS,OAAO,aAAa,QAAQ,EAAY;AACvD,SAAO,IAAS,EAAkB,KAAK,MAAM,EAAO,CAAC,GAAG,EAAE,GAAG,GAAkB;SACzE;AACN,SAAO,EAAE,GAAG,GAAkB;;;AAKlC,SAAgB,EAAuB,GAAuC;AAC5E,KAAI;AAGF,SAFA,OAAO,aAAa,QAAQ,GAAa,KAAK,UAAU,EAAkB,EAAS,CAAC,CAAC,EACrF,OAAO,cAAc,IAAI,MAAM,EAAa,CAAC,EACtC;SACD;AACN,SAAO;;;AAIX,SAAgB,IAA4C;CAC1D,IAAM,CAAC,GAAU,KAAe,EAAS,EAAuB;AAchE,QAbA,QAAgB;EACd,IAAM,UAAa,EAAY,GAAwB,CAAC,EAClD,KAAa,MAAwB;AACzC,IAAI,EAAM,QAAQ,KAAe,EAAM,QAAQ,SAAM,GAAM;;AAK7D,SAHA,OAAO,iBAAiB,GAAc,EAAK,EAC3C,OAAO,iBAAiB,WAAW,EAAU,EAC7C,GAAM,QACO;AAEX,GADA,OAAO,oBAAoB,GAAc,EAAK,EAC9C,OAAO,oBAAoB,WAAW,EAAU;;IAEjD,EAAE,CAAC,EACC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCrossFilter.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/hooks/useCrossFilter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IACjC,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,gEAAgE;IAChE,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,gBAAgB,EAAE,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACxF,iDAAiD;IACjD,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAChD,8BAA8B;IAC9B,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,yCAAyC;IACzC,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAC/D,uCAAuC;IACvC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1D,kDAAkD;IAClD,eAAe,EAAE,OAAO,CAAC;IACzB,mDAAmD;IACnD,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C;AAMD,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,oBAAoB,CAiLxF;AAMD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;IACR,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACzC,GACA,iBAAiB,CAWnB;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,iBAAiB,CAcnB;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,iBAAiB,CAUlH;AAED,eAAe,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCrossFilter.js","names":[],"sources":["../../../src/bigconsole/hooks/useCrossFilter.ts"],"sourcesContent":["/**\n * useCrossFilter Hook\n *\n * Enables cross-filtering functionality for dashboard widgets.\n * When a user clicks on a data point in a widget, it can update global filters.\n */\n\nimport { useCallback, useRef } from 'react';\nimport { useDashboardStore, useGlobalFilterValues } from '../store';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type CrossFilterMode = 'replace' | 'add' | 'toggle';\n\nexport interface CrossFilterMapping {\n /** The field from clicked data */\n sourceField: string;\n /** The target filter ID */\n targetFilterId: string;\n /** Transform function for the value */\n transform?: (value: unknown) => unknown;\n}\n\nexport interface CrossFilterConfig {\n /** Filter mappings from source fields to target filters */\n mappings: CrossFilterMapping[];\n /** How to apply the filter: replace, add to array, or toggle */\n mode?: CrossFilterMode;\n /** Whether to emit an event when cross-filtering */\n emitEvent?: boolean;\n /** Callback when cross-filter is applied */\n onApply?: (filters: Record<string, unknown>) => void;\n}\n\nexport interface CrossFilterClickData {\n /** The raw data from the clicked element */\n data: Record<string, unknown>;\n /** The widget ID that triggered the click */\n widgetId: string;\n /** Optional label for the clicked element */\n label?: string;\n /** Optional series name (for charts) */\n series?: string;\n /** The original event */\n event?: MouseEvent;\n}\n\nexport interface UseCrossFilterOptions {\n /** Default configuration for cross-filtering */\n config?: CrossFilterConfig;\n /** Whether cross-filtering is enabled */\n enabled?: boolean;\n /** Debounce delay in ms */\n debounceMs?: number;\n}\n\nexport interface UseCrossFilterResult {\n /** Apply cross-filter from clicked data */\n applyCrossFilter: (clickData: CrossFilterClickData, config?: CrossFilterConfig) => void;\n /** Clear cross-filter for specific filter IDs */\n clearCrossFilter: (filterIds: string[]) => void;\n /** Clear all cross-filters */\n clearAllCrossFilters: () => void;\n /** Check if a value is cross-filtered */\n isCrossFiltered: (filterId: string, value: unknown) => boolean;\n /** Get the source of a cross-filter */\n getCrossFilterSource: (filterId: string) => string | null;\n /** Whether cross-filtering is currently active */\n hasCrossFilters: boolean;\n /** Map of filter IDs to their source widget IDs */\n crossFilterSources: Record<string, string>;\n}\n\n// ============================================================================\n// Hook\n// ============================================================================\n\nexport function useCrossFilter(options: UseCrossFilterOptions = {}): UseCrossFilterResult {\n const { config: defaultConfig, enabled = true, debounceMs = 0 } = options;\n\n const filterValues = useGlobalFilterValues();\n const setGlobalFilterValue = useDashboardStore((state) => state.setGlobalFilterValue);\n const clearGlobalFilterValue = useDashboardStore((state) => state.clearGlobalFilterValue);\n // Track which filters came from cross-filtering (widget clicks)\n const crossFilterSources = useRef<Record<string, string>>({});\n\n // Debounce timer\n const debounceTimer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n /**\n * Apply cross-filter from clicked data\n */\n const applyCrossFilter = useCallback(\n (clickData: CrossFilterClickData, configOverride?: CrossFilterConfig) => {\n if (!enabled) return;\n\n const config = configOverride || defaultConfig;\n if (!config?.mappings.length) {\n return;\n }\n\n const applyFilter = () => {\n const appliedFilters: Record<string, unknown> = {};\n\n config.mappings.forEach((mapping) => {\n const { sourceField, targetFilterId, transform } = mapping;\n const mode = config.mode || 'replace';\n\n // Get value from clicked data\n let value = clickData.data[sourceField];\n\n // Apply transform if provided\n if (transform && value !== undefined) {\n value = transform(value);\n }\n\n if (value === undefined || value === null) {\n return;\n }\n\n // Get current filter value\n const currentValue = filterValues[targetFilterId];\n\n let newValue: unknown;\n\n switch (mode) {\n case 'add':\n // Add to array (for multi-select filters)\n if (Array.isArray(currentValue)) {\n if (!currentValue.includes(value)) {\n newValue = [...currentValue, value];\n } else {\n newValue = currentValue;\n }\n } else if (currentValue) {\n newValue = [currentValue, value];\n } else {\n newValue = [value];\n }\n break;\n\n case 'toggle':\n // Toggle value in array\n if (Array.isArray(currentValue)) {\n if (currentValue.includes(value)) {\n newValue = currentValue.filter((v: unknown) => v !== value) as unknown[];\n if ((newValue as unknown[]).length === 0) newValue = undefined;\n } else {\n newValue = [...currentValue, value];\n }\n } else if (currentValue === value) {\n newValue = undefined;\n } else if (currentValue) {\n newValue = [currentValue, value];\n } else {\n newValue = value;\n }\n break;\n\n case 'replace':\n default:\n // Replace existing value\n newValue = value;\n break;\n }\n\n // Apply the filter\n if (newValue !== undefined) {\n setGlobalFilterValue(targetFilterId, newValue);\n appliedFilters[targetFilterId] = newValue;\n crossFilterSources.current[targetFilterId] = clickData.widgetId;\n } else {\n clearGlobalFilterValue(targetFilterId);\n delete crossFilterSources.current[targetFilterId];\n }\n });\n\n // Callback\n if (config.onApply && Object.keys(appliedFilters).length > 0) {\n config.onApply(appliedFilters);\n }\n };\n\n // Apply with debounce if configured\n if (debounceMs > 0) {\n if (debounceTimer.current) {\n clearTimeout(debounceTimer.current);\n }\n debounceTimer.current = setTimeout(applyFilter, debounceMs);\n } else {\n applyFilter();\n }\n },\n [enabled, defaultConfig, filterValues, setGlobalFilterValue, clearGlobalFilterValue, debounceMs]\n );\n\n /**\n * Clear cross-filter for specific filter IDs\n */\n const clearCrossFilter = useCallback(\n (filterIds: string[]) => {\n filterIds.forEach((filterId) => {\n clearGlobalFilterValue(filterId);\n delete crossFilterSources.current[filterId];\n });\n },\n [clearGlobalFilterValue]\n );\n\n /**\n * Clear all cross-filters\n */\n const clearAllCrossFilters = useCallback(() => {\n // Only clear filters that came from cross-filtering\n const crossFilterIds = Object.keys(crossFilterSources.current);\n crossFilterIds.forEach((filterId) => {\n clearGlobalFilterValue(filterId);\n });\n crossFilterSources.current = {};\n }, [clearGlobalFilterValue]);\n\n /**\n * Check if a value is cross-filtered\n */\n const isCrossFiltered = useCallback(\n (filterId: string, value: unknown): boolean => {\n const filterValue = filterValues[filterId];\n if (filterValue === undefined || filterValue === null) return false;\n\n if (Array.isArray(filterValue)) {\n return filterValue.includes(value);\n }\n\n return filterValue === value;\n },\n [filterValues]\n );\n\n /**\n * Get the source widget of a cross-filter\n */\n const getCrossFilterSource = useCallback((filterId: string): string | null => {\n return crossFilterSources.current[filterId] || null;\n }, []);\n\n return {\n applyCrossFilter,\n clearCrossFilter,\n clearAllCrossFilters,\n isCrossFiltered,\n getCrossFilterSource,\n hasCrossFilters: Object.keys(crossFilterSources.current).length > 0,\n crossFilterSources: { ...crossFilterSources.current },\n };\n}\n\n// ============================================================================\n// Helper Functions\n// ============================================================================\n\n/**\n * Create a cross-filter mapping for common chart click scenarios\n */\nexport function createChartCrossFilterMapping(\n categoryField: string,\n targetFilterId: string,\n options?: {\n mode?: CrossFilterMode;\n transform?: (value: unknown) => unknown;\n }\n): CrossFilterConfig {\n return {\n mappings: [\n {\n sourceField: categoryField,\n targetFilterId,\n transform: options?.transform,\n },\n ],\n mode: options?.mode || 'replace',\n };\n}\n\n/**\n * Create cross-filter mappings for date range selection\n */\nexport function createDateRangeCrossFilterMapping(\n startField: string,\n endField: string,\n targetFilterId: string\n): CrossFilterConfig {\n return {\n mappings: [\n {\n sourceField: startField,\n targetFilterId,\n transform: (value) => ({\n start: value,\n end: value, // Will be overwritten if endField is different\n }),\n },\n ],\n mode: 'replace',\n };\n}\n\n/**\n * Create cross-filter mappings for multi-value selection (e.g., legend clicks)\n */\nexport function createMultiSelectCrossFilterMapping(sourceField: string, targetFilterId: string): CrossFilterConfig {\n return {\n mappings: [\n {\n sourceField,\n targetFilterId,\n },\n ],\n mode: 'toggle',\n };\n}\n\nexport default useCrossFilter;\n"],"mappings":";;;;AA+EA,SAAgB,EAAe,IAAiC,EAAE,EAAwB;CACxF,IAAM,EAAE,QAAQ,GAAe,aAAU,IAAM,gBAAa,MAAM,GAE5D,IAAe,GAAuB,EACtC,IAAuB,GAAmB,MAAU,EAAM,qBAAqB,EAC/E,IAAyB,GAAmB,MAAU,EAAM,uBAAuB,EAEnF,IAAqB,EAA+B,EAAE,CAAC,EAGvD,IAAgB,EAA6C,KAAK;AA8JxE,QAAO;EACL,kBA1JuB,GACtB,GAAiC,MAAuC;AACvE,OAAI,CAAC,EAAS;GAEd,IAAM,IAAS,KAAkB;AACjC,OAAI,CAAC,GAAQ,SAAS,OACpB;GAGF,IAAM,UAAoB;IACxB,IAAM,IAA0C,EAAE;AA4ElD,IA1EA,EAAO,SAAS,SAAS,MAAY;KACnC,IAAM,EAAE,gBAAa,mBAAgB,iBAAc,GAC7C,IAAO,EAAO,QAAQ,WAGxB,IAAQ,EAAU,KAAK;AAO3B,SAJI,KAAa,MAAU,KAAA,MACzB,IAAQ,EAAU,EAAM,GAGtB,KAAiC,KACnC;KAIF,IAAM,IAAe,EAAa,IAE9B;AAEJ,aAAQ,GAAR;MACE,KAAK;AAEH,OASE,IATE,MAAM,QAAQ,EAAa,GACxB,EAAa,SAAS,EAAM,GAGpB,IAFA,CAAC,GAAG,GAAc,EAAM,GAI5B,IACE,CAAC,GAAc,EAAM,GAErB,CAAC,EAAM;AAEpB;MAEF,KAAK;AAEH,OAAI,MAAM,QAAQ,EAAa,GACzB,EAAa,SAAS,EAAM,IAC9B,IAAW,EAAa,QAAQ,MAAe,MAAM,EAAM,EACtD,EAAuB,WAAW,MAAG,IAAW,KAAA,MAErD,IAAW,CAAC,GAAG,GAAc,EAAM,GAOrC,IALS,MAAiB,IACf,KAAA,IACF,IACE,CAAC,GAAc,EAAM,GAErB;AAEb;MAGF;AAEE,WAAW;AACX;;AAIJ,KAAI,MAAa,KAAA,KAKf,EAAuB,EAAe,EACtC,OAAO,EAAmB,QAAQ,OALlC,EAAqB,GAAgB,EAAS,EAC9C,EAAe,KAAkB,GACjC,EAAmB,QAAQ,KAAkB,EAAU;MAKzD,EAGE,EAAO,WAAW,OAAO,KAAK,EAAe,CAAC,SAAS,KACzD,EAAO,QAAQ,EAAe;;AAKlC,GAAI,IAAa,KACX,EAAc,WAChB,aAAa,EAAc,QAAQ,EAErC,EAAc,UAAU,WAAW,GAAa,EAAW,IAE3D,GAAa;KAGjB;GAAC;GAAS;GAAe;GAAc;GAAsB;GAAwB;GAAW,CACjG;EAqDC,kBAhDuB,GACtB,MAAwB;AACvB,KAAU,SAAS,MAAa;AAE9B,IADA,EAAuB,EAAS,EAChC,OAAO,EAAmB,QAAQ;KAClC;KAEJ,CAAC,EAAuB,CACzB;EAyCC,sBApC2B,QAAkB;AAM7C,GAJuB,OAAO,KAAK,EAAmB,QAAQ,CAC/C,SAAS,MAAa;AACnC,MAAuB,EAAS;KAChC,EACF,EAAmB,UAAU,EAAE;KAC9B,CAAC,EAAuB,CAAC;EA8B1B,iBAzBsB,GACrB,GAAkB,MAA4B;GAC7C,IAAM,IAAc,EAAa;AAOjC,UANI,KAA6C,OAAa,KAE1D,MAAM,QAAQ,EAAY,GACrB,EAAY,SAAS,EAAM,GAG7B,MAAgB;KAEzB,CAAC,EAAa,CACf;EAcC,sBAT2B,GAAa,MACjC,EAAmB,QAAQ,MAAa,MAC9C,EAAE,CAAC;EAQJ,iBAAiB,OAAO,KAAK,EAAmB,QAAQ,CAAC,SAAS;EAClE,oBAAoB,EAAE,GAAG,EAAmB,SAAS;EACtD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDashboardEmbedPolicy.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/hooks/useDashboardEmbedPolicy.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDashboardEmbedPolicy.js","names":[],"sources":["../../../src/bigconsole/hooks/useDashboardEmbedPolicy.ts"],"sourcesContent":["/**\n * useDashboardEmbedPolicy Hook\n *\n * Owner-facing operations for publishing a dashboard to the web (anonymous-link\n * embed). Mirrors {@link useDashboardSharing}. All mutations are gateway-enforced\n * by `@rbac(manage_embed)` (owner-only). Publishing serves the dashboard's LIVE\n * data anonymously — the caller confirms content-safety before enabling.\n */\n\nimport { useCallback, useState } from 'react';\nimport { useApolloClient } from '@apollo/client/react';\nimport {\n ListDashboardEmbedPoliciesDocument,\n CreateDashboardEmbedPolicyDocument,\n PublishDashboardEmbedPolicyDocument,\n UpdateDashboardEmbedPolicyDocument,\n RotateDashboardEmbedPolicyDocument,\n RevokeDashboardEmbedPolicyDocument,\n} from '../../generated/wspace-operations';\nimport { DashboardEmbedTheme } from '../../generated/wspace-types';\nimport type { EmbedThemeMode } from '../components/embed/types';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport type EmbedPolicyStatus = 'DRAFT' | 'ACTIVE' | 'NEEDS_REVIEW' | 'BROKEN' | 'REVOKED' | 'EXPIRED';\n\n/**\n * Owner-facing color mode (BOFF-5735); maps to the backend {@link DashboardEmbedTheme}\n * enum. Same shape as the render-model's {@link EmbedThemeMode} — aliased to avoid a\n * duplicate union.\n */\nexport type EmbedThemeChoice = EmbedThemeMode;\n\n/**\n * Publish-time presentation options the owner controls in the Share dialog.\n * Branding is deliberately absent: every embed carries the \"Powered by\n * BigConsole\" footer (Burdenoff does no white-labelling).\n */\nexport interface EmbedPresentationChoice {\n theme: EmbedThemeChoice;\n showTitle: boolean;\n}\n\nconst THEME_TO_ENUM: Record<EmbedThemeChoice, DashboardEmbedTheme> = {\n light: DashboardEmbedTheme.Light,\n dark: DashboardEmbedTheme.Dark,\n auto: DashboardEmbedTheme.Auto,\n};\n\n/** Map the backend enum back to the lowercase owner-facing choice (defaults to light). */\nexport function themeChoiceFromPolicy(value: string | null | undefined): EmbedThemeChoice {\n switch (value) {\n case DashboardEmbedTheme.Dark:\n return 'dark';\n case DashboardEmbedTheme.Auto:\n return 'auto';\n default:\n return 'light';\n }\n}\n\nexport interface DashboardEmbedPolicy {\n id: string;\n dashboardId: string;\n status: EmbedPolicyStatus;\n accessMode: string;\n version: number;\n allowedParentOrigins: string[];\n expiresAt?: string | null;\n sessionTtlSeconds: number;\n contentReviewState: string;\n presentationTheme: DashboardEmbedTheme;\n showDashboardTitle: boolean;\n activePublicationId?: string | null;\n locatorPublicId?: string | null;\n fingerprint?: string | null;\n createdAt: string;\n updatedAt: string;\n activatedAt?: string | null;\n revokedAt?: string | null;\n}\n\n/** Returned once on create / rotate — carries the secret embed URL + snippet. */\nexport interface EmbedPolicySecret {\n embedUrl: string;\n iframeSnippet: string;\n fingerprint: string;\n policy: DashboardEmbedPolicy;\n}\n\nexport interface UseDashboardEmbedPolicyResult {\n /** The dashboard's active (or most recent) embed policy, if any. */\n policy: DashboardEmbedPolicy | null;\n /** The one-time secret from the last create/rotate (embed URL + iframe snippet). */\n secret: EmbedPolicySecret | null;\n loading: boolean;\n error: Error | null;\n\n fetchPolicy: (dashboardId: string) => Promise<DashboardEmbedPolicy | null>;\n /** Create (if needed) + publish → returns the live embed secret. */\n publishToWeb: (\n dashboardId: string,\n allowedParentOrigins: string[],\n contentSafetyAttested: boolean,\n presentation?: EmbedPresentationChoice\n ) => Promise<EmbedPolicySecret | null>;\n /**\n * Persist the presentation options of an already-published policy. They are\n * read live by the embed renderer, so the change applies on the next render\n * with no re-publish — the embed link/key are untouched.\n */\n applyPresentation: (policyId: string, presentation: EmbedPresentationChoice) => Promise<DashboardEmbedPolicy | null>;\n setAllowedOrigins: (policyId: string, allowedParentOrigins: string[]) => Promise<DashboardEmbedPolicy | null>;\n rotateKey: (policyId: string) => Promise<EmbedPolicySecret | null>;\n /** Unpublish: revoke the policy (embed stops serving immediately). */\n unpublish: (policyId: string) => Promise<boolean>;\n}\n\n// ============================================================================\n// Hook\n// ============================================================================\n\n/** Pick the live-serving policy (ACTIVE) else the most recently updated one. */\nfunction pickCurrent(policies: DashboardEmbedPolicy[]): DashboardEmbedPolicy | null {\n if (policies.length === 0) return null;\n const active = policies.find((p) => p.status === 'ACTIVE');\n if (active) return active;\n return [...policies].sort((a, b) => Date.parse(b.updatedAt) - Date.parse(a.updatedAt))[0] ?? null;\n}\n\nexport function useDashboardEmbedPolicy(): UseDashboardEmbedPolicyResult {\n const [policy, setPolicy] = useState<DashboardEmbedPolicy | null>(null);\n const [secret, setSecret] = useState<EmbedPolicySecret | null>(null);\n const [loading, setLoading] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n const apolloClient = useApolloClient();\n\n const fetchPolicy = useCallback(\n async (dashboardId: string): Promise<DashboardEmbedPolicy | null> => {\n try {\n setLoading(true);\n setError(null);\n const result = await apolloClient.query<{\n listDashboardEmbedPolicies?: { nodes?: DashboardEmbedPolicy[] };\n }>({\n query: ListDashboardEmbedPoliciesDocument,\n variables: { dashboardId },\n fetchPolicy: 'network-only',\n });\n const current = pickCurrent(result.data?.listDashboardEmbedPolicies?.nodes ?? []);\n setPolicy(current);\n return current;\n } catch (err) {\n setError(err instanceof Error ? err : new Error('Failed to load embed policy'));\n return null;\n } finally {\n setLoading(false);\n }\n },\n [apolloClient]\n );\n\n const publishToWeb = useCallback(\n async (\n dashboardId: string,\n allowedParentOrigins: string[],\n contentSafetyAttested: boolean,\n presentation?: EmbedPresentationChoice\n ): Promise<EmbedPolicySecret | null> => {\n try {\n setLoading(true);\n setError(null);\n\n // Create a DRAFT policy + anonymous-link locator (returns the secret once).\n // Presentation options (BOFF-5735) are captured here so the very first\n // render reflects them; they're read live thereafter.\n const created = await apolloClient.mutate<{ createDashboardEmbedPolicy?: EmbedPolicySecret }>({\n mutation: CreateDashboardEmbedPolicyDocument,\n variables: {\n input: {\n dashboardId,\n allowedParentOrigins,\n ...(presentation\n ? {\n presentationTheme: THEME_TO_ENUM[presentation.theme],\n showDashboardTitle: presentation.showTitle,\n }\n : {}),\n },\n },\n });\n const createdSecret = created.data?.createDashboardEmbedPolicy;\n if (!createdSecret) return null;\n\n // Activate it for live embedding (owner attests content-safety).\n const published = await apolloClient.mutate<{ publishDashboardEmbedPolicy?: DashboardEmbedPolicy }>({\n mutation: PublishDashboardEmbedPolicyDocument,\n variables: { policyId: createdSecret.policy.id, contentSafetyAttested },\n });\n const activePolicy = published.data?.publishDashboardEmbedPolicy ?? createdSecret.policy;\n\n const result: EmbedPolicySecret = { ...createdSecret, policy: activePolicy };\n setSecret(result);\n setPolicy(activePolicy);\n return result;\n } catch (err) {\n setError(err instanceof Error ? err : new Error('Failed to publish to web'));\n return null;\n } finally {\n setLoading(false);\n }\n },\n [apolloClient]\n );\n\n const applyPresentation = useCallback(\n async (policyId: string, presentation: EmbedPresentationChoice): Promise<DashboardEmbedPolicy | null> => {\n try {\n setLoading(true);\n setError(null);\n // Presentation is read LIVE at view time by the embed renderer, so simply\n // persisting the choices on the policy is enough — no re-publish, and the\n // embed link/key are untouched. Live embeds pick up the change on their\n // next render (bounded by the service's short render-cache window).\n const result = await apolloClient.mutate<{ updateDashboardEmbedPolicy?: DashboardEmbedPolicy }>({\n mutation: UpdateDashboardEmbedPolicyDocument,\n variables: {\n input: {\n policyId,\n presentationTheme: THEME_TO_ENUM[presentation.theme],\n showDashboardTitle: presentation.showTitle,\n },\n },\n });\n const updated = result.data?.updateDashboardEmbedPolicy ?? null;\n if (updated) setPolicy(updated);\n return updated;\n } catch (err) {\n setError(err instanceof Error ? err : new Error('Failed to update presentation'));\n return null;\n } finally {\n setLoading(false);\n }\n },\n [apolloClient]\n );\n\n const setAllowedOrigins = useCallback(\n async (policyId: string, allowedParentOrigins: string[]): Promise<DashboardEmbedPolicy | null> => {\n try {\n setLoading(true);\n setError(null);\n const result = await apolloClient.mutate<{ updateDashboardEmbedPolicy?: DashboardEmbedPolicy }>({\n mutation: UpdateDashboardEmbedPolicyDocument,\n variables: { input: { policyId, allowedParentOrigins } },\n });\n const updated = result.data?.updateDashboardEmbedPolicy ?? null;\n if (updated) setPolicy(updated);\n return updated;\n } catch (err) {\n setError(err instanceof Error ? err : new Error('Failed to update allowed domains'));\n return null;\n } finally {\n setLoading(false);\n }\n },\n [apolloClient]\n );\n\n const rotateKey = useCallback(\n async (policyId: string): Promise<EmbedPolicySecret | null> => {\n try {\n setLoading(true);\n setError(null);\n const result = await apolloClient.mutate<{ rotateDashboardEmbedPolicy?: EmbedPolicySecret }>({\n mutation: RotateDashboardEmbedPolicyDocument,\n variables: { policyId },\n });\n const rotated = result.data?.rotateDashboardEmbedPolicy ?? null;\n if (rotated) {\n setSecret(rotated);\n setPolicy(rotated.policy);\n }\n return rotated;\n } catch (err) {\n setError(err instanceof Error ? err : new Error('Failed to rotate embed link'));\n return null;\n } finally {\n setLoading(false);\n }\n },\n [apolloClient]\n );\n\n const unpublish = useCallback(\n async (policyId: string): Promise<boolean> => {\n try {\n setLoading(true);\n setError(null);\n const result = await apolloClient.mutate<{ revokeDashboardEmbedPolicy?: DashboardEmbedPolicy }>({\n mutation: RevokeDashboardEmbedPolicyDocument,\n variables: { policyId },\n });\n const revoked = result.data?.revokeDashboardEmbedPolicy ?? null;\n if (revoked) {\n setPolicy(revoked);\n setSecret(null);\n return true;\n }\n return false;\n } catch (err) {\n setError(err instanceof Error ? err : new Error('Failed to unpublish'));\n return false;\n } finally {\n setLoading(false);\n }\n },\n [apolloClient]\n );\n\n return {\n policy,\n secret,\n loading,\n error,\n fetchPolicy,\n publishToWeb,\n applyPresentation,\n setAllowedOrigins,\n rotateKey,\n unpublish,\n };\n}\n\nexport default useDashboardEmbedPolicy;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDashboardImageExport.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/hooks/useDashboardImageExport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,MAAM,WAAW,8BAA8B;IAC7C,4DAA4D;IAC5D,YAAY,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC5C,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,6BAA6B;IAC5C,oDAAoD;IACpD,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,mFAAmF;IACnF,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;CACtB;AAwED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,6BAA6B,CA6D9G;AAED,eAAe,uBAAuB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDashboardImageExport.js","names":[],"sources":["../../../src/bigconsole/hooks/useDashboardImageExport.ts"],"sourcesContent":["/**\n * useDashboardImageExport\n *\n * Exports a whole dashboard board to a single PNG \"board-pack\" image by\n * rasterizing the live board container. Dependency-free: prefers a\n * page-provided `html2canvas` (loaded globally by the host shell when present),\n * otherwise falls back to compositing the board's SVG charts onto a canvas —\n * the same strategy `useWidgetExport` uses for single widgets.\n *\n * `exportPDF` rasterizes the board and prints *just that image* from a new\n * window, so the browser's \"Save as PDF\" produces a clean board-pack PDF with\n * no app chrome. This is intentionally dependency-free: this MFE declares its\n * runtime libs as peerDependencies (provided by the host shell), so bundling a\n * PDF engine here would require host-shell coordination. A library-based vector\n * PDF can be layered on later via the host shell if needed.\n */\n\nimport { useCallback, useState, type RefObject } from 'react';\n\nexport interface UseDashboardImageExportOptions {\n /** Ref to the board/grid container element to rasterize. */\n containerRef: RefObject<HTMLElement | null>;\n /** Human-readable dashboard name, used for the download filename. */\n name?: string;\n}\n\nexport interface UseDashboardImageExportResult {\n /** Export the whole board as a single PNG image. */\n exportPNG: (filename?: string) => Promise<void>;\n /** Export the board as a PDF via the browser's print-to-PDF (board image only). */\n exportPDF: () => Promise<void>;\n isExporting: boolean;\n}\n\nfunction downloadBlob(blob: Blob, filename: string): void {\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = filename;\n a.click();\n URL.revokeObjectURL(url);\n}\n\n/**\n * Resolve a concrete background fill for the export canvas. Prefers the\n * element's own computed background, then the resolved `--color-bg-surface`\n * theme token, then a transparent canvas — no raw color literals.\n */\nfunction resolveCanvasBackground(element: HTMLElement): string {\n const own = getComputedStyle(element).backgroundColor;\n // Treat keyword \"transparent\" or a fully-transparent rgba (alpha 0, i.e. a\n // value ending in \", 0)\") as \"no own background\" and fall back to the token.\n const isTransparent = !own || own === 'transparent' || /,\\s*0\\)\\s*$/.test(own);\n if (!isTransparent) return own;\n const token = getComputedStyle(document.documentElement).getPropertyValue('--color-bg-surface').trim();\n return token || 'transparent';\n}\n\n/** Rasterize an element to a canvas (html2canvas when available, SVG composite otherwise). */\nasync function elementToCanvas(element: HTMLElement): Promise<HTMLCanvasElement> {\n if (typeof window !== 'undefined' && 'html2canvas' in window) {\n // @ts-expect-error - html2canvas is loaded dynamically by the host shell\n return (await window.html2canvas(element, {\n backgroundColor: resolveCanvasBackground(element),\n scale: 2,\n useCORS: true,\n })) as HTMLCanvasElement;\n }\n\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext('2d');\n if (!ctx) throw new Error('Could not get canvas context');\n\n const rect = element.getBoundingClientRect();\n canvas.width = rect.width * 2;\n canvas.height = rect.height * 2;\n ctx.scale(2, 2);\n ctx.fillStyle = resolveCanvasBackground(element);\n ctx.fillRect(0, 0, rect.width, rect.height);\n\n // Composite each SVG chart at its on-screen position.\n const svgs = element.querySelectorAll('svg');\n for (const svg of svgs) {\n const svgData = new XMLSerializer().serializeToString(svg);\n const svgBlob = new Blob([svgData], { type: 'image/svg+xml;charset=utf-8' });\n const url = URL.createObjectURL(svgBlob);\n try {\n await new Promise<void>((resolve) => {\n const img = new Image();\n img.onload = () => {\n const svgRect = svg.getBoundingClientRect();\n ctx.drawImage(img, svgRect.left - rect.left, svgRect.top - rect.top);\n resolve();\n };\n img.onerror = () => resolve();\n img.src = url;\n });\n } finally {\n URL.revokeObjectURL(url);\n }\n }\n return canvas;\n}\n\nexport function useDashboardImageExport(options: UseDashboardImageExportOptions): UseDashboardImageExportResult {\n const { containerRef, name = 'dashboard' } = options;\n const [isExporting, setIsExporting] = useState(false);\n\n const exportPNG = useCallback(\n async (filename?: string) => {\n const el = containerRef.current;\n if (!el || isExporting) return;\n setIsExporting(true);\n try {\n const canvas = await elementToCanvas(el);\n const blob = await new Promise<Blob>((resolve, reject) => {\n canvas.toBlob((b) => (b ? resolve(b) : reject(new Error('Failed to create image blob'))), 'image/png');\n });\n const base = name.replace(/\\s+/g, '_').toLowerCase();\n downloadBlob(blob, filename || `${base}_board.png`);\n } finally {\n setIsExporting(false);\n }\n },\n [containerRef, name, isExporting]\n );\n\n const exportPDF = useCallback(async () => {\n const el = containerRef.current;\n if (!el || isExporting) return;\n setIsExporting(true);\n try {\n const canvas = await elementToCanvas(el);\n const imgData = canvas.toDataURL('image/png');\n const title = `${name} — board`;\n // Print just the board image from an isolated window, so \"Save as PDF\"\n // yields a clean board-pack with no app chrome. Falls back to printing the\n // current page if the popup is blocked. Built via DOM APIs (no\n // document.write) so the user-controlled dashboard `name` can never be\n // interpreted as markup.\n const win = window.open('', '_blank');\n if (!win) {\n window.print();\n return;\n }\n const orientation = canvas.width >= canvas.height ? 'landscape' : 'portrait';\n const doc = win.document;\n doc.title = title; // assigned as text, never parsed as HTML\n const style = doc.createElement('style');\n style.textContent = `@page{size:${orientation};margin:12mm}html,body{margin:0;padding:0}img{width:100%;height:auto;display:block}`;\n doc.head.appendChild(style);\n const img = doc.createElement('img');\n img.alt = title;\n img.addEventListener('load', () => {\n win.focus();\n win.print();\n });\n img.src = imgData; // trusted data: URL from our own canvas\n doc.body.appendChild(img);\n } finally {\n setIsExporting(false);\n }\n }, [containerRef, name, isExporting]);\n\n return { exportPNG, exportPDF, isExporting };\n}\n\nexport default useDashboardImageExport;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDashboardLayoutBaseline.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/hooks/useDashboardLayoutBaseline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAML,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,uBAAuB;IACtC,0GAA0G;IAC1G,KAAK,EAAE,OAAO,CAAC;IACf;;;;;OAKG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,EAAE,kBAAkB,EAAE,MAAM,KAAK,IAAI,CAAC;CAClF;AAED,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,uBAAuB,CA0BnG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDashboardLayoutBaseline.js","names":[],"sources":["../../../src/bigconsole/hooks/useDashboardLayoutBaseline.ts"],"sourcesContent":["/**\n * useDashboardLayoutBaseline (BOFF-8060, N3/N4: the dashboard leave guard)\n *\n * The React shell around `utils/layoutBaseline.ts`: \"does the dashboard builder\n * hold moved or resized widgets that are not saved yet?\". The rules, and why a\n * layout event alone is not a dirty signal, are documented there; this file only\n * feeds the reducer from the widget store and exposes the answer.\n *\n * ★ It reads the store, never the grid. The canvas does not hand react-grid-layout\n * an `onLayoutChange` (`DashboardGrid` wires `onDragStop` / `onResizeStop` only,\n * with `compactType={null}`), so mount and compaction events never reach the store\n * at all; what does reach it is load, create, delete, save write-back (all\n * absorbed while the baseline floats) and the person's placements (which freeze\n * it, through `layoutEditRevision`).\n */\n\nimport { useCallback, useEffect, useMemo, useReducer, useState } from 'react';\nimport { useWidgetStore } from '../store';\nimport {\n INITIAL_LAYOUT_BASELINE,\n isLayoutBaselineDirty,\n layoutFromWidgets,\n normaliseLayout,\n reduceLayoutBaseline,\n type LayoutItem,\n} from '../utils/layoutBaseline';\n\nexport interface DashboardLayoutBaseline {\n /** The board's positions differ from the last loaded or saved ones, because a person placed something. */\n dirty: boolean;\n /**\n * Re-take the baseline after the positions reached the server. `sent` is exactly\n * what was sent; `editRevisionAtSave` is `layoutEditRevision` read BEFORE the\n * request began, so a placement made while it was in flight stays dirty.\n * Call it on success only: a failed save must leave the layout dirty.\n */\n markSaved: (sent: ReadonlyArray<LayoutItem>, editRevisionAtSave: number) => void;\n}\n\nexport function useDashboardLayoutBaseline(dashboardId: string | undefined): DashboardLayoutBaseline {\n const widgets = useWidgetStore((state) => state.widgets);\n const editRevision = useWidgetStore((state) => state.layoutEditRevision);\n const [baseline, dispatch] = useReducer(reduceLayoutBaseline, INITIAL_LAYOUT_BASELINE);\n\n const layout = useMemo(() => layoutFromWidgets(widgets.values()), [widgets]);\n\n // A different dashboard on the same mounted page (the route param changed):\n // forget the old baseline in the SAME render, so the old dashboard's frozen\n // baseline is never compared against the new one's widgets. This is React's\n // \"adjust state when a prop changes\" pattern; the effect below then re-seeds it.\n const [trackedDashboardId, setTrackedDashboardId] = useState(dashboardId);\n if (trackedDashboardId !== dashboardId) {\n setTrackedDashboardId(dashboardId);\n dispatch({ type: 'reset' });\n }\n\n useEffect(() => {\n dispatch({ type: 'observe', layout, editRevision });\n }, [dashboardId, layout, editRevision]);\n\n const markSaved = useCallback((sent: ReadonlyArray<LayoutItem>, editRevisionAtSave: number) => {\n dispatch({ type: 'saved', layout: normaliseLayout(sent), editRevision: editRevisionAtSave });\n }, []);\n\n return { dirty: isLayoutBaselineDirty(baseline, layout), markSaved };\n}\n"],"mappings":";;;;;AAuCA,SAAgB,EAA2B,GAA0D;CACnG,IAAM,IAAU,GAAgB,MAAU,EAAM,QAAQ,EAClD,IAAe,GAAgB,MAAU,EAAM,mBAAmB,EAClE,CAAC,GAAU,KAAY,EAAW,GAAsB,EAAwB,EAEhF,IAAS,QAAc,EAAkB,EAAQ,QAAQ,CAAC,EAAE,CAAC,EAAQ,CAAC,EAMtE,CAAC,GAAoB,KAAyB,EAAS,EAAY;AAMzE,CALI,MAAuB,MACzB,EAAsB,EAAY,EAClC,EAAS,EAAE,MAAM,SAAS,CAAC,GAG7B,QAAgB;AACd,IAAS;GAAE,MAAM;GAAW;GAAQ;GAAc,CAAC;IAClD;EAAC;EAAa;EAAQ;EAAa,CAAC;CAEvC,IAAM,IAAY,GAAa,GAAiC,MAA+B;AAC7F,IAAS;GAAE,MAAM;GAAS,QAAQ,EAAgB,EAAK;GAAE,cAAc;GAAoB,CAAC;IAC3F,EAAE,CAAC;AAEN,QAAO;EAAE,OAAO,EAAsB,GAAU,EAAO;EAAE;EAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useDashboardOperations.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/hooks/useDashboardOperations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAyB,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAiBtF;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,UAAU,oBAAoB;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,mBAAmB,CAAC;CAClC;AAED,UAAU,qBAAqB;IAC7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,yBAAyB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,gBAAgB,EAAE,SAAS,GAAG,IAAI,CAAC;IAGnC,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC3F,eAAe,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC5E,eAAe,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC5E,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,cAAc,EAAE,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IACvF,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAyID,MAAM,WAAW,6BAA6B;IAC5C;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAiB,GAClB,GAAE,6BAAkC,GAAG,yBAAyB,CAkShE;AAED,eAAe,sBAAsB,CAAC"}