@burdenoff/microfe-bigconsole 2026.1008.12 → 2026.1008.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1452) hide show
  1. package/README.md +3 -0
  2. package/dist/bigconsole/AdminRoot.d.ts +0 -1
  3. package/dist/bigconsole/AdminRoot.js +0 -2
  4. package/dist/bigconsole/AdminRoutes.d.ts +0 -1
  5. package/dist/bigconsole/AdminRoutes.js +0 -2
  6. package/dist/bigconsole/BigConsoleRoot.d.ts +0 -1
  7. package/dist/bigconsole/BigConsoleRoot.js +0 -2
  8. package/dist/bigconsole/BigConsoleRoutes.d.ts +0 -1
  9. package/dist/bigconsole/BigConsoleRoutes.js +0 -2
  10. package/dist/bigconsole/assistant/assistantApi.d.ts +0 -1
  11. package/dist/bigconsole/assistant/assistantApi.js +0 -2
  12. package/dist/bigconsole/assistant/assistantProduct.d.ts +0 -1
  13. package/dist/bigconsole/assistant/assistantProduct.js +0 -2
  14. package/dist/bigconsole/assistant/assistantPrompt.d.ts +0 -1
  15. package/dist/bigconsole/assistant/assistantPrompt.js +0 -2
  16. package/dist/bigconsole/assistant/assistantRunPersistence.d.ts +0 -1
  17. package/dist/bigconsole/assistant/assistantRunPersistence.js +0 -2
  18. package/dist/bigconsole/assistant/assistantRunStore.d.ts +0 -1
  19. package/dist/bigconsole/assistant/assistantRunStore.js +0 -2
  20. package/dist/bigconsole/assistant/assistantRuntime.d.ts +0 -1
  21. package/dist/bigconsole/assistant/assistantRuntime.js +0 -2
  22. package/dist/bigconsole/assistant/attachmentExtract.d.ts +0 -1
  23. package/dist/bigconsole/assistant/attachmentExtract.js +0 -2
  24. package/dist/bigconsole/assistant/conversationHistoryApi.d.ts +0 -1
  25. package/dist/bigconsole/assistant/conversationHistoryApi.js +0 -2
  26. package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts +0 -1
  27. package/dist/bigconsole/assistant/createSandboxAssistantTransport.js +0 -2
  28. package/dist/bigconsole/assistant/displayCopy.d.ts +0 -1
  29. package/dist/bigconsole/assistant/index.d.ts +0 -1
  30. package/dist/bigconsole/assistant/modes.d.ts +0 -1
  31. package/dist/bigconsole/assistant/modes.js +0 -2
  32. package/dist/bigconsole/assistant/pageContext.d.ts +0 -1
  33. package/dist/bigconsole/assistant/pageContext.js +0 -2
  34. package/dist/bigconsole/assistant/previewController.d.ts +0 -1
  35. package/dist/bigconsole/assistant/previewController.js +0 -2
  36. package/dist/bigconsole/assistant/previewMutationResult.d.ts +0 -1
  37. package/dist/bigconsole/assistant/previewMutationResult.js +0 -2
  38. package/dist/bigconsole/assistant/previewRunAction.d.ts +0 -1
  39. package/dist/bigconsole/assistant/previewRunAction.js +0 -2
  40. package/dist/bigconsole/assistant/product.d.ts +0 -1
  41. package/dist/bigconsole/assistant/product.js +0 -2
  42. package/dist/bigconsole/assistant/recordAdapters.d.ts +0 -1
  43. package/dist/bigconsole/assistant/recordAdapters.js +0 -2
  44. package/dist/bigconsole/assistant/types.d.ts +0 -1
  45. package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts +0 -1
  46. package/dist/bigconsole/assistant/useAssistantRunWorkspace.js +0 -2
  47. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts +0 -1
  48. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js +0 -2
  49. package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts +0 -1
  50. package/dist/bigconsole/components/DrilldownDashboardRenderer.js +0 -2
  51. package/dist/bigconsole/components/DrilldownModal.d.ts +0 -1
  52. package/dist/bigconsole/components/DrilldownModal.js +0 -2
  53. package/dist/bigconsole/components/builder/BuilderCanvas.d.ts +0 -1
  54. package/dist/bigconsole/components/builder/BuilderCanvas.js +0 -2
  55. package/dist/bigconsole/components/builder/BuilderTopbar.d.ts +0 -1
  56. package/dist/bigconsole/components/builder/BuilderTopbar.js +0 -2
  57. package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts +0 -1
  58. package/dist/bigconsole/components/builder/DashboardEditorShell.js +0 -2
  59. package/dist/bigconsole/components/builder/WidgetInspector.d.ts +0 -1
  60. package/dist/bigconsole/components/builder/WidgetInspector.js +0 -2
  61. package/dist/bigconsole/components/builder/index.d.ts +0 -1
  62. package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts +0 -1
  63. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +0 -2
  64. package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts +0 -1
  65. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +0 -2
  66. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts +0 -1
  67. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +0 -2
  68. package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts +0 -1
  69. package/dist/bigconsole/components/builder/inspector/GeneralSection.js +0 -2
  70. package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts +0 -1
  71. package/dist/bigconsole/components/builder/inspector/LayoutSection.js +0 -2
  72. package/dist/bigconsole/components/builder/inspector/index.d.ts +0 -1
  73. package/dist/bigconsole/components/common/Section.d.ts +0 -1
  74. package/dist/bigconsole/components/common/Section.js +0 -2
  75. package/dist/bigconsole/components/common/index.d.ts +0 -1
  76. package/dist/bigconsole/components/common/sectionStyles.d.ts +0 -1
  77. package/dist/bigconsole/components/common/sectionStyles.js +0 -2
  78. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts +0 -1
  79. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +0 -2
  80. package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts +0 -1
  81. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +0 -2
  82. package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts +0 -1
  83. package/dist/bigconsole/components/dashboard/DashboardGrid.js +0 -2
  84. package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts +0 -1
  85. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js +0 -2
  86. package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts +0 -1
  87. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +0 -2
  88. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts +0 -1
  89. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +0 -2
  90. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts +0 -1
  91. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +0 -2
  92. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts +0 -1
  93. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +0 -2
  94. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts +0 -1
  95. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +0 -2
  96. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts +0 -1
  97. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +0 -2
  98. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts +0 -1
  99. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +0 -2
  100. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts +0 -1
  101. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts +0 -1
  102. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +0 -2
  103. package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts +0 -1
  104. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +0 -2
  105. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts +0 -1
  106. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js +0 -2
  107. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts +0 -1
  108. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +0 -2
  109. package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts +0 -1
  110. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts +0 -1
  111. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +0 -2
  112. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts +0 -1
  113. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +0 -2
  114. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts +0 -1
  115. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts +0 -1
  116. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +0 -2
  117. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts +0 -1
  118. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +0 -2
  119. package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts +0 -1
  120. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts +0 -1
  121. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +0 -2
  122. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts +0 -1
  123. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +0 -2
  124. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts +0 -1
  125. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +0 -2
  126. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts +0 -1
  127. package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts +0 -1
  128. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts +0 -1
  129. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +0 -2
  130. package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts +0 -1
  131. package/dist/bigconsole/components/dashboard/WidgetPalette.js +0 -2
  132. package/dist/bigconsole/components/dashboard/index.d.ts +0 -1
  133. package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts +0 -1
  134. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +0 -2
  135. package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts +0 -1
  136. package/dist/bigconsole/components/datasink/AlertRuleEditor.js +0 -2
  137. package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts +0 -1
  138. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +0 -2
  139. package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts +0 -1
  140. package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts +0 -1
  141. package/dist/bigconsole/components/datasink/DataSinkCard.d.ts +0 -1
  142. package/dist/bigconsole/components/datasink/DataSinkCard.js +0 -2
  143. package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts +0 -1
  144. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +0 -2
  145. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts +0 -1
  146. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +0 -2
  147. package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts +0 -1
  148. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts +0 -1
  149. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +0 -2
  150. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts +0 -1
  151. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +0 -2
  152. package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts +0 -1
  153. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +0 -2
  154. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts +0 -1
  155. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +0 -2
  156. package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts +0 -1
  157. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts +0 -1
  158. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +0 -2
  159. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts +0 -1
  160. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +0 -2
  161. package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts +0 -1
  162. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +0 -2
  163. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts +0 -1
  164. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +0 -2
  165. package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts +0 -1
  166. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +0 -2
  167. package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts +0 -1
  168. package/dist/bigconsole/components/datasink/SetupStateBadge.js +0 -2
  169. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts +0 -1
  170. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +0 -2
  171. package/dist/bigconsole/components/datasink/index.d.ts +0 -1
  172. package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts +0 -1
  173. package/dist/bigconsole/components/embed/EmbedErrorBoundary.js +0 -2
  174. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts +0 -1
  175. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js +0 -2
  176. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts +0 -1
  177. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js +0 -2
  178. package/dist/bigconsole/components/embed/drilldown.d.ts +0 -1
  179. package/dist/bigconsole/components/embed/drilldown.js +0 -2
  180. package/dist/bigconsole/components/embed/index.d.ts +0 -1
  181. package/dist/bigconsole/components/embed/renderer-manifest.d.ts +0 -1
  182. package/dist/bigconsole/components/embed/renderer-manifest.js +0 -2
  183. package/dist/bigconsole/components/embed/types.d.ts +0 -1
  184. package/dist/bigconsole/components/embed/types.js +0 -2
  185. package/dist/bigconsole/components/embed/validate.d.ts +0 -1
  186. package/dist/bigconsole/components/embed/validate.js +0 -2
  187. package/dist/bigconsole/components/embed/widgetShim.d.ts +0 -1
  188. package/dist/bigconsole/components/embed/widgetShim.js +0 -2
  189. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts +0 -1
  190. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js +0 -2
  191. package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts +0 -1
  192. package/dist/bigconsole/components/embed/widgets/ChartEmbed.js +0 -2
  193. package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts +0 -1
  194. package/dist/bigconsole/components/embed/widgets/EmbedFrame.js +0 -2
  195. package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts +0 -1
  196. package/dist/bigconsole/components/embed/widgets/FormEmbed.js +0 -2
  197. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts +0 -1
  198. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js +0 -2
  199. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts +0 -1
  200. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js +0 -2
  201. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts +0 -1
  202. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js +0 -2
  203. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts +0 -1
  204. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js +0 -2
  205. package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts +0 -1
  206. package/dist/bigconsole/components/embed/widgets/ListEmbed.js +0 -2
  207. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts +0 -1
  208. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js +0 -2
  209. package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts +0 -1
  210. package/dist/bigconsole/components/embed/widgets/PivotEmbed.js +0 -2
  211. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts +0 -1
  212. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js +0 -2
  213. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts +0 -1
  214. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js +0 -2
  215. package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts +0 -1
  216. package/dist/bigconsole/components/embed/widgets/TableEmbed.js +0 -2
  217. package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts +0 -1
  218. package/dist/bigconsole/components/embed/widgets/TextEmbed.js +0 -2
  219. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts +0 -1
  220. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js +0 -2
  221. package/dist/bigconsole/components/embed/widgets/shared.d.ts +0 -1
  222. package/dist/bigconsole/components/embed/widgets/shared.js +0 -2
  223. package/dist/bigconsole/components/overview/DashboardGuide.d.ts +0 -1
  224. package/dist/bigconsole/components/overview/DashboardGuide.js +0 -2
  225. package/dist/bigconsole/components/overview/DataHealthCard.d.ts +0 -1
  226. package/dist/bigconsole/components/overview/DataHealthCard.js +0 -2
  227. package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts +0 -1
  228. package/dist/bigconsole/components/overview/OverviewQuickActions.js +0 -2
  229. package/dist/bigconsole/components/overview/OverviewStatCard.d.ts +0 -1
  230. package/dist/bigconsole/components/overview/OverviewStatCard.js +0 -2
  231. package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts +0 -1
  232. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js +0 -2
  233. package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts +0 -1
  234. package/dist/bigconsole/components/overview/dashboardGuideSteps.js +0 -2
  235. package/dist/bigconsole/components/overview/index.d.ts +0 -1
  236. package/dist/bigconsole/components/overview/overviewModel.d.ts +0 -1
  237. package/dist/bigconsole/components/overview/overviewModel.js +0 -2
  238. package/dist/bigconsole/components/overview/useOverviewData.d.ts +0 -1
  239. package/dist/bigconsole/components/overview/useOverviewData.js +0 -2
  240. package/dist/bigconsole/components/parser/DataSinkSelector.d.ts +0 -1
  241. package/dist/bigconsole/components/parser/DataSinkSelector.js +0 -2
  242. package/dist/bigconsole/components/parser/ExportParserDialog.d.ts +0 -1
  243. package/dist/bigconsole/components/parser/ExportParserDialog.js +0 -2
  244. package/dist/bigconsole/components/parser/ExpressionEditor.d.ts +0 -1
  245. package/dist/bigconsole/components/parser/ExpressionEditor.js +0 -2
  246. package/dist/bigconsole/components/parser/ImportParserDialog.d.ts +0 -1
  247. package/dist/bigconsole/components/parser/ImportParserDialog.js +0 -2
  248. package/dist/bigconsole/components/parser/ParserBuilder.d.ts +0 -1
  249. package/dist/bigconsole/components/parser/ParserCard.d.ts +0 -1
  250. package/dist/bigconsole/components/parser/ParserCard.js +0 -2
  251. package/dist/bigconsole/components/parser/ParserFormDialog.d.ts +0 -1
  252. package/dist/bigconsole/components/parser/ParserSelector.d.ts +0 -1
  253. package/dist/bigconsole/components/parser/ParserSelector.js +0 -2
  254. package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts +0 -1
  255. package/dist/bigconsole/components/parser/ParserStatusBadge.js +0 -2
  256. package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts +0 -1
  257. package/dist/bigconsole/components/parser/ParserTypeBadge.js +0 -2
  258. package/dist/bigconsole/components/parser/TestPanel.d.ts +0 -1
  259. package/dist/bigconsole/components/parser/index.d.ts +0 -1
  260. package/dist/bigconsole/components/parser/parserFieldStyles.d.ts +0 -1
  261. package/dist/bigconsole/components/pipeline/PipelineCard.d.ts +0 -1
  262. package/dist/bigconsole/components/pipeline/PipelineCard.js +0 -2
  263. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts +0 -1
  264. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +0 -2
  265. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts +0 -1
  266. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +0 -2
  267. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts +0 -1
  268. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +0 -2
  269. package/dist/bigconsole/components/pipeline/index.d.ts +0 -1
  270. package/dist/bigconsole/components/preview/AiPreviewContent.d.ts +0 -1
  271. package/dist/bigconsole/components/preview/AiPreviewContent.js +0 -2
  272. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts +0 -1
  273. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +0 -2
  274. package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts +0 -1
  275. package/dist/bigconsole/components/preview/AiPreviewPanel.js +0 -2
  276. package/dist/bigconsole/components/preview/parserPreview.d.ts +0 -1
  277. package/dist/bigconsole/components/preview/parserPreview.js +0 -2
  278. package/dist/bigconsole/components/preview/previewShared.d.ts +0 -1
  279. package/dist/bigconsole/components/preview/previewShared.js +0 -2
  280. package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts +0 -1
  281. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +0 -2
  282. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts +0 -1
  283. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +0 -2
  284. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts +0 -1
  285. package/dist/bigconsole/components/widgets/PropertiesPanel.js +505 -506
  286. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts +0 -1
  287. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +0 -2
  288. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts +0 -1
  289. package/dist/bigconsole/components/widgets/WidgetHeader.js +0 -2
  290. package/dist/bigconsole/components/widgets/WidgetMenu.d.ts +0 -1
  291. package/dist/bigconsole/components/widgets/WidgetMenu.js +0 -2
  292. package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts +0 -1
  293. package/dist/bigconsole/components/widgets/WidgetRegistry.js +0 -2
  294. package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts +0 -1
  295. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts +0 -1
  296. package/dist/bigconsole/components/widgets/WidgetWrapper.js +0 -2
  297. package/dist/bigconsole/components/widgets/actionConfig.d.ts +0 -1
  298. package/dist/bigconsole/components/widgets/actionConfig.js +0 -2
  299. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts +0 -1
  300. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +0 -2
  301. package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts +0 -1
  302. package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts +0 -1
  303. package/dist/bigconsole/components/widgets/calendar/CalendarView.js +0 -2
  304. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts +0 -1
  305. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +0 -2
  306. package/dist/bigconsole/components/widgets/calendar/index.d.ts +0 -1
  307. package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts +0 -1
  308. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +0 -2
  309. package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts +0 -1
  310. package/dist/bigconsole/components/widgets/chart/ChartLegend.js +0 -2
  311. package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts +0 -1
  312. package/dist/bigconsole/components/widgets/chart/ChartTooltip.js +0 -2
  313. package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts +0 -1
  314. package/dist/bigconsole/components/widgets/chart/ChartWidget.js +0 -2
  315. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts +0 -1
  316. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js +0 -2
  317. package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts +0 -1
  318. package/dist/bigconsole/components/widgets/chart/charts/BarChart.js +0 -2
  319. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts +0 -1
  320. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js +0 -2
  321. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts +0 -1
  322. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js +0 -2
  323. package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts +0 -1
  324. package/dist/bigconsole/components/widgets/chart/charts/LineChart.js +0 -2
  325. package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts +0 -1
  326. package/dist/bigconsole/components/widgets/chart/charts/PieChart.js +0 -2
  327. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts +0 -1
  328. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js +0 -2
  329. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts +0 -1
  330. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js +0 -2
  331. package/dist/bigconsole/components/widgets/chart/charts/index.d.ts +0 -1
  332. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts +0 -1
  333. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js +0 -2
  334. package/dist/bigconsole/components/widgets/chart/charts/types.d.ts +0 -1
  335. package/dist/bigconsole/components/widgets/chart/index.d.ts +0 -1
  336. package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts +0 -1
  337. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +0 -2
  338. package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts +0 -1
  339. package/dist/bigconsole/components/widgets/custom/CustomWidget.js +0 -2
  340. package/dist/bigconsole/components/widgets/custom/config.d.ts +0 -1
  341. package/dist/bigconsole/components/widgets/custom/config.js +0 -2
  342. package/dist/bigconsole/components/widgets/custom/index.d.ts +0 -1
  343. package/dist/bigconsole/components/widgets/custom/utils.d.ts +0 -1
  344. package/dist/bigconsole/components/widgets/custom/utils.js +0 -2
  345. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts +0 -1
  346. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +0 -2
  347. package/dist/bigconsole/components/widgets/event-logs/index.d.ts +0 -1
  348. package/dist/bigconsole/components/widgets/form/FormWidget.d.ts +0 -1
  349. package/dist/bigconsole/components/widgets/form/FormWidget.js +0 -2
  350. package/dist/bigconsole/components/widgets/form/index.d.ts +0 -1
  351. package/dist/bigconsole/components/widgets/funnel/index.d.ts +0 -1
  352. package/dist/bigconsole/components/widgets/funnel/index.js +0 -2
  353. package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts +0 -1
  354. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +0 -2
  355. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts +0 -1
  356. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +0 -2
  357. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts +0 -1
  358. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +0 -2
  359. package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts +0 -1
  360. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +0 -2
  361. package/dist/bigconsole/components/widgets/gauge/index.d.ts +0 -1
  362. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts +0 -1
  363. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +0 -2
  364. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts +0 -1
  365. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js +0 -2
  366. package/dist/bigconsole/components/widgets/heatmap/index.d.ts +0 -1
  367. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts +0 -1
  368. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +0 -2
  369. package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts +0 -1
  370. package/dist/bigconsole/components/widgets/index.d.ts +0 -1
  371. package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts +0 -1
  372. package/dist/bigconsole/components/widgets/kanban/KanbanView.js +0 -2
  373. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts +0 -1
  374. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +0 -2
  375. package/dist/bigconsole/components/widgets/kanban/index.d.ts +0 -1
  376. package/dist/bigconsole/components/widgets/kanban/model.d.ts +0 -1
  377. package/dist/bigconsole/components/widgets/kanban/model.js +0 -2
  378. package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts +0 -1
  379. package/dist/bigconsole/components/widgets/kpi/KPIWidget.js +0 -2
  380. package/dist/bigconsole/components/widgets/kpi/index.d.ts +0 -1
  381. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts +0 -1
  382. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +0 -2
  383. package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts +0 -1
  384. package/dist/bigconsole/components/widgets/list/ListConfig.d.ts +0 -1
  385. package/dist/bigconsole/components/widgets/list/ListConfig.js +0 -2
  386. package/dist/bigconsole/components/widgets/list/ListItem.d.ts +0 -1
  387. package/dist/bigconsole/components/widgets/list/ListItem.js +0 -2
  388. package/dist/bigconsole/components/widgets/list/ListWidget.d.ts +0 -1
  389. package/dist/bigconsole/components/widgets/list/ListWidget.js +0 -2
  390. package/dist/bigconsole/components/widgets/list/index.d.ts +0 -1
  391. package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts +0 -1
  392. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +0 -2
  393. package/dist/bigconsole/components/widgets/map-widget/index.d.ts +0 -1
  394. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts +0 -1
  395. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js +0 -2
  396. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts +0 -1
  397. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +0 -2
  398. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts +0 -1
  399. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +0 -2
  400. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts +0 -1
  401. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +0 -2
  402. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts +0 -1
  403. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +0 -2
  404. package/dist/bigconsole/components/widgets/metric-card/index.d.ts +0 -1
  405. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts +0 -1
  406. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +0 -2
  407. package/dist/bigconsole/components/widgets/pivot-table/index.d.ts +0 -1
  408. package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts +0 -1
  409. package/dist/bigconsole/components/widgets/progress/ProgressBar.js +0 -2
  410. package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts +0 -1
  411. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +0 -2
  412. package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts +0 -1
  413. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +0 -2
  414. package/dist/bigconsole/components/widgets/progress/index.d.ts +0 -1
  415. package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts +0 -1
  416. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +0 -2
  417. package/dist/bigconsole/components/widgets/retention/index.d.ts +0 -1
  418. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts +0 -1
  419. package/dist/bigconsole/components/widgets/states/EmptyState.js +0 -2
  420. package/dist/bigconsole/components/widgets/states/ErrorState.d.ts +0 -1
  421. package/dist/bigconsole/components/widgets/states/ErrorState.js +0 -2
  422. package/dist/bigconsole/components/widgets/states/LoadingState.d.ts +0 -1
  423. package/dist/bigconsole/components/widgets/states/LoadingState.js +0 -2
  424. package/dist/bigconsole/components/widgets/states/index.d.ts +0 -1
  425. package/dist/bigconsole/components/widgets/table/TableCell.d.ts +0 -1
  426. package/dist/bigconsole/components/widgets/table/TableCell.js +0 -2
  427. package/dist/bigconsole/components/widgets/table/TableConfig.d.ts +0 -1
  428. package/dist/bigconsole/components/widgets/table/TableConfig.js +0 -2
  429. package/dist/bigconsole/components/widgets/table/TableHeader.d.ts +0 -1
  430. package/dist/bigconsole/components/widgets/table/TableHeader.js +0 -2
  431. package/dist/bigconsole/components/widgets/table/TablePagination.d.ts +0 -1
  432. package/dist/bigconsole/components/widgets/table/TablePagination.js +0 -2
  433. package/dist/bigconsole/components/widgets/table/TableWidget.d.ts +0 -1
  434. package/dist/bigconsole/components/widgets/table/TableWidget.js +0 -2
  435. package/dist/bigconsole/components/widgets/table/cellLink.d.ts +0 -1
  436. package/dist/bigconsole/components/widgets/table/cellLink.js +0 -2
  437. package/dist/bigconsole/components/widgets/table/index.d.ts +0 -1
  438. package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts +0 -1
  439. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +0 -2
  440. package/dist/bigconsole/components/widgets/text-widget/index.d.ts +0 -1
  441. package/dist/bigconsole/components/widgets/text-widget/textData.d.ts +0 -1
  442. package/dist/bigconsole/components/widgets/text-widget/textData.js +0 -2
  443. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts +0 -1
  444. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +0 -2
  445. package/dist/bigconsole/components/widgets/timeline/index.d.ts +0 -1
  446. package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts +0 -1
  447. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +0 -2
  448. package/dist/bigconsole/components/widgets/utils/inferFields.d.ts +0 -1
  449. package/dist/bigconsole/components/widgets/utils/inferFields.js +0 -2
  450. package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts +0 -1
  451. package/dist/bigconsole/components/widgets/utils/targetProgress.js +0 -2
  452. package/dist/bigconsole/components/widgets/utils/translate.d.ts +0 -1
  453. package/dist/bigconsole/components/widgets/utils/translate.js +0 -2
  454. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts +0 -1
  455. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +0 -2
  456. package/dist/bigconsole/components/widgets/webhook-config/index.d.ts +0 -1
  457. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts +0 -1
  458. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +0 -2
  459. package/dist/bigconsole/components/widgets/widget-actions/index.d.ts +0 -1
  460. package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts +0 -1
  461. package/dist/bigconsole/components/workflow/WorkflowCard.d.ts +0 -1
  462. package/dist/bigconsole/components/workflow/WorkflowCard.js +0 -2
  463. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts +0 -1
  464. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +0 -2
  465. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts +0 -1
  466. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js +0 -2
  467. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts +0 -1
  468. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +0 -2
  469. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts +0 -1
  470. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +0 -2
  471. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts +0 -1
  472. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +0 -2
  473. package/dist/bigconsole/components/workflow/index.d.ts +0 -1
  474. package/dist/bigconsole/constants/backendErrors.d.ts +0 -1
  475. package/dist/bigconsole/constants/backendErrors.js +0 -2
  476. package/dist/bigconsole/constants.d.ts +0 -1
  477. package/dist/bigconsole/constants.js +0 -2
  478. package/dist/bigconsole/context/BigConsoleContext.d.ts +0 -1
  479. package/dist/bigconsole/context/BigConsoleContext.js +0 -2
  480. package/dist/bigconsole/context/index.d.ts +0 -1
  481. package/dist/bigconsole/contexts/CrossFilterContext.d.ts +0 -1
  482. package/dist/bigconsole/contexts/CrossFilterContext.js +0 -2
  483. package/dist/bigconsole/contexts/NavigationContext.d.ts +0 -1
  484. package/dist/bigconsole/contexts/NavigationContext.js +0 -2
  485. package/dist/bigconsole/contexts/index.d.ts +0 -1
  486. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts +0 -1
  487. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +0 -2
  488. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts +0 -1
  489. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +0 -2
  490. package/dist/bigconsole/customWidget/index.d.ts +0 -1
  491. package/dist/bigconsole/customWidget/proposalContract.d.ts +0 -1
  492. package/dist/bigconsole/customWidget/proposalContract.js +0 -2
  493. package/dist/bigconsole/customWidget/proposalSource.d.ts +0 -1
  494. package/dist/bigconsole/customWidget/proposalSource.js +0 -2
  495. package/dist/bigconsole/graphql/apollo-compat.d.ts +0 -1
  496. package/dist/bigconsole/graphql/storeTemplates.d.ts +0 -1
  497. package/dist/bigconsole/graphql/storeTemplates.js +0 -2
  498. package/dist/bigconsole/hooks/index.d.ts +0 -1
  499. package/dist/bigconsole/hooks/useActivePage.d.ts +0 -1
  500. package/dist/bigconsole/hooks/useActivePage.js +0 -2
  501. package/dist/bigconsole/hooks/useAutoRefresh.d.ts +0 -1
  502. package/dist/bigconsole/hooks/useAutoRefresh.js +0 -2
  503. package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts +0 -1
  504. package/dist/bigconsole/hooks/useBigConsoleAnalytics.js +0 -2
  505. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts +0 -1
  506. package/dist/bigconsole/hooks/useBigConsoleSettings.js +0 -2
  507. package/dist/bigconsole/hooks/useCrossFilter.d.ts +0 -1
  508. package/dist/bigconsole/hooks/useCrossFilter.js +0 -2
  509. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts +0 -1
  510. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js +0 -2
  511. package/dist/bigconsole/hooks/useDashboardImageExport.d.ts +0 -1
  512. package/dist/bigconsole/hooks/useDashboardImageExport.js +0 -2
  513. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +0 -1
  514. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +0 -2
  515. package/dist/bigconsole/hooks/useDashboardOperations.d.ts +0 -1
  516. package/dist/bigconsole/hooks/useDashboardOperations.js +0 -2
  517. package/dist/bigconsole/hooks/useDashboardSharing.d.ts +0 -1
  518. package/dist/bigconsole/hooks/useDashboardSharing.js +0 -2
  519. package/dist/bigconsole/hooks/useDashboardTemplates.d.ts +0 -1
  520. package/dist/bigconsole/hooks/useDashboardViews.d.ts +0 -1
  521. package/dist/bigconsole/hooks/useDashboardViews.js +0 -2
  522. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +0 -1
  523. package/dist/bigconsole/hooks/useDataSinkAlerts.js +0 -2
  524. package/dist/bigconsole/hooks/useDataSinkOperations.d.ts +0 -1
  525. package/dist/bigconsole/hooks/useDataSinkOperations.js +0 -2
  526. package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts +0 -1
  527. package/dist/bigconsole/hooks/useDataSinkSubscription.js +0 -2
  528. package/dist/bigconsole/hooks/useDrilldown.d.ts +0 -1
  529. package/dist/bigconsole/hooks/useDrilldown.js +0 -2
  530. package/dist/bigconsole/hooks/useDrilldownOperations.d.ts +0 -1
  531. package/dist/bigconsole/hooks/useDrilldownOperations.js +0 -2
  532. package/dist/bigconsole/hooks/useEventLogs.d.ts +0 -1
  533. package/dist/bigconsole/hooks/useEventLogs.js +0 -2
  534. package/dist/bigconsole/hooks/useEventWebhooks.d.ts +0 -1
  535. package/dist/bigconsole/hooks/useEventWebhooks.js +0 -2
  536. package/dist/bigconsole/hooks/useExportDashboard.d.ts +0 -1
  537. package/dist/bigconsole/hooks/useExportDashboard.js +0 -2
  538. package/dist/bigconsole/hooks/useExportDataSink.d.ts +0 -1
  539. package/dist/bigconsole/hooks/useExportDataSink.js +0 -2
  540. package/dist/bigconsole/hooks/useExportParser.d.ts +0 -1
  541. package/dist/bigconsole/hooks/useExportParser.js +0 -2
  542. package/dist/bigconsole/hooks/useFilterPresets.d.ts +0 -1
  543. package/dist/bigconsole/hooks/useFilterPresets.js +0 -2
  544. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts +0 -1
  545. package/dist/bigconsole/hooks/useFilterUrlSync.js +0 -2
  546. package/dist/bigconsole/hooks/useGlobalFilters.d.ts +0 -1
  547. package/dist/bigconsole/hooks/useGlobalFilters.js +0 -2
  548. package/dist/bigconsole/hooks/useImportDashboard.d.ts +0 -1
  549. package/dist/bigconsole/hooks/useImportDashboard.js +0 -2
  550. package/dist/bigconsole/hooks/useImportDataSink.d.ts +0 -1
  551. package/dist/bigconsole/hooks/useImportDataSink.js +0 -2
  552. package/dist/bigconsole/hooks/useImportParser.d.ts +0 -1
  553. package/dist/bigconsole/hooks/useImportParser.js +0 -2
  554. package/dist/bigconsole/hooks/useInstalledWidgets.d.ts +0 -1
  555. package/dist/bigconsole/hooks/useInstalledWidgets.js +0 -2
  556. package/dist/bigconsole/hooks/useModalFocusTrap.d.ts +0 -1
  557. package/dist/bigconsole/hooks/useModalFocusTrap.js +0 -2
  558. package/dist/bigconsole/hooks/usePageOperations.d.ts +0 -1
  559. package/dist/bigconsole/hooks/usePageOperations.js +0 -2
  560. package/dist/bigconsole/hooks/useParserOperations.d.ts +0 -1
  561. package/dist/bigconsole/hooks/useParserOperations.js +0 -2
  562. package/dist/bigconsole/hooks/usePipelineOperations.d.ts +0 -1
  563. package/dist/bigconsole/hooks/usePipelineOperations.js +0 -2
  564. package/dist/bigconsole/hooks/useShareRecipients.d.ts +0 -1
  565. package/dist/bigconsole/hooks/useShareRecipients.js +0 -2
  566. package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts +0 -1
  567. package/dist/bigconsole/hooks/useStoreDashboardTemplates.js +0 -2
  568. package/dist/bigconsole/hooks/useWidgetActions.d.ts +0 -1
  569. package/dist/bigconsole/hooks/useWidgetActions.js +0 -2
  570. package/dist/bigconsole/hooks/useWidgetCatalog.d.ts +0 -1
  571. package/dist/bigconsole/hooks/useWidgetCatalog.js +0 -2
  572. package/dist/bigconsole/hooks/useWidgetComments.d.ts +0 -1
  573. package/dist/bigconsole/hooks/useWidgetComments.js +0 -2
  574. package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts +0 -1
  575. package/dist/bigconsole/hooks/useWidgetConfigPersist.js +0 -2
  576. package/dist/bigconsole/hooks/useWidgetData.d.ts +0 -1
  577. package/dist/bigconsole/hooks/useWidgetData.js +0 -2
  578. package/dist/bigconsole/hooks/useWidgetEvents.d.ts +0 -1
  579. package/dist/bigconsole/hooks/useWidgetEvents.js +0 -2
  580. package/dist/bigconsole/hooks/useWidgetExport.d.ts +0 -1
  581. package/dist/bigconsole/hooks/useWidgetExport.js +0 -2
  582. package/dist/bigconsole/hooks/useWidgetOperations.d.ts +0 -1
  583. package/dist/bigconsole/hooks/useWidgetOperations.js +0 -2
  584. package/dist/bigconsole/hooks/useWorkflowOperations.d.ts +0 -1
  585. package/dist/bigconsole/hooks/useWorkflowOperations.js +0 -2
  586. package/dist/bigconsole/index.d.ts +0 -1
  587. package/dist/bigconsole/modules/dashboard/index.d.ts +0 -1
  588. package/dist/bigconsole/modules/index.d.ts +0 -1
  589. package/dist/bigconsole/modules/renderer/index.d.ts +0 -1
  590. package/dist/bigconsole/modules/widget/index.d.ts +0 -1
  591. package/dist/bigconsole/pages/AdminPage.d.ts +0 -1
  592. package/dist/bigconsole/pages/AdminPage.js +0 -2
  593. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts +0 -1
  594. package/dist/bigconsole/pages/DashboardBuilderPage.js +0 -2
  595. package/dist/bigconsole/pages/DashboardViewPage.d.ts +0 -1
  596. package/dist/bigconsole/pages/DashboardViewPage.js +0 -2
  597. package/dist/bigconsole/pages/DashboardsPage.d.ts +0 -1
  598. package/dist/bigconsole/pages/DashboardsPage.js +0 -2
  599. package/dist/bigconsole/pages/DataParsersPage.d.ts +0 -1
  600. package/dist/bigconsole/pages/DataParsersPage.js +0 -2
  601. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts +0 -1
  602. package/dist/bigconsole/pages/DataSinkAlertsPage.js +0 -2
  603. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts +0 -1
  604. package/dist/bigconsole/pages/DataSinkBuilderPage.js +8 -10
  605. package/dist/bigconsole/pages/DataSinkViewPage.d.ts +0 -1
  606. package/dist/bigconsole/pages/DataSinkViewPage.js +0 -2
  607. package/dist/bigconsole/pages/DataSinksPage.d.ts +0 -1
  608. package/dist/bigconsole/pages/DataSinksPage.js +0 -2
  609. package/dist/bigconsole/pages/DataSourcesPage.d.ts +0 -1
  610. package/dist/bigconsole/pages/DataSourcesPage.js +0 -2
  611. package/dist/bigconsole/pages/InsightsPage.d.ts +0 -1
  612. package/dist/bigconsole/pages/InsightsPage.js +373 -361
  613. package/dist/bigconsole/pages/OverviewPage.d.ts +0 -1
  614. package/dist/bigconsole/pages/OverviewPage.js +0 -2
  615. package/dist/bigconsole/pages/ParserBuilderPage.d.ts +0 -1
  616. package/dist/bigconsole/pages/ParserBuilderPage.js +5 -7
  617. package/dist/bigconsole/pages/ParserViewPage.d.ts +0 -1
  618. package/dist/bigconsole/pages/ParserViewPage.js +0 -2
  619. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts +0 -1
  620. package/dist/bigconsole/pages/PipelineBuilderPage.js +0 -2
  621. package/dist/bigconsole/pages/PipelineViewPage.d.ts +0 -1
  622. package/dist/bigconsole/pages/PipelineViewPage.js +0 -2
  623. package/dist/bigconsole/pages/PipelinesPage.d.ts +0 -1
  624. package/dist/bigconsole/pages/PipelinesPage.js +0 -2
  625. package/dist/bigconsole/pages/SettingsPage.d.ts +0 -1
  626. package/dist/bigconsole/pages/SettingsPage.js +0 -2
  627. package/dist/bigconsole/pages/WidgetDemoPage.d.ts +0 -1
  628. package/dist/bigconsole/pages/WidgetDemoPage.js +0 -2
  629. package/dist/bigconsole/pages/WorkflowViewPage.d.ts +0 -1
  630. package/dist/bigconsole/pages/WorkflowViewPage.js +0 -2
  631. package/dist/bigconsole/pages/WorkflowsPage.d.ts +0 -1
  632. package/dist/bigconsole/pages/WorkflowsPage.js +0 -2
  633. package/dist/bigconsole/pages/index.d.ts +0 -1
  634. package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts +0 -1
  635. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +0 -2
  636. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts +0 -1
  637. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +0 -2
  638. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts +0 -1
  639. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js +0 -2
  640. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts +0 -1
  641. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +0 -2
  642. package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts +0 -1
  643. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +0 -2
  644. package/dist/bigconsole/renderers/adapters/index.d.ts +0 -1
  645. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts +0 -1
  646. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js +0 -2
  647. package/dist/bigconsole/renderers/index.d.ts +0 -1
  648. package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts +0 -1
  649. package/dist/bigconsole/renderers/registry/RendererRegistry.js +0 -2
  650. package/dist/bigconsole/renderers/types/index.d.ts +0 -1
  651. package/dist/bigconsole/renderers/types/renderer.d.ts +0 -1
  652. package/dist/bigconsole/store/dashboardStore.d.ts +0 -1
  653. package/dist/bigconsole/store/dashboardStore.js +0 -2
  654. package/dist/bigconsole/store/dataSinkStore.d.ts +0 -1
  655. package/dist/bigconsole/store/dataSinkStore.js +0 -2
  656. package/dist/bigconsole/store/drilldownStore.d.ts +0 -1
  657. package/dist/bigconsole/store/drilldownStore.js +0 -2
  658. package/dist/bigconsole/store/index.d.ts +0 -1
  659. package/dist/bigconsole/store/parserStore.d.ts +0 -1
  660. package/dist/bigconsole/store/parserStore.js +0 -2
  661. package/dist/bigconsole/store/pipelineStore.d.ts +0 -1
  662. package/dist/bigconsole/store/pipelineStore.js +0 -2
  663. package/dist/bigconsole/store/widgetStore.d.ts +0 -1
  664. package/dist/bigconsole/store/widgetStore.js +0 -2
  665. package/dist/bigconsole/store/workflowStore.d.ts +0 -1
  666. package/dist/bigconsole/store/workflowStore.js +0 -2
  667. package/dist/bigconsole/types/index.d.ts +0 -1
  668. package/dist/bigconsole/utils/alertRules.d.ts +0 -1
  669. package/dist/bigconsole/utils/alertRules.js +0 -2
  670. package/dist/bigconsole/utils/backendError.d.ts +0 -1
  671. package/dist/bigconsole/utils/backendError.js +0 -2
  672. package/dist/bigconsole/utils/createDialogParam.d.ts +0 -1
  673. package/dist/bigconsole/utils/createDialogParam.js +0 -2
  674. package/dist/bigconsole/utils/csv.d.ts +0 -1
  675. package/dist/bigconsole/utils/csv.js +0 -2
  676. package/dist/bigconsole/utils/dashboardTemplateContent.d.ts +0 -1
  677. package/dist/bigconsole/utils/dashboardTemplateContent.js +0 -2
  678. package/dist/bigconsole/utils/drilldownParams.d.ts +0 -1
  679. package/dist/bigconsole/utils/drilldownParams.js +0 -2
  680. package/dist/bigconsole/utils/formDirty.d.ts +0 -1
  681. package/dist/bigconsole/utils/formDirty.js +0 -2
  682. package/dist/bigconsole/utils/format.d.ts +0 -1
  683. package/dist/bigconsole/utils/format.js +0 -2
  684. package/dist/bigconsole/utils/index.d.ts +0 -1
  685. package/dist/bigconsole/utils/insightsDraft.d.ts +29 -0
  686. package/dist/bigconsole/utils/insightsDraft.js +8 -0
  687. package/dist/bigconsole/utils/layoutBaseline.d.ts +0 -1
  688. package/dist/bigconsole/utils/layoutBaseline.js +0 -2
  689. package/dist/bigconsole/utils/quota.d.ts +0 -1
  690. package/dist/bigconsole/utils/quota.js +0 -2
  691. package/dist/bigconsole/utils/semanticTokens.d.ts +0 -1
  692. package/dist/bigconsole/utils/semanticTokens.js +0 -2
  693. package/dist/bigconsole/utils/templateInstallInputs.d.ts +0 -1
  694. package/dist/bigconsole/utils/templateInstallInputs.js +0 -2
  695. package/dist/bigconsole/utils/widgetBinding.d.ts +0 -1
  696. package/dist/bigconsole/utils/widgetBinding.js +0 -2
  697. package/dist/bigconsole/utils/widgetFormDirty.d.ts +16 -0
  698. package/dist/bigconsole/utils/widgetFormDirty.js +13 -0
  699. package/dist/bigconsole/utils/widgetPositioning.d.ts +0 -1
  700. package/dist/bigconsole/utils/widgetPositioning.js +0 -2
  701. package/dist/bigconsole/utils/widgetTypeMapping.d.ts +0 -1
  702. package/dist/bigconsole/utils/widgetTypeMapping.js +0 -2
  703. package/dist/bigconsole/workflowOpen.d.ts +0 -1
  704. package/dist/bigconsole/workflowOpen.js +0 -2
  705. package/dist/constants/permissions.d.ts +0 -1
  706. package/dist/constants/permissions.js +0 -2
  707. package/dist/generated/global-operations.d.ts +0 -1
  708. package/dist/generated/global-operations.js +0 -2
  709. package/dist/generated/global-types.d.ts +0 -1
  710. package/dist/generated/wspace-operations.d.ts +0 -1
  711. package/dist/generated/wspace-operations.js +0 -2
  712. package/dist/generated/wspace-types.d.ts +0 -1
  713. package/dist/generated/wspace-types.js +0 -2
  714. package/dist/index.d.ts +0 -1
  715. package/dist/node_modules/@e965/xlsx/xlsx.js +0 -2
  716. package/dist/node_modules/pdfjs-dist/build/pdf.js +0 -2
  717. package/dist/shared/hooks/useTr.d.ts +0 -1
  718. package/dist/shared/hooks/useTr.js +0 -2
  719. package/dist/translations/en.d.ts +0 -1
  720. package/dist/utils/nativeBridge.d.ts +0 -1
  721. package/package.json +5 -4
  722. package/dist/bigconsole/AdminRoot.d.ts.map +0 -1
  723. package/dist/bigconsole/AdminRoot.js.map +0 -1
  724. package/dist/bigconsole/AdminRoutes.d.ts.map +0 -1
  725. package/dist/bigconsole/AdminRoutes.js.map +0 -1
  726. package/dist/bigconsole/BigConsoleRoot.d.ts.map +0 -1
  727. package/dist/bigconsole/BigConsoleRoot.js.map +0 -1
  728. package/dist/bigconsole/BigConsoleRoutes.d.ts.map +0 -1
  729. package/dist/bigconsole/BigConsoleRoutes.js.map +0 -1
  730. package/dist/bigconsole/assistant/assistantApi.d.ts.map +0 -1
  731. package/dist/bigconsole/assistant/assistantApi.js.map +0 -1
  732. package/dist/bigconsole/assistant/assistantProduct.d.ts.map +0 -1
  733. package/dist/bigconsole/assistant/assistantProduct.js.map +0 -1
  734. package/dist/bigconsole/assistant/assistantPrompt.d.ts.map +0 -1
  735. package/dist/bigconsole/assistant/assistantPrompt.js.map +0 -1
  736. package/dist/bigconsole/assistant/assistantRunPersistence.d.ts.map +0 -1
  737. package/dist/bigconsole/assistant/assistantRunPersistence.js.map +0 -1
  738. package/dist/bigconsole/assistant/assistantRunStore.d.ts.map +0 -1
  739. package/dist/bigconsole/assistant/assistantRunStore.js.map +0 -1
  740. package/dist/bigconsole/assistant/assistantRuntime.d.ts.map +0 -1
  741. package/dist/bigconsole/assistant/assistantRuntime.js.map +0 -1
  742. package/dist/bigconsole/assistant/attachmentExtract.d.ts.map +0 -1
  743. package/dist/bigconsole/assistant/attachmentExtract.js.map +0 -1
  744. package/dist/bigconsole/assistant/conversationHistoryApi.d.ts.map +0 -1
  745. package/dist/bigconsole/assistant/conversationHistoryApi.js.map +0 -1
  746. package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts.map +0 -1
  747. package/dist/bigconsole/assistant/createSandboxAssistantTransport.js.map +0 -1
  748. package/dist/bigconsole/assistant/displayCopy.d.ts.map +0 -1
  749. package/dist/bigconsole/assistant/index.d.ts.map +0 -1
  750. package/dist/bigconsole/assistant/modes.d.ts.map +0 -1
  751. package/dist/bigconsole/assistant/modes.js.map +0 -1
  752. package/dist/bigconsole/assistant/pageContext.d.ts.map +0 -1
  753. package/dist/bigconsole/assistant/pageContext.js.map +0 -1
  754. package/dist/bigconsole/assistant/previewController.d.ts.map +0 -1
  755. package/dist/bigconsole/assistant/previewController.js.map +0 -1
  756. package/dist/bigconsole/assistant/previewMutationResult.d.ts.map +0 -1
  757. package/dist/bigconsole/assistant/previewMutationResult.js.map +0 -1
  758. package/dist/bigconsole/assistant/previewRunAction.d.ts.map +0 -1
  759. package/dist/bigconsole/assistant/previewRunAction.js.map +0 -1
  760. package/dist/bigconsole/assistant/product.d.ts.map +0 -1
  761. package/dist/bigconsole/assistant/product.js.map +0 -1
  762. package/dist/bigconsole/assistant/recordAdapters.d.ts.map +0 -1
  763. package/dist/bigconsole/assistant/recordAdapters.js.map +0 -1
  764. package/dist/bigconsole/assistant/types.d.ts.map +0 -1
  765. package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts.map +0 -1
  766. package/dist/bigconsole/assistant/useAssistantRunWorkspace.js.map +0 -1
  767. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts.map +0 -1
  768. package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js.map +0 -1
  769. package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts.map +0 -1
  770. package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +0 -1
  771. package/dist/bigconsole/components/DrilldownModal.d.ts.map +0 -1
  772. package/dist/bigconsole/components/DrilldownModal.js.map +0 -1
  773. package/dist/bigconsole/components/builder/BuilderCanvas.d.ts.map +0 -1
  774. package/dist/bigconsole/components/builder/BuilderCanvas.js.map +0 -1
  775. package/dist/bigconsole/components/builder/BuilderTopbar.d.ts.map +0 -1
  776. package/dist/bigconsole/components/builder/BuilderTopbar.js.map +0 -1
  777. package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts.map +0 -1
  778. package/dist/bigconsole/components/builder/DashboardEditorShell.js.map +0 -1
  779. package/dist/bigconsole/components/builder/WidgetInspector.d.ts.map +0 -1
  780. package/dist/bigconsole/components/builder/WidgetInspector.js.map +0 -1
  781. package/dist/bigconsole/components/builder/index.d.ts.map +0 -1
  782. package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts.map +0 -1
  783. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +0 -1
  784. package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts.map +0 -1
  785. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +0 -1
  786. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts.map +0 -1
  787. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +0 -1
  788. package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts.map +0 -1
  789. package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +0 -1
  790. package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts.map +0 -1
  791. package/dist/bigconsole/components/builder/inspector/LayoutSection.js.map +0 -1
  792. package/dist/bigconsole/components/builder/inspector/index.d.ts.map +0 -1
  793. package/dist/bigconsole/components/common/Section.d.ts.map +0 -1
  794. package/dist/bigconsole/components/common/Section.js.map +0 -1
  795. package/dist/bigconsole/components/common/index.d.ts.map +0 -1
  796. package/dist/bigconsole/components/common/sectionStyles.d.ts.map +0 -1
  797. package/dist/bigconsole/components/common/sectionStyles.js.map +0 -1
  798. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts.map +0 -1
  799. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +0 -1
  800. package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts.map +0 -1
  801. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +0 -1
  802. package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts.map +0 -1
  803. package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +0 -1
  804. package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts.map +0 -1
  805. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js.map +0 -1
  806. package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts.map +0 -1
  807. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +0 -1
  808. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts.map +0 -1
  809. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +0 -1
  810. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts.map +0 -1
  811. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +0 -1
  812. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts.map +0 -1
  813. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +0 -1
  814. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts.map +0 -1
  815. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +0 -1
  816. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts.map +0 -1
  817. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +0 -1
  818. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts.map +0 -1
  819. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +0 -1
  820. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts.map +0 -1
  821. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts.map +0 -1
  822. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +0 -1
  823. package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts.map +0 -1
  824. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +0 -1
  825. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts.map +0 -1
  826. package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js.map +0 -1
  827. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts.map +0 -1
  828. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +0 -1
  829. package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts.map +0 -1
  830. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts.map +0 -1
  831. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +0 -1
  832. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts.map +0 -1
  833. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +0 -1
  834. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts.map +0 -1
  835. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts.map +0 -1
  836. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +0 -1
  837. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts.map +0 -1
  838. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +0 -1
  839. package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts.map +0 -1
  840. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts.map +0 -1
  841. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +0 -1
  842. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts.map +0 -1
  843. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js.map +0 -1
  844. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts.map +0 -1
  845. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js.map +0 -1
  846. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts.map +0 -1
  847. package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts.map +0 -1
  848. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts.map +0 -1
  849. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +0 -1
  850. package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts.map +0 -1
  851. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +0 -1
  852. package/dist/bigconsole/components/dashboard/index.d.ts.map +0 -1
  853. package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts.map +0 -1
  854. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js.map +0 -1
  855. package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts.map +0 -1
  856. package/dist/bigconsole/components/datasink/AlertRuleEditor.js.map +0 -1
  857. package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts.map +0 -1
  858. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +0 -1
  859. package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts.map +0 -1
  860. package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts.map +0 -1
  861. package/dist/bigconsole/components/datasink/DataSinkCard.d.ts.map +0 -1
  862. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +0 -1
  863. package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts.map +0 -1
  864. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +0 -1
  865. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts.map +0 -1
  866. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +0 -1
  867. package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts.map +0 -1
  868. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts.map +0 -1
  869. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +0 -1
  870. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts.map +0 -1
  871. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +0 -1
  872. package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts.map +0 -1
  873. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +0 -1
  874. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts.map +0 -1
  875. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +0 -1
  876. package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts.map +0 -1
  877. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts.map +0 -1
  878. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +0 -1
  879. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts.map +0 -1
  880. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +0 -1
  881. package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts.map +0 -1
  882. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +0 -1
  883. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts.map +0 -1
  884. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +0 -1
  885. package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts.map +0 -1
  886. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +0 -1
  887. package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts.map +0 -1
  888. package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +0 -1
  889. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts.map +0 -1
  890. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +0 -1
  891. package/dist/bigconsole/components/datasink/index.d.ts.map +0 -1
  892. package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts.map +0 -1
  893. package/dist/bigconsole/components/embed/EmbedErrorBoundary.js.map +0 -1
  894. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts.map +0 -1
  895. package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js.map +0 -1
  896. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts.map +0 -1
  897. package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js.map +0 -1
  898. package/dist/bigconsole/components/embed/drilldown.d.ts.map +0 -1
  899. package/dist/bigconsole/components/embed/drilldown.js.map +0 -1
  900. package/dist/bigconsole/components/embed/index.d.ts.map +0 -1
  901. package/dist/bigconsole/components/embed/renderer-manifest.d.ts.map +0 -1
  902. package/dist/bigconsole/components/embed/renderer-manifest.js.map +0 -1
  903. package/dist/bigconsole/components/embed/types.d.ts.map +0 -1
  904. package/dist/bigconsole/components/embed/types.js.map +0 -1
  905. package/dist/bigconsole/components/embed/validate.d.ts.map +0 -1
  906. package/dist/bigconsole/components/embed/validate.js.map +0 -1
  907. package/dist/bigconsole/components/embed/widgetShim.d.ts.map +0 -1
  908. package/dist/bigconsole/components/embed/widgetShim.js.map +0 -1
  909. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts.map +0 -1
  910. package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js.map +0 -1
  911. package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts.map +0 -1
  912. package/dist/bigconsole/components/embed/widgets/ChartEmbed.js.map +0 -1
  913. package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts.map +0 -1
  914. package/dist/bigconsole/components/embed/widgets/EmbedFrame.js.map +0 -1
  915. package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts.map +0 -1
  916. package/dist/bigconsole/components/embed/widgets/FormEmbed.js.map +0 -1
  917. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts.map +0 -1
  918. package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js.map +0 -1
  919. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts.map +0 -1
  920. package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js.map +0 -1
  921. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts.map +0 -1
  922. package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js.map +0 -1
  923. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts.map +0 -1
  924. package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js.map +0 -1
  925. package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts.map +0 -1
  926. package/dist/bigconsole/components/embed/widgets/ListEmbed.js.map +0 -1
  927. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts.map +0 -1
  928. package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js.map +0 -1
  929. package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts.map +0 -1
  930. package/dist/bigconsole/components/embed/widgets/PivotEmbed.js.map +0 -1
  931. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts.map +0 -1
  932. package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js.map +0 -1
  933. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts.map +0 -1
  934. package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js.map +0 -1
  935. package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts.map +0 -1
  936. package/dist/bigconsole/components/embed/widgets/TableEmbed.js.map +0 -1
  937. package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts.map +0 -1
  938. package/dist/bigconsole/components/embed/widgets/TextEmbed.js.map +0 -1
  939. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts.map +0 -1
  940. package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js.map +0 -1
  941. package/dist/bigconsole/components/embed/widgets/shared.d.ts.map +0 -1
  942. package/dist/bigconsole/components/embed/widgets/shared.js.map +0 -1
  943. package/dist/bigconsole/components/overview/DashboardGuide.d.ts.map +0 -1
  944. package/dist/bigconsole/components/overview/DashboardGuide.js.map +0 -1
  945. package/dist/bigconsole/components/overview/DataHealthCard.d.ts.map +0 -1
  946. package/dist/bigconsole/components/overview/DataHealthCard.js.map +0 -1
  947. package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts.map +0 -1
  948. package/dist/bigconsole/components/overview/OverviewQuickActions.js.map +0 -1
  949. package/dist/bigconsole/components/overview/OverviewStatCard.d.ts.map +0 -1
  950. package/dist/bigconsole/components/overview/OverviewStatCard.js.map +0 -1
  951. package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts.map +0 -1
  952. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js.map +0 -1
  953. package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts.map +0 -1
  954. package/dist/bigconsole/components/overview/dashboardGuideSteps.js.map +0 -1
  955. package/dist/bigconsole/components/overview/index.d.ts.map +0 -1
  956. package/dist/bigconsole/components/overview/overviewModel.d.ts.map +0 -1
  957. package/dist/bigconsole/components/overview/overviewModel.js.map +0 -1
  958. package/dist/bigconsole/components/overview/useOverviewData.d.ts.map +0 -1
  959. package/dist/bigconsole/components/overview/useOverviewData.js.map +0 -1
  960. package/dist/bigconsole/components/parser/DataSinkSelector.d.ts.map +0 -1
  961. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +0 -1
  962. package/dist/bigconsole/components/parser/ExportParserDialog.d.ts.map +0 -1
  963. package/dist/bigconsole/components/parser/ExportParserDialog.js.map +0 -1
  964. package/dist/bigconsole/components/parser/ExpressionEditor.d.ts.map +0 -1
  965. package/dist/bigconsole/components/parser/ExpressionEditor.js.map +0 -1
  966. package/dist/bigconsole/components/parser/ImportParserDialog.d.ts.map +0 -1
  967. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +0 -1
  968. package/dist/bigconsole/components/parser/ParserBuilder.d.ts.map +0 -1
  969. package/dist/bigconsole/components/parser/ParserCard.d.ts.map +0 -1
  970. package/dist/bigconsole/components/parser/ParserCard.js.map +0 -1
  971. package/dist/bigconsole/components/parser/ParserFormDialog.d.ts.map +0 -1
  972. package/dist/bigconsole/components/parser/ParserSelector.d.ts.map +0 -1
  973. package/dist/bigconsole/components/parser/ParserSelector.js.map +0 -1
  974. package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts.map +0 -1
  975. package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +0 -1
  976. package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts.map +0 -1
  977. package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +0 -1
  978. package/dist/bigconsole/components/parser/TestPanel.d.ts.map +0 -1
  979. package/dist/bigconsole/components/parser/index.d.ts.map +0 -1
  980. package/dist/bigconsole/components/parser/parserFieldStyles.d.ts.map +0 -1
  981. package/dist/bigconsole/components/pipeline/PipelineCard.d.ts.map +0 -1
  982. package/dist/bigconsole/components/pipeline/PipelineCard.js.map +0 -1
  983. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts.map +0 -1
  984. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +0 -1
  985. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts.map +0 -1
  986. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js.map +0 -1
  987. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts.map +0 -1
  988. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +0 -1
  989. package/dist/bigconsole/components/pipeline/index.d.ts.map +0 -1
  990. package/dist/bigconsole/components/preview/AiPreviewContent.d.ts.map +0 -1
  991. package/dist/bigconsole/components/preview/AiPreviewContent.js.map +0 -1
  992. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts.map +0 -1
  993. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +0 -1
  994. package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts.map +0 -1
  995. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +0 -1
  996. package/dist/bigconsole/components/preview/parserPreview.d.ts.map +0 -1
  997. package/dist/bigconsole/components/preview/parserPreview.js.map +0 -1
  998. package/dist/bigconsole/components/preview/previewShared.d.ts.map +0 -1
  999. package/dist/bigconsole/components/preview/previewShared.js.map +0 -1
  1000. package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts.map +0 -1
  1001. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +0 -1
  1002. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts.map +0 -1
  1003. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +0 -1
  1004. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +0 -1
  1005. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +0 -1
  1006. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts.map +0 -1
  1007. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +0 -1
  1008. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts.map +0 -1
  1009. package/dist/bigconsole/components/widgets/WidgetHeader.js.map +0 -1
  1010. package/dist/bigconsole/components/widgets/WidgetMenu.d.ts.map +0 -1
  1011. package/dist/bigconsole/components/widgets/WidgetMenu.js.map +0 -1
  1012. package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts.map +0 -1
  1013. package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +0 -1
  1014. package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts.map +0 -1
  1015. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts.map +0 -1
  1016. package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +0 -1
  1017. package/dist/bigconsole/components/widgets/actionConfig.d.ts.map +0 -1
  1018. package/dist/bigconsole/components/widgets/actionConfig.js.map +0 -1
  1019. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts.map +0 -1
  1020. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +0 -1
  1021. package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts.map +0 -1
  1022. package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts.map +0 -1
  1023. package/dist/bigconsole/components/widgets/calendar/CalendarView.js.map +0 -1
  1024. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts.map +0 -1
  1025. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +0 -1
  1026. package/dist/bigconsole/components/widgets/calendar/index.d.ts.map +0 -1
  1027. package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts.map +0 -1
  1028. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +0 -1
  1029. package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts.map +0 -1
  1030. package/dist/bigconsole/components/widgets/chart/ChartLegend.js.map +0 -1
  1031. package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts.map +0 -1
  1032. package/dist/bigconsole/components/widgets/chart/ChartTooltip.js.map +0 -1
  1033. package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts.map +0 -1
  1034. package/dist/bigconsole/components/widgets/chart/ChartWidget.js.map +0 -1
  1035. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts.map +0 -1
  1036. package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js.map +0 -1
  1037. package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts.map +0 -1
  1038. package/dist/bigconsole/components/widgets/chart/charts/BarChart.js.map +0 -1
  1039. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts.map +0 -1
  1040. package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js.map +0 -1
  1041. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts.map +0 -1
  1042. package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js.map +0 -1
  1043. package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts.map +0 -1
  1044. package/dist/bigconsole/components/widgets/chart/charts/LineChart.js.map +0 -1
  1045. package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts.map +0 -1
  1046. package/dist/bigconsole/components/widgets/chart/charts/PieChart.js.map +0 -1
  1047. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts.map +0 -1
  1048. package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js.map +0 -1
  1049. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts.map +0 -1
  1050. package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js.map +0 -1
  1051. package/dist/bigconsole/components/widgets/chart/charts/index.d.ts.map +0 -1
  1052. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts.map +0 -1
  1053. package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js.map +0 -1
  1054. package/dist/bigconsole/components/widgets/chart/charts/types.d.ts.map +0 -1
  1055. package/dist/bigconsole/components/widgets/chart/index.d.ts.map +0 -1
  1056. package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts.map +0 -1
  1057. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +0 -1
  1058. package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts.map +0 -1
  1059. package/dist/bigconsole/components/widgets/custom/CustomWidget.js.map +0 -1
  1060. package/dist/bigconsole/components/widgets/custom/config.d.ts.map +0 -1
  1061. package/dist/bigconsole/components/widgets/custom/config.js.map +0 -1
  1062. package/dist/bigconsole/components/widgets/custom/index.d.ts.map +0 -1
  1063. package/dist/bigconsole/components/widgets/custom/utils.d.ts.map +0 -1
  1064. package/dist/bigconsole/components/widgets/custom/utils.js.map +0 -1
  1065. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts.map +0 -1
  1066. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +0 -1
  1067. package/dist/bigconsole/components/widgets/event-logs/index.d.ts.map +0 -1
  1068. package/dist/bigconsole/components/widgets/form/FormWidget.d.ts.map +0 -1
  1069. package/dist/bigconsole/components/widgets/form/FormWidget.js.map +0 -1
  1070. package/dist/bigconsole/components/widgets/form/index.d.ts.map +0 -1
  1071. package/dist/bigconsole/components/widgets/funnel/index.d.ts.map +0 -1
  1072. package/dist/bigconsole/components/widgets/funnel/index.js.map +0 -1
  1073. package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts.map +0 -1
  1074. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +0 -1
  1075. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts.map +0 -1
  1076. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +0 -1
  1077. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts.map +0 -1
  1078. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +0 -1
  1079. package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts.map +0 -1
  1080. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +0 -1
  1081. package/dist/bigconsole/components/widgets/gauge/index.d.ts.map +0 -1
  1082. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts.map +0 -1
  1083. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +0 -1
  1084. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts.map +0 -1
  1085. package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js.map +0 -1
  1086. package/dist/bigconsole/components/widgets/heatmap/index.d.ts.map +0 -1
  1087. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts.map +0 -1
  1088. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +0 -1
  1089. package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts.map +0 -1
  1090. package/dist/bigconsole/components/widgets/index.d.ts.map +0 -1
  1091. package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts.map +0 -1
  1092. package/dist/bigconsole/components/widgets/kanban/KanbanView.js.map +0 -1
  1093. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts.map +0 -1
  1094. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +0 -1
  1095. package/dist/bigconsole/components/widgets/kanban/index.d.ts.map +0 -1
  1096. package/dist/bigconsole/components/widgets/kanban/model.d.ts.map +0 -1
  1097. package/dist/bigconsole/components/widgets/kanban/model.js.map +0 -1
  1098. package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts.map +0 -1
  1099. package/dist/bigconsole/components/widgets/kpi/KPIWidget.js.map +0 -1
  1100. package/dist/bigconsole/components/widgets/kpi/index.d.ts.map +0 -1
  1101. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts.map +0 -1
  1102. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +0 -1
  1103. package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts.map +0 -1
  1104. package/dist/bigconsole/components/widgets/list/ListConfig.d.ts.map +0 -1
  1105. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +0 -1
  1106. package/dist/bigconsole/components/widgets/list/ListItem.d.ts.map +0 -1
  1107. package/dist/bigconsole/components/widgets/list/ListItem.js.map +0 -1
  1108. package/dist/bigconsole/components/widgets/list/ListWidget.d.ts.map +0 -1
  1109. package/dist/bigconsole/components/widgets/list/ListWidget.js.map +0 -1
  1110. package/dist/bigconsole/components/widgets/list/index.d.ts.map +0 -1
  1111. package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts.map +0 -1
  1112. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +0 -1
  1113. package/dist/bigconsole/components/widgets/map-widget/index.d.ts.map +0 -1
  1114. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts.map +0 -1
  1115. package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js.map +0 -1
  1116. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts.map +0 -1
  1117. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +0 -1
  1118. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts.map +0 -1
  1119. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +0 -1
  1120. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts.map +0 -1
  1121. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +0 -1
  1122. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts.map +0 -1
  1123. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +0 -1
  1124. package/dist/bigconsole/components/widgets/metric-card/index.d.ts.map +0 -1
  1125. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts.map +0 -1
  1126. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +0 -1
  1127. package/dist/bigconsole/components/widgets/pivot-table/index.d.ts.map +0 -1
  1128. package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts.map +0 -1
  1129. package/dist/bigconsole/components/widgets/progress/ProgressBar.js.map +0 -1
  1130. package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts.map +0 -1
  1131. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +0 -1
  1132. package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts.map +0 -1
  1133. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +0 -1
  1134. package/dist/bigconsole/components/widgets/progress/index.d.ts.map +0 -1
  1135. package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts.map +0 -1
  1136. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +0 -1
  1137. package/dist/bigconsole/components/widgets/retention/index.d.ts.map +0 -1
  1138. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts.map +0 -1
  1139. package/dist/bigconsole/components/widgets/states/EmptyState.js.map +0 -1
  1140. package/dist/bigconsole/components/widgets/states/ErrorState.d.ts.map +0 -1
  1141. package/dist/bigconsole/components/widgets/states/ErrorState.js.map +0 -1
  1142. package/dist/bigconsole/components/widgets/states/LoadingState.d.ts.map +0 -1
  1143. package/dist/bigconsole/components/widgets/states/LoadingState.js.map +0 -1
  1144. package/dist/bigconsole/components/widgets/states/index.d.ts.map +0 -1
  1145. package/dist/bigconsole/components/widgets/table/TableCell.d.ts.map +0 -1
  1146. package/dist/bigconsole/components/widgets/table/TableCell.js.map +0 -1
  1147. package/dist/bigconsole/components/widgets/table/TableConfig.d.ts.map +0 -1
  1148. package/dist/bigconsole/components/widgets/table/TableConfig.js.map +0 -1
  1149. package/dist/bigconsole/components/widgets/table/TableHeader.d.ts.map +0 -1
  1150. package/dist/bigconsole/components/widgets/table/TableHeader.js.map +0 -1
  1151. package/dist/bigconsole/components/widgets/table/TablePagination.d.ts.map +0 -1
  1152. package/dist/bigconsole/components/widgets/table/TablePagination.js.map +0 -1
  1153. package/dist/bigconsole/components/widgets/table/TableWidget.d.ts.map +0 -1
  1154. package/dist/bigconsole/components/widgets/table/TableWidget.js.map +0 -1
  1155. package/dist/bigconsole/components/widgets/table/cellLink.d.ts.map +0 -1
  1156. package/dist/bigconsole/components/widgets/table/cellLink.js.map +0 -1
  1157. package/dist/bigconsole/components/widgets/table/index.d.ts.map +0 -1
  1158. package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts.map +0 -1
  1159. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +0 -1
  1160. package/dist/bigconsole/components/widgets/text-widget/index.d.ts.map +0 -1
  1161. package/dist/bigconsole/components/widgets/text-widget/textData.d.ts.map +0 -1
  1162. package/dist/bigconsole/components/widgets/text-widget/textData.js.map +0 -1
  1163. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts.map +0 -1
  1164. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +0 -1
  1165. package/dist/bigconsole/components/widgets/timeline/index.d.ts.map +0 -1
  1166. package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts.map +0 -1
  1167. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +0 -1
  1168. package/dist/bigconsole/components/widgets/utils/inferFields.d.ts.map +0 -1
  1169. package/dist/bigconsole/components/widgets/utils/inferFields.js.map +0 -1
  1170. package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts.map +0 -1
  1171. package/dist/bigconsole/components/widgets/utils/targetProgress.js.map +0 -1
  1172. package/dist/bigconsole/components/widgets/utils/translate.d.ts.map +0 -1
  1173. package/dist/bigconsole/components/widgets/utils/translate.js.map +0 -1
  1174. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts.map +0 -1
  1175. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +0 -1
  1176. package/dist/bigconsole/components/widgets/webhook-config/index.d.ts.map +0 -1
  1177. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts.map +0 -1
  1178. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +0 -1
  1179. package/dist/bigconsole/components/widgets/widget-actions/index.d.ts.map +0 -1
  1180. package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts.map +0 -1
  1181. package/dist/bigconsole/components/workflow/WorkflowCard.d.ts.map +0 -1
  1182. package/dist/bigconsole/components/workflow/WorkflowCard.js.map +0 -1
  1183. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts.map +0 -1
  1184. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +0 -1
  1185. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts.map +0 -1
  1186. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js.map +0 -1
  1187. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts.map +0 -1
  1188. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js.map +0 -1
  1189. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts.map +0 -1
  1190. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js.map +0 -1
  1191. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts.map +0 -1
  1192. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +0 -1
  1193. package/dist/bigconsole/components/workflow/index.d.ts.map +0 -1
  1194. package/dist/bigconsole/constants/backendErrors.d.ts.map +0 -1
  1195. package/dist/bigconsole/constants/backendErrors.js.map +0 -1
  1196. package/dist/bigconsole/constants.d.ts.map +0 -1
  1197. package/dist/bigconsole/constants.js.map +0 -1
  1198. package/dist/bigconsole/context/BigConsoleContext.d.ts.map +0 -1
  1199. package/dist/bigconsole/context/BigConsoleContext.js.map +0 -1
  1200. package/dist/bigconsole/context/index.d.ts.map +0 -1
  1201. package/dist/bigconsole/contexts/CrossFilterContext.d.ts.map +0 -1
  1202. package/dist/bigconsole/contexts/CrossFilterContext.js.map +0 -1
  1203. package/dist/bigconsole/contexts/NavigationContext.d.ts.map +0 -1
  1204. package/dist/bigconsole/contexts/NavigationContext.js.map +0 -1
  1205. package/dist/bigconsole/contexts/index.d.ts.map +0 -1
  1206. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts.map +0 -1
  1207. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +0 -1
  1208. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts.map +0 -1
  1209. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +0 -1
  1210. package/dist/bigconsole/customWidget/index.d.ts.map +0 -1
  1211. package/dist/bigconsole/customWidget/proposalContract.d.ts.map +0 -1
  1212. package/dist/bigconsole/customWidget/proposalContract.js.map +0 -1
  1213. package/dist/bigconsole/customWidget/proposalSource.d.ts.map +0 -1
  1214. package/dist/bigconsole/customWidget/proposalSource.js.map +0 -1
  1215. package/dist/bigconsole/graphql/apollo-compat.d.ts.map +0 -1
  1216. package/dist/bigconsole/graphql/storeTemplates.d.ts.map +0 -1
  1217. package/dist/bigconsole/graphql/storeTemplates.js.map +0 -1
  1218. package/dist/bigconsole/hooks/index.d.ts.map +0 -1
  1219. package/dist/bigconsole/hooks/useActivePage.d.ts.map +0 -1
  1220. package/dist/bigconsole/hooks/useActivePage.js.map +0 -1
  1221. package/dist/bigconsole/hooks/useAutoRefresh.d.ts.map +0 -1
  1222. package/dist/bigconsole/hooks/useAutoRefresh.js.map +0 -1
  1223. package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts.map +0 -1
  1224. package/dist/bigconsole/hooks/useBigConsoleAnalytics.js.map +0 -1
  1225. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts.map +0 -1
  1226. package/dist/bigconsole/hooks/useBigConsoleSettings.js.map +0 -1
  1227. package/dist/bigconsole/hooks/useCrossFilter.d.ts.map +0 -1
  1228. package/dist/bigconsole/hooks/useCrossFilter.js.map +0 -1
  1229. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts.map +0 -1
  1230. package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js.map +0 -1
  1231. package/dist/bigconsole/hooks/useDashboardImageExport.d.ts.map +0 -1
  1232. package/dist/bigconsole/hooks/useDashboardImageExport.js.map +0 -1
  1233. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts.map +0 -1
  1234. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js.map +0 -1
  1235. package/dist/bigconsole/hooks/useDashboardOperations.d.ts.map +0 -1
  1236. package/dist/bigconsole/hooks/useDashboardOperations.js.map +0 -1
  1237. package/dist/bigconsole/hooks/useDashboardSharing.d.ts.map +0 -1
  1238. package/dist/bigconsole/hooks/useDashboardSharing.js.map +0 -1
  1239. package/dist/bigconsole/hooks/useDashboardTemplates.d.ts.map +0 -1
  1240. package/dist/bigconsole/hooks/useDashboardViews.d.ts.map +0 -1
  1241. package/dist/bigconsole/hooks/useDashboardViews.js.map +0 -1
  1242. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts.map +0 -1
  1243. package/dist/bigconsole/hooks/useDataSinkAlerts.js.map +0 -1
  1244. package/dist/bigconsole/hooks/useDataSinkOperations.d.ts.map +0 -1
  1245. package/dist/bigconsole/hooks/useDataSinkOperations.js.map +0 -1
  1246. package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts.map +0 -1
  1247. package/dist/bigconsole/hooks/useDataSinkSubscription.js.map +0 -1
  1248. package/dist/bigconsole/hooks/useDrilldown.d.ts.map +0 -1
  1249. package/dist/bigconsole/hooks/useDrilldown.js.map +0 -1
  1250. package/dist/bigconsole/hooks/useDrilldownOperations.d.ts.map +0 -1
  1251. package/dist/bigconsole/hooks/useDrilldownOperations.js.map +0 -1
  1252. package/dist/bigconsole/hooks/useEventLogs.d.ts.map +0 -1
  1253. package/dist/bigconsole/hooks/useEventLogs.js.map +0 -1
  1254. package/dist/bigconsole/hooks/useEventWebhooks.d.ts.map +0 -1
  1255. package/dist/bigconsole/hooks/useEventWebhooks.js.map +0 -1
  1256. package/dist/bigconsole/hooks/useExportDashboard.d.ts.map +0 -1
  1257. package/dist/bigconsole/hooks/useExportDashboard.js.map +0 -1
  1258. package/dist/bigconsole/hooks/useExportDataSink.d.ts.map +0 -1
  1259. package/dist/bigconsole/hooks/useExportDataSink.js.map +0 -1
  1260. package/dist/bigconsole/hooks/useExportParser.d.ts.map +0 -1
  1261. package/dist/bigconsole/hooks/useExportParser.js.map +0 -1
  1262. package/dist/bigconsole/hooks/useFilterPresets.d.ts.map +0 -1
  1263. package/dist/bigconsole/hooks/useFilterPresets.js.map +0 -1
  1264. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts.map +0 -1
  1265. package/dist/bigconsole/hooks/useFilterUrlSync.js.map +0 -1
  1266. package/dist/bigconsole/hooks/useGlobalFilters.d.ts.map +0 -1
  1267. package/dist/bigconsole/hooks/useGlobalFilters.js.map +0 -1
  1268. package/dist/bigconsole/hooks/useImportDashboard.d.ts.map +0 -1
  1269. package/dist/bigconsole/hooks/useImportDashboard.js.map +0 -1
  1270. package/dist/bigconsole/hooks/useImportDataSink.d.ts.map +0 -1
  1271. package/dist/bigconsole/hooks/useImportDataSink.js.map +0 -1
  1272. package/dist/bigconsole/hooks/useImportParser.d.ts.map +0 -1
  1273. package/dist/bigconsole/hooks/useImportParser.js.map +0 -1
  1274. package/dist/bigconsole/hooks/useInstalledWidgets.d.ts.map +0 -1
  1275. package/dist/bigconsole/hooks/useInstalledWidgets.js.map +0 -1
  1276. package/dist/bigconsole/hooks/useModalFocusTrap.d.ts.map +0 -1
  1277. package/dist/bigconsole/hooks/useModalFocusTrap.js.map +0 -1
  1278. package/dist/bigconsole/hooks/usePageOperations.d.ts.map +0 -1
  1279. package/dist/bigconsole/hooks/usePageOperations.js.map +0 -1
  1280. package/dist/bigconsole/hooks/useParserOperations.d.ts.map +0 -1
  1281. package/dist/bigconsole/hooks/useParserOperations.js.map +0 -1
  1282. package/dist/bigconsole/hooks/usePipelineOperations.d.ts.map +0 -1
  1283. package/dist/bigconsole/hooks/usePipelineOperations.js.map +0 -1
  1284. package/dist/bigconsole/hooks/useShareRecipients.d.ts.map +0 -1
  1285. package/dist/bigconsole/hooks/useShareRecipients.js.map +0 -1
  1286. package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts.map +0 -1
  1287. package/dist/bigconsole/hooks/useStoreDashboardTemplates.js.map +0 -1
  1288. package/dist/bigconsole/hooks/useWidgetActions.d.ts.map +0 -1
  1289. package/dist/bigconsole/hooks/useWidgetActions.js.map +0 -1
  1290. package/dist/bigconsole/hooks/useWidgetCatalog.d.ts.map +0 -1
  1291. package/dist/bigconsole/hooks/useWidgetCatalog.js.map +0 -1
  1292. package/dist/bigconsole/hooks/useWidgetComments.d.ts.map +0 -1
  1293. package/dist/bigconsole/hooks/useWidgetComments.js.map +0 -1
  1294. package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts.map +0 -1
  1295. package/dist/bigconsole/hooks/useWidgetConfigPersist.js.map +0 -1
  1296. package/dist/bigconsole/hooks/useWidgetData.d.ts.map +0 -1
  1297. package/dist/bigconsole/hooks/useWidgetData.js.map +0 -1
  1298. package/dist/bigconsole/hooks/useWidgetEvents.d.ts.map +0 -1
  1299. package/dist/bigconsole/hooks/useWidgetEvents.js.map +0 -1
  1300. package/dist/bigconsole/hooks/useWidgetExport.d.ts.map +0 -1
  1301. package/dist/bigconsole/hooks/useWidgetExport.js.map +0 -1
  1302. package/dist/bigconsole/hooks/useWidgetOperations.d.ts.map +0 -1
  1303. package/dist/bigconsole/hooks/useWidgetOperations.js.map +0 -1
  1304. package/dist/bigconsole/hooks/useWorkflowOperations.d.ts.map +0 -1
  1305. package/dist/bigconsole/hooks/useWorkflowOperations.js.map +0 -1
  1306. package/dist/bigconsole/index.d.ts.map +0 -1
  1307. package/dist/bigconsole/modules/dashboard/index.d.ts.map +0 -1
  1308. package/dist/bigconsole/modules/index.d.ts.map +0 -1
  1309. package/dist/bigconsole/modules/renderer/index.d.ts.map +0 -1
  1310. package/dist/bigconsole/modules/widget/index.d.ts.map +0 -1
  1311. package/dist/bigconsole/pages/AdminPage.d.ts.map +0 -1
  1312. package/dist/bigconsole/pages/AdminPage.js.map +0 -1
  1313. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +0 -1
  1314. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +0 -1
  1315. package/dist/bigconsole/pages/DashboardViewPage.d.ts.map +0 -1
  1316. package/dist/bigconsole/pages/DashboardViewPage.js.map +0 -1
  1317. package/dist/bigconsole/pages/DashboardsPage.d.ts.map +0 -1
  1318. package/dist/bigconsole/pages/DashboardsPage.js.map +0 -1
  1319. package/dist/bigconsole/pages/DataParsersPage.d.ts.map +0 -1
  1320. package/dist/bigconsole/pages/DataParsersPage.js.map +0 -1
  1321. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +0 -1
  1322. package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +0 -1
  1323. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +0 -1
  1324. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +0 -1
  1325. package/dist/bigconsole/pages/DataSinkViewPage.d.ts.map +0 -1
  1326. package/dist/bigconsole/pages/DataSinkViewPage.js.map +0 -1
  1327. package/dist/bigconsole/pages/DataSinksPage.d.ts.map +0 -1
  1328. package/dist/bigconsole/pages/DataSinksPage.js.map +0 -1
  1329. package/dist/bigconsole/pages/DataSourcesPage.d.ts.map +0 -1
  1330. package/dist/bigconsole/pages/DataSourcesPage.js.map +0 -1
  1331. package/dist/bigconsole/pages/InsightsPage.d.ts.map +0 -1
  1332. package/dist/bigconsole/pages/InsightsPage.js.map +0 -1
  1333. package/dist/bigconsole/pages/OverviewPage.d.ts.map +0 -1
  1334. package/dist/bigconsole/pages/OverviewPage.js.map +0 -1
  1335. package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +0 -1
  1336. package/dist/bigconsole/pages/ParserBuilderPage.js.map +0 -1
  1337. package/dist/bigconsole/pages/ParserViewPage.d.ts.map +0 -1
  1338. package/dist/bigconsole/pages/ParserViewPage.js.map +0 -1
  1339. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +0 -1
  1340. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +0 -1
  1341. package/dist/bigconsole/pages/PipelineViewPage.d.ts.map +0 -1
  1342. package/dist/bigconsole/pages/PipelineViewPage.js.map +0 -1
  1343. package/dist/bigconsole/pages/PipelinesPage.d.ts.map +0 -1
  1344. package/dist/bigconsole/pages/PipelinesPage.js.map +0 -1
  1345. package/dist/bigconsole/pages/SettingsPage.d.ts.map +0 -1
  1346. package/dist/bigconsole/pages/SettingsPage.js.map +0 -1
  1347. package/dist/bigconsole/pages/WidgetDemoPage.d.ts.map +0 -1
  1348. package/dist/bigconsole/pages/WidgetDemoPage.js.map +0 -1
  1349. package/dist/bigconsole/pages/WorkflowViewPage.d.ts.map +0 -1
  1350. package/dist/bigconsole/pages/WorkflowViewPage.js.map +0 -1
  1351. package/dist/bigconsole/pages/WorkflowsPage.d.ts.map +0 -1
  1352. package/dist/bigconsole/pages/WorkflowsPage.js.map +0 -1
  1353. package/dist/bigconsole/pages/index.d.ts.map +0 -1
  1354. package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts.map +0 -1
  1355. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js.map +0 -1
  1356. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts.map +0 -1
  1357. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +0 -1
  1358. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts.map +0 -1
  1359. package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js.map +0 -1
  1360. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts.map +0 -1
  1361. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +0 -1
  1362. package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts.map +0 -1
  1363. package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +0 -1
  1364. package/dist/bigconsole/renderers/adapters/index.d.ts.map +0 -1
  1365. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts.map +0 -1
  1366. package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js.map +0 -1
  1367. package/dist/bigconsole/renderers/index.d.ts.map +0 -1
  1368. package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts.map +0 -1
  1369. package/dist/bigconsole/renderers/registry/RendererRegistry.js.map +0 -1
  1370. package/dist/bigconsole/renderers/types/index.d.ts.map +0 -1
  1371. package/dist/bigconsole/renderers/types/renderer.d.ts.map +0 -1
  1372. package/dist/bigconsole/store/dashboardStore.d.ts.map +0 -1
  1373. package/dist/bigconsole/store/dashboardStore.js.map +0 -1
  1374. package/dist/bigconsole/store/dataSinkStore.d.ts.map +0 -1
  1375. package/dist/bigconsole/store/dataSinkStore.js.map +0 -1
  1376. package/dist/bigconsole/store/drilldownStore.d.ts.map +0 -1
  1377. package/dist/bigconsole/store/drilldownStore.js.map +0 -1
  1378. package/dist/bigconsole/store/index.d.ts.map +0 -1
  1379. package/dist/bigconsole/store/parserStore.d.ts.map +0 -1
  1380. package/dist/bigconsole/store/parserStore.js.map +0 -1
  1381. package/dist/bigconsole/store/pipelineStore.d.ts.map +0 -1
  1382. package/dist/bigconsole/store/pipelineStore.js.map +0 -1
  1383. package/dist/bigconsole/store/widgetStore.d.ts.map +0 -1
  1384. package/dist/bigconsole/store/widgetStore.js.map +0 -1
  1385. package/dist/bigconsole/store/workflowStore.d.ts.map +0 -1
  1386. package/dist/bigconsole/store/workflowStore.js.map +0 -1
  1387. package/dist/bigconsole/types/index.d.ts.map +0 -1
  1388. package/dist/bigconsole/utils/alertRules.d.ts.map +0 -1
  1389. package/dist/bigconsole/utils/alertRules.js.map +0 -1
  1390. package/dist/bigconsole/utils/backendError.d.ts.map +0 -1
  1391. package/dist/bigconsole/utils/backendError.js.map +0 -1
  1392. package/dist/bigconsole/utils/createDialogParam.d.ts.map +0 -1
  1393. package/dist/bigconsole/utils/createDialogParam.js.map +0 -1
  1394. package/dist/bigconsole/utils/csv.d.ts.map +0 -1
  1395. package/dist/bigconsole/utils/csv.js.map +0 -1
  1396. package/dist/bigconsole/utils/dashboardTemplateContent.d.ts.map +0 -1
  1397. package/dist/bigconsole/utils/dashboardTemplateContent.js.map +0 -1
  1398. package/dist/bigconsole/utils/drilldownParams.d.ts.map +0 -1
  1399. package/dist/bigconsole/utils/drilldownParams.js.map +0 -1
  1400. package/dist/bigconsole/utils/formDirty.d.ts.map +0 -1
  1401. package/dist/bigconsole/utils/formDirty.js.map +0 -1
  1402. package/dist/bigconsole/utils/format.d.ts.map +0 -1
  1403. package/dist/bigconsole/utils/format.js.map +0 -1
  1404. package/dist/bigconsole/utils/index.d.ts.map +0 -1
  1405. package/dist/bigconsole/utils/layoutBaseline.d.ts.map +0 -1
  1406. package/dist/bigconsole/utils/layoutBaseline.js.map +0 -1
  1407. package/dist/bigconsole/utils/quota.d.ts.map +0 -1
  1408. package/dist/bigconsole/utils/quota.js.map +0 -1
  1409. package/dist/bigconsole/utils/semanticTokens.d.ts.map +0 -1
  1410. package/dist/bigconsole/utils/semanticTokens.js.map +0 -1
  1411. package/dist/bigconsole/utils/templateInstallInputs.d.ts.map +0 -1
  1412. package/dist/bigconsole/utils/templateInstallInputs.js.map +0 -1
  1413. package/dist/bigconsole/utils/widgetBinding.d.ts.map +0 -1
  1414. package/dist/bigconsole/utils/widgetBinding.js.map +0 -1
  1415. package/dist/bigconsole/utils/widgetPositioning.d.ts.map +0 -1
  1416. package/dist/bigconsole/utils/widgetPositioning.js.map +0 -1
  1417. package/dist/bigconsole/utils/widgetTypeMapping.d.ts.map +0 -1
  1418. package/dist/bigconsole/utils/widgetTypeMapping.js.map +0 -1
  1419. package/dist/bigconsole/workflowOpen.d.ts.map +0 -1
  1420. package/dist/bigconsole/workflowOpen.js.map +0 -1
  1421. package/dist/constants/permissions.d.ts.map +0 -1
  1422. package/dist/constants/permissions.js.map +0 -1
  1423. package/dist/generated/global-operations.d.ts.map +0 -1
  1424. package/dist/generated/global-operations.js.map +0 -1
  1425. package/dist/generated/global-types.d.ts.map +0 -1
  1426. package/dist/generated/wspace-operations.d.ts.map +0 -1
  1427. package/dist/generated/wspace-operations.js.map +0 -1
  1428. package/dist/generated/wspace-types.d.ts.map +0 -1
  1429. package/dist/generated/wspace-types.js.map +0 -1
  1430. package/dist/index.d.ts.map +0 -1
  1431. package/dist/node_modules/@e965/xlsx/xlsx.js.map +0 -1
  1432. package/dist/node_modules/pdfjs-dist/build/pdf.js.map +0 -1
  1433. package/dist/shared/hooks/useTr.d.ts.map +0 -1
  1434. package/dist/shared/hooks/useTr.js.map +0 -1
  1435. package/dist/stories/DashboardGuide.stories.d.ts +0 -15
  1436. package/dist/stories/DashboardGuide.stories.d.ts.map +0 -1
  1437. package/dist/stories/DataSinkStatusBadge.stories.d.ts +0 -12
  1438. package/dist/stories/DataSinkStatusBadge.stories.d.ts.map +0 -1
  1439. package/dist/stories/GaugeWidget.stories.d.ts +0 -58
  1440. package/dist/stories/GaugeWidget.stories.d.ts.map +0 -1
  1441. package/dist/stories/KPIComparisonWidget.stories.d.ts +0 -76
  1442. package/dist/stories/KPIComparisonWidget.stories.d.ts.map +0 -1
  1443. package/dist/stories/LiveCanvasToggle.stories.d.ts +0 -9
  1444. package/dist/stories/LiveCanvasToggle.stories.d.ts.map +0 -1
  1445. package/dist/stories/MetricCardWidget.stories.d.ts +0 -88
  1446. package/dist/stories/MetricCardWidget.stories.d.ts.map +0 -1
  1447. package/dist/stories/ProgressWidget.stories.d.ts +0 -48
  1448. package/dist/stories/ProgressWidget.stories.d.ts.map +0 -1
  1449. package/dist/stories/SetupStateBadge.stories.d.ts +0 -12
  1450. package/dist/stories/SetupStateBadge.stories.d.ts.map +0 -1
  1451. package/dist/translations/en.d.ts.map +0 -1
  1452. package/dist/utils/nativeBridge.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"DrilldownDashboardRenderer.js","names":[],"sources":["../../../src/bigconsole/components/DrilldownDashboardRenderer.tsx"],"sourcesContent":["/**\n * DrilldownDashboardRenderer Component\n *\n * Renders a dashboard inside the DrilldownModal.\n * Fetches dashboard data and displays the target page's widgets (the page named\n * by the drilldown, else the first page) with passed parameters (BOFF-7625).\n */\n\nimport { type FC, memo, useEffect, useState } from 'react';\nimport { useApolloClient } from '@apollo/client/react';\nimport type { Widget } from '../types';\nimport { WidgetWrapper } from './widgets/WidgetWrapper';\nimport { Section, SectionStack } from './common';\nimport { ListWidgetsByDashboardDocument, GetDashboardDocument } from '../../generated/wspace-operations';\nimport { mapFromFederationWidgetType } from '../utils/widgetTypeMapping';\nimport { MODAL_TARGET_PAGE_PARAM } from '../hooks/useDrilldown';\nimport { getVisibleDrilldownParams } from '../utils/drilldownParams';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface DrilldownDashboardRendererProps {\n /** Target dashboard ID to render */\n dashboardId: string;\n live?: boolean;\n refreshRevision?: number;\n /** Parameters passed from drilldown (can be used for filtering) */\n params: Record<string, unknown>;\n}\n\ninterface DashboardData {\n id: string;\n name: string;\n description?: string;\n pages: Array<{\n id: string;\n name: string;\n }>;\n}\n\n// ============================================================================\n// Helper: Normalize widget from GraphQL\n// ============================================================================\n\nfunction normalizeWidget(raw: Record<string, unknown>, index: number): Widget {\n // For drilldown modal, stack widgets vertically with compact sizing\n const posX = 0;\n const posY = index * 4; // Stack vertically, 4 row units per widget\n const posW = 12; // Full width\n const posH = 4; // Better height for widget content\n\n const position = { x: posX, y: posY, width: posW, height: posH };\n\n // Get the config object\n const config = (raw.config as Record<string, unknown>) || {};\n\n // Map widget type correctly: check _internalWidgetType first, then map from federation type\n // This is critical — federation types like 'KPI' must be mapped to internal types like 'metric_card'\n const internalType = config._internalWidgetType as string | undefined;\n const widgetType = internalType || mapFromFederationWidgetType((raw.type as string) || 'KPI');\n\n return {\n id: (raw.id as string) ?? '',\n pageId: (raw.pageId as string) || '',\n dashboardId: raw.dashboardId as string | undefined,\n type: widgetType,\n title: (raw.title as string) || 'Untitled Widget',\n renderer: raw.renderer || 'BIGCONSOLE',\n template: raw.template || null,\n dataSinkId: raw.dataSinkId || null,\n datasetId: raw.datasetId || null,\n parserId: raw.parserId || null,\n parserRules: raw.parserRules || null,\n config: config,\n position: position,\n positionX: posX,\n positionY: posY,\n positionWidth: posW,\n positionHeight: posH,\n positionResponsive: raw.positionResponsive as Widget['positionResponsive'],\n rowOrder: (raw.rowOrder as number | null) ?? null,\n refreshInterval: raw.refreshInterval,\n lastRefreshedAt: raw.lastRefreshedAt,\n cacheTTL: (raw.cacheTTL as number | null) ?? null,\n drilldown: raw.drilldown as Widget['drilldown'],\n actions: (raw.actions as Widget['actions']) || [],\n translations: (raw.translations as Widget['translations']) || [],\n metadata: raw.metadata as Record<string, unknown> | undefined,\n context: raw.context,\n // Include widget data from backend (critical for showing real data in modal)\n data: raw.data || null,\n createdAt: (raw.createdAt as string) || new Date().toISOString(),\n updatedAt: (raw.updatedAt as string) || new Date().toISOString(),\n } as Widget;\n}\n\n/** Place a widget at a given slot of the modal's single-column stack. */\nfunction normalizeStacking(widget: Widget, index: number): Widget {\n const position = { x: 0, y: index * 4, width: 12, height: 4 };\n return { ...widget, position, positionX: 0, positionY: position.y, positionWidth: 12, positionHeight: 4 };\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const DrilldownDashboardRenderer: FC<DrilldownDashboardRendererProps> = memo(\n function DrilldownDashboardRenderer({ dashboardId, params, live = false, refreshRevision = 0 }) {\n const apolloClient = useApolloClient();\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n const [dashboard, setDashboard] = useState<DashboardData | null>(null);\n const [widgets, setWidgets] = useState<Widget[]>([]);\n\n // Fetch dashboard and widgets — only when dashboardId is provided\n useEffect(() => {\n if (!dashboardId) {\n setLoading(false);\n return;\n }\n\n let cancelled = false;\n let fetching = false;\n setLoading(true);\n async function fetchData() {\n if (fetching) return;\n fetching = true;\n setError(null);\n\n try {\n // Fetch dashboard info\n interface DashboardQueryResult {\n getDashboard: {\n id: string;\n name: string;\n description?: string;\n pages?: {\n edges?: Array<{ node: { id: string; name?: string } }>;\n };\n } | null;\n }\n\n const dashboardResult = await apolloClient.query<DashboardQueryResult>({\n query: GetDashboardDocument,\n variables: { id: dashboardId },\n fetchPolicy: 'network-only',\n });\n\n if (cancelled) return;\n const dashboardData = dashboardResult.data?.getDashboard;\n if (!dashboardData) {\n setError('Dashboard not found');\n setLoading(false);\n return;\n }\n\n // Normalize dashboard\n const pages =\n dashboardData.pages?.edges?.map((edge) => ({\n id: edge.node.id,\n name: edge.node.name || 'Page 1',\n })) || [];\n\n setDashboard({\n id: dashboardData.id,\n name: dashboardData.name,\n description: dashboardData.description,\n pages,\n });\n\n // Fetch widgets for the dashboard\n const widgetsResult = await apolloClient.query<{ listWidgetsByDashboard: Record<string, unknown>[] }>({\n query: ListWidgetsByDashboardDocument,\n variables: { dashboardId },\n fetchPolicy: 'network-only',\n });\n\n if (cancelled) return;\n const widgetsList = widgetsResult.data?.listWidgetsByDashboard || [];\n setWidgets(widgetsList.map((w, i) => normalizeWidget(w, i)));\n } catch (err) {\n if (!cancelled) setError(err instanceof Error ? err.message : 'Failed to load dashboard');\n } finally {\n fetching = false;\n if (!cancelled) setLoading(false);\n }\n }\n\n void fetchData();\n const interval = live\n ? window.setInterval(() => {\n if (document.visibilityState === 'visible') void fetchData();\n }, 4000)\n : undefined;\n return () => {\n cancelled = true;\n if (interval !== undefined) window.clearInterval(interval);\n };\n }, [dashboardId, apolloClient, live, refreshRevision]);\n\n // Loading state\n if (loading) {\n return (\n <div className=\"flex items-center justify-center h-full\">\n <div className=\"flex flex-col items-center gap-3\">\n <div className=\"w-8 h-8 border-2 border-action-primary-bg border-t-transparent rounded-full animate-spin\" />\n <p className=\"text-sm text-text-secondary\">Loading dashboard...</p>\n </div>\n </div>\n );\n }\n\n // Error state\n if (error) {\n return (\n <div className=\"flex h-full items-center justify-center\" role=\"alert\">\n <Section\n headingLevel={3}\n tone=\"danger\"\n className=\"w-full max-w-md\"\n data-testid=\"drilldown-error\"\n title=\"Could not load this dashboard\"\n description={error}\n icon={\n <svg className=\"h-icon-md w-icon-md\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"\n />\n </svg>\n }\n />\n </div>\n );\n }\n\n // Empty state\n if (!dashboard || widgets.length === 0) {\n return (\n <div className=\"flex items-center justify-center h-full\">\n <div className=\"flex flex-col items-center gap-3 text-center\">\n <svg className=\"w-12 h-12 text-text-muted\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z\"\n />\n </svg>\n <p className=\"text-sm text-text-secondary\">\n {dashboard ? 'This dashboard has no widgets' : 'Dashboard not found'}\n </p>\n </div>\n </div>\n );\n }\n\n const visibleParams = getVisibleDrilldownParams(params);\n\n // Show one page: the drilldown's target page when it still exists, else the\n // first page. Widgets without a page id (older payloads) are always shown.\n const requestedPageId = params[MODAL_TARGET_PAGE_PARAM];\n const activePage = dashboard.pages.find((page) => page.id === requestedPageId) ?? dashboard.pages[0] ?? null;\n const pageWidgets = activePage\n ? widgets.filter((widget) => !widget.pageId || widget.pageId === activePage.id)\n : widgets;\n // Re-flow the page's widgets top to bottom (the stacking was computed over\n // the whole dashboard).\n const stackedWidgets = pageWidgets.map((widget, index) => normalizeStacking(widget, index));\n\n return (\n <SectionStack className=\"w-full\">\n {/* Which board you drilled into — identity, not content. */}\n <Section\n emphasis=\"bare\"\n padding=\"none\"\n headingLevel={3}\n title={dashboard.name}\n description={\n dashboard.pages.length > 1 && activePage ? (\n <span data-testid=\"drilldown-dashboard-page\">{activePage.name}</span>\n ) : (\n dashboard.description\n )\n }\n data-testid=\"drilldown-dashboard-header\"\n />\n\n {/* The filter context you arrived with: supporting detail, recessed. */}\n {visibleParams.length > 0 && (\n <Section\n emphasis=\"muted\"\n padding=\"compact\"\n headingLevel={3}\n title=\"Filtered by\"\n data-testid=\"drilldown-params\"\n bodyClassName=\"flex flex-wrap gap-control-gap\"\n >\n {visibleParams.map(([key, value]) => (\n <span\n key={key}\n className=\"inline-flex items-center rounded-pill bg-bg-surface px-2 py-1 text-xs text-text-secondary\"\n >\n <span className=\"font-medium text-text-primary\">{key}:</span>\n <span className=\"ml-1\">\n {typeof value === 'object' && value !== null ? JSON.stringify(value) : String(value)}\n </span>\n </span>\n ))}\n </Section>\n )}\n\n {/* Widgets List - simple vertical layout for modal */}\n <div className=\"flex flex-col gap-form-gap\">\n {stackedWidgets.length === 0 && (\n <p className=\"text-sm text-text-secondary\" data-testid=\"drilldown-page-empty\">\n This page has no widgets\n </p>\n )}\n {stackedWidgets.map((widget) => {\n // Chart widgets (LINE_CHART / chart) need explicit pixel height because\n // Recharts ResponsiveContainer height=\"100%\" requires a parent with\n // a definite height — minHeight alone doesn't work.\n const internalType = (widget.config as Record<string, unknown>)?._internalWidgetType as string | undefined;\n const widgetType = widget.type as string;\n const isChartWidget =\n widgetType === 'LINE_CHART' ||\n widgetType === 'chart' ||\n internalType === 'chart' ||\n internalType === 'funnel_chart';\n const isTableWidget =\n widgetType === 'TABLE' ||\n widgetType === 'table' ||\n internalType === 'table' ||\n internalType === 'list' ||\n internalType === 'pivot_table';\n\n // Charts need an explicit height (Recharts' ResponsiveContainer needs a\n // definite parent). Clamping against the viewport keeps a 350px chart\n // plus a 500px table from filling a phone screen twice over.\n const heightStyle = isChartWidget\n ? { height: 'clamp(220px, 45vh, 350px)' }\n : isTableWidget\n ? { minHeight: 'min(250px, 40vh)', maxHeight: 'min(500px, 65vh)' }\n : { minHeight: 'min(120px, 25vh)', maxHeight: 'min(300px, 50vh)' };\n\n return (\n <div\n key={widget.id}\n className=\"min-w-0 overflow-hidden rounded-card border border-[var(--color-border-subtle)] bg-bg-surface\"\n style={heightStyle}\n >\n <WidgetInModal widget={widget} filterValues={params} />\n </div>\n );\n })}\n </div>\n </SectionStack>\n );\n }\n);\n\n// ============================================================================\n// Widget In Modal Component\n// ============================================================================\n\ninterface WidgetInModalProps {\n widget: Widget;\n filterValues?: Record<string, unknown>;\n}\n\nconst WidgetInModal: FC<WidgetInModalProps> = memo(function WidgetInModal({ widget, filterValues }) {\n return (\n <div className=\"h-full [&_[data-widget-id]]:border-transparent [&_[data-widget-id]:hover]:border-transparent\">\n <WidgetWrapper widget={widget} isLoading={false} error={null} filterValues={filterValues} />\n </div>\n );\n});\n\nexport default DrilldownDashboardRenderer;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DrilldownModal.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/components/DrilldownModal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA6B,MAAM,OAAO,CAAC;AAe3D,MAAM,WAAW,mBAAmB;IAClC,gDAAgD;IAChD,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IAC5F,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAMD,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAoHjD,CAAC;AAYH,eAAe,cAAc,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DrilldownModal.js","names":[],"sources":["../../../src/bigconsole/components/DrilldownModal.tsx"],"sourcesContent":["/**\n * DrilldownModal Component\n *\n * Modal overlay for displaying drilldown dashboards.\n * Supports nested drilldowns with back navigation.\n */\n\nimport { type FC, useCallback, useRef, memo } from 'react';\nimport { useDrilldownStore } from '../store/drilldownStore';\nimport { SECTION_FOCUS_RING } from './common';\nimport { getVisibleDrilldownParams } from '../utils/drilldownParams';\nimport {\n ResponsiveDialog as Dialog,\n ResponsiveDialogContent as DialogContent,\n ResponsiveDialogTitle as DialogTitle,\n ResponsiveDialogDescription as DialogDescription,\n} from '@burdenoff/fe-libs/ui';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface DrilldownModalProps {\n /** Custom content renderer for the dashboard */\n renderDashboard?: (dashboardId: string, params: Record<string, unknown>) => React.ReactNode;\n /** Called when modal closes */\n onClose?: () => void;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const DrilldownModal: FC<DrilldownModalProps> = memo(function DrilldownModal({ renderDashboard, onClose }) {\n const returnFocus = useRef<HTMLElement | null>(null);\n const isOpen = useDrilldownStore((state) => state.isOpen);\n const dashboardId = useDrilldownStore((state) => state.dashboardId);\n const params = useDrilldownStore((state) => state.params);\n const history = useDrilldownStore((state) => state.history);\n const closeModal = useDrilldownStore((state) => state.closeModal);\n const popDrilldown = useDrilldownStore((state) => state.popDrilldown);\n\n // Define handlers before effects that use them\n const handleClose = useCallback(() => {\n closeModal();\n onClose?.();\n }, [closeModal, onClose]);\n\n const handleBack = useCallback(() => {\n popDrilldown();\n }, [popDrilldown]);\n\n if (!isOpen || !dashboardId) {\n return null;\n }\n\n return (\n <Dialog\n open={isOpen}\n onOpenChange={(open) => {\n if (!open) handleClose();\n }}\n >\n <DialogContent\n showCloseButton={false}\n onOpenAutoFocus={() => {\n const activeElement = document.activeElement;\n if (\n activeElement instanceof HTMLElement &&\n activeElement !== document.body &&\n !activeElement.closest('[role=\"dialog\"]')\n ) {\n returnFocus.current = activeElement;\n }\n }}\n onCloseAutoFocus={(event) => {\n event.preventDefault();\n if (returnFocus.current?.isConnected) returnFocus.current.focus();\n }}\n className=\"flex w-full md:w-[calc(100%-2rem)] max-w-5xl flex-col gap-0 overflow-hidden rounded-card bg-bg-surface p-0 sm:max-w-5xl\"\n style={{ maxHeight: 'calc(100dvh - 2rem)' }}\n >\n <DialogDescription className=\"sr-only\">\n Explore the linked dashboard and return to the previous drilldown level.\n </DialogDescription>\n {/* Header — bare chrome: identity + close, no surface of its own */}\n <div className=\"flex flex-shrink-0 flex-wrap items-center justify-between gap-control-gap border-b border-[var(--color-border-subtle)] px-4 py-3\">\n <div className=\"flex min-w-0 items-center gap-3\">\n {/* Back button */}\n {history.length > 0 && (\n <button\n type=\"button\"\n onClick={handleBack}\n className={`flex h-control-md w-[var(--size-controlHeight-md)] shrink-0 items-center justify-center rounded-button motion-safe:transition-colors hover:bg-bg-sunken ${SECTION_FOCUS_RING}`}\n title=\"Go back\"\n aria-label=\"Go back\"\n >\n <svg className=\"w-5 h-5 text-text-secondary\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M15 19l-7-7 7-7\" />\n </svg>\n </button>\n )}\n\n {/* Title */}\n <DialogTitle className=\"truncate text-sm font-semibold text-text-primary\">Drilldown View</DialogTitle>\n\n {/* Breadcrumb indicator */}\n {history.length > 0 && (\n <span className=\"text-xs text-text-muted\">\n ({history.length + 1} level{history.length > 0 ? 's' : ''} deep)\n </span>\n )}\n </div>\n\n {/* Close button */}\n <button\n type=\"button\"\n onClick={handleClose}\n className={`flex h-control-md w-[var(--size-controlHeight-md)] shrink-0 items-center justify-center rounded-button motion-safe:transition-colors hover:bg-bg-sunken ${SECTION_FOCUS_RING}`}\n title=\"Close (Esc)\"\n aria-label=\"Close drilldown\"\n >\n <svg className=\"w-5 h-5 text-text-secondary\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M6 18L18 6M6 6l12 12\" />\n </svg>\n </button>\n </div>\n\n {/* Dashboard Content — the point of the overlay, so it gets the surface\n weight and the chrome around it stays flat. */}\n <div className=\"min-h-0 flex-1 overflow-y-auto bg-bg-sunken p-4\">\n {renderDashboard ? renderDashboard(dashboardId, params) : <DrilldownFallback />}\n </div>\n\n {/* Footer — supporting detail only */}\n <div className=\"flex-shrink-0 border-t border-[var(--color-border-subtle)] px-4 py-2\">\n <div className=\"flex flex-wrap items-center justify-between gap-x-4 gap-y-1 text-xs text-text-muted\">\n <span>\n Parameters:{' '}\n {getVisibleDrilldownParams(params)\n .map(([key]) => key)\n .join(', ') || 'None'}\n </span>\n <span>Press Esc to close</span>\n </div>\n </div>\n </DialogContent>\n </Dialog>\n );\n});\n\n// Fallback when no renderDashboard prop is provided (should not happen in normal usage\n// since BigConsoleRoot always passes DrilldownDashboardRenderer).\nfunction DrilldownFallback() {\n return (\n <div className=\"flex items-center justify-center h-full text-sm text-text-secondary\">\n Unable to load drilldown content. Please try again.\n </div>\n );\n}\n\nexport default DrilldownModal;\n"],"mappings":";;;;;;;;AAiCA,IAAa,IAA0C,EAAK,SAAwB,EAAE,oBAAiB,cAAW;CAChH,IAAM,IAAc,EAA2B,KAAK,EAC9C,IAAS,GAAmB,MAAU,EAAM,OAAO,EACnD,IAAc,GAAmB,MAAU,EAAM,YAAY,EAC7D,IAAS,GAAmB,MAAU,EAAM,OAAO,EACnD,IAAU,GAAmB,MAAU,EAAM,QAAQ,EACrD,IAAa,GAAmB,MAAU,EAAM,WAAW,EAC3D,IAAe,GAAmB,MAAU,EAAM,aAAa,EAG/D,IAAc,QAAkB;AAEpC,EADA,GAAY,EACZ,KAAW;IACV,CAAC,GAAY,EAAQ,CAAC,EAEnB,IAAa,QAAkB;AACnC,KAAc;IACb,CAAC,EAAa,CAAC;AAMlB,QAJI,CAAC,KAAU,CAAC,IACP,OAIP,kBAAC,GAAD;EACE,MAAM;EACN,eAAe,MAAS;AACtB,GAAK,KAAM,GAAa;;YAG1B,kBAAC,GAAD;GACE,iBAAiB;GACjB,uBAAuB;IACrB,IAAM,IAAgB,SAAS;AAC/B,IACE,aAAyB,eACzB,MAAkB,SAAS,QAC3B,CAAC,EAAc,QAAQ,oBAAkB,KAEzC,EAAY,UAAU;;GAG1B,mBAAmB,MAAU;AAE3B,IADA,EAAM,gBAAgB,EAClB,EAAY,SAAS,eAAa,EAAY,QAAQ,OAAO;;GAEnE,WAAU;GACV,OAAO,EAAE,WAAW,uBAAuB;aAjB7C;IAmBE,kBAAC,GAAD;KAAmB,WAAU;eAAU;KAEnB,CAAA;IAEpB,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,OAAD;MAAK,WAAU;gBAAf;OAEG,EAAQ,SAAS,KAChB,kBAAC,UAAD;QACE,MAAK;QACL,SAAS;QACT,WAAW;QACX,OAAM;QACN,cAAW;kBAEX,kBAAC,OAAD;SAAK,WAAU;SAA8B,MAAK;SAAO,QAAO;SAAe,SAAQ;mBACrF,kBAAC,QAAD;UAAM,eAAc;UAAQ,gBAAe;UAAQ,aAAa;UAAG,GAAE;UAAoB,CAAA;SACrF,CAAA;QACC,CAAA;OAIX,kBAAC,GAAD;QAAa,WAAU;kBAAmD;QAA4B,CAAA;OAGrG,EAAQ,SAAS,KAChB,kBAAC,QAAD;QAAM,WAAU;kBAAhB;SAA0C;SACtC,EAAQ,SAAS;SAAE;SAAO,EAAQ,SAAS,IAAI,MAAM;SAAG;SACrD;;OAEL;SAGN,kBAAC,UAAD;MACE,MAAK;MACL,SAAS;MACT,WAAW,2JAA2J;MACtK,OAAM;MACN,cAAW;gBAEX,kBAAC,OAAD;OAAK,WAAU;OAA8B,MAAK;OAAO,QAAO;OAAe,SAAQ;iBACrF,kBAAC,QAAD;QAAM,eAAc;QAAQ,gBAAe;QAAQ,aAAa;QAAG,GAAE;QAAyB,CAAA;OAC1F,CAAA;MACC,CAAA,CACL;;IAIN,kBAAC,OAAD;KAAK,WAAU;eACZ,IAAkB,EAAgB,GAAa,EAAO,GAAG,kBAAC,GAAD,EAAqB,CAAA;KAC3E,CAAA;IAGN,kBAAC,OAAD;KAAK,WAAU;eACb,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,QAAD,EAAA,UAAA;OAAM;OACQ;OACX,EAA0B,EAAO,CAC/B,KAAK,CAAC,OAAS,EAAI,CACnB,KAAK,KAAK,IAAI;OACZ,EAAA,CAAA,EACP,kBAAC,QAAD,EAAA,UAAM,sBAAyB,CAAA,CAC3B;;KACF,CAAA;IACQ;;EACT,CAAA;EAEX;AAIF,SAAS,IAAoB;AAC3B,QACE,kBAAC,OAAD;EAAK,WAAU;YAAsE;EAE/E,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuilderCanvas.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/builder/BuilderCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAQ,MAAM,OAAO,CAAC;AAEtD,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAW/C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuilderCanvas.js","names":[],"sources":["../../../../src/bigconsole/components/builder/BuilderCanvas.tsx"],"sourcesContent":["import { type FC, type ReactNode, memo } from 'react';\n\nexport interface BuilderCanvasProps {\n palette?: ReactNode;\n canvas: ReactNode;\n inspector?: ReactNode;\n}\n\n/**\n * Stable pane composition for the builder: palette, canvas, inspector.\n *\n * The three panes sit side by side from `md` up. Below that they stack, because\n * a 300px palette pinned next to a canvas leaves the canvas unusably narrow on a\n * phone (BOFF-5636). The canvas keeps `min-w-0` so a wide widget grid scrolls\n * inside itself instead of pushing the page into horizontal scroll.\n */\nexport const BuilderCanvas: FC<BuilderCanvasProps> = memo(function BuilderCanvas({ palette, canvas, inspector }) {\n return (\n <div\n className=\"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden md:flex-row\"\n data-testid=\"dashboard-editor-panes\"\n >\n {palette}\n <main className=\"relative min-h-0 min-w-0 flex-1 overflow-hidden\">{canvas}</main>\n {inspector}\n </div>\n );\n});\n"],"mappings":";;;AAgBA,IAAa,IAAwC,EAAK,SAAuB,EAAE,YAAS,WAAQ,gBAAa;AAC/G,QACE,kBAAC,OAAD;EACE,WAAU;EACV,eAAY;YAFd;GAIG;GACD,kBAAC,QAAD;IAAM,WAAU;cAAmD;IAAc,CAAA;GAChF;GACG;;EAER"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuilderTopbar.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/builder/BuilderTopbar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAQ,MAAM,OAAO,CAAC;AAItD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAa/C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BuilderTopbar.js","names":[],"sources":["../../../../src/bigconsole/components/builder/BuilderTopbar.tsx"],"sourcesContent":["import { type FC, type ReactNode, memo } from 'react';\nimport { ArrowLeft } from 'lucide-react';\nimport { Button } from '@burdenoff/fe-libs/ui';\n\nexport interface BuilderTopbarProps {\n title: string;\n onBack: () => void;\n actions?: ReactNode;\n}\n\n/**\n * Route-level navigation and identity for the dashboard editor.\n *\n * This is the route's `h1`, so it is set heavier than the section titles below\n * it; previously it was `text-sm`, i.e. lighter than the dashboard title in the\n * toolbar directly beneath, which made two adjacent bars compete (BOFF-5636).\n * The bar is a `bare` structural strip — spacing and a seam, no card surface.\n */\nexport const BuilderTopbar: FC<BuilderTopbarProps> = memo(function BuilderTopbar({ title, onBack, actions }) {\n return (\n <header className=\"flex min-h-12 flex-wrap items-center gap-x-control-gap gap-y-1 border-b border-[var(--color-border-subtle)] bg-bg-surface px-3 py-2\">\n <Button onClick={onBack} variant=\"ghost\" size=\"sm\" title=\"Back to Dashboards\" aria-label=\"Back to Dashboards\">\n <ArrowLeft className=\"mr-2 size-4\" />\n Back\n </Button>\n <h1 className=\"min-w-0 flex-1 truncate text-base font-semibold tracking-tight text-text-primary\" title={title}>\n {title}\n </h1>\n {actions && <div className=\"flex flex-shrink-0 flex-wrap items-center gap-2\">{actions}</div>}\n </header>\n );\n});\n"],"mappings":";;;;;AAkBA,IAAa,IAAwC,EAAK,SAAuB,EAAE,UAAO,WAAQ,cAAW;AAC3G,QACE,kBAAC,UAAD;EAAQ,WAAU;YAAlB;GACE,kBAAC,GAAD;IAAQ,SAAS;IAAQ,SAAQ;IAAQ,MAAK;IAAK,OAAM;IAAqB,cAAW;cAAzF,CACE,kBAAC,GAAD,EAAW,WAAU,eAAgB,CAAA,EAAA,OAE9B;;GACT,kBAAC,MAAD;IAAI,WAAU;IAA0F;cACrG;IACE,CAAA;GACJ,KAAW,kBAAC,OAAD;IAAK,WAAU;cAAmD;IAAc,CAAA;GACrF;;EAEX"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardEditorShell.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/builder/DashboardEditorShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAQ,MAAM,OAAO,CAAC;AAEtD,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,yBAAyB,CAa7D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardEditorShell.js","names":[],"sources":["../../../../src/bigconsole/components/builder/DashboardEditorShell.tsx"],"sourcesContent":["import { type FC, type ReactNode, memo } from 'react';\n\nexport interface DashboardEditorShellProps {\n topbar: ReactNode;\n children: ReactNode;\n}\n\n/** Full-height route shell for the dashboard editing experience. */\nexport const DashboardEditorShell: FC<DashboardEditorShellProps> = memo(function DashboardEditorShell({\n topbar,\n children,\n}) {\n return (\n <section\n className=\"flex h-full min-h-0 min-w-0 flex-col overflow-hidden bg-bg-canvas\"\n data-testid=\"dashboard-editor\"\n >\n <div className=\"flex-shrink-0\">{topbar}</div>\n <div className=\"flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden\">{children}</div>\n </section>\n );\n});\n"],"mappings":";;;AAQA,IAAa,IAAsD,EAAK,SAA8B,EACpG,WACA,eACC;AACD,QACE,kBAAC,WAAD;EACE,WAAU;EACV,eAAY;YAFd,CAIE,kBAAC,OAAD;GAAK,WAAU;aAAiB;GAAa,CAAA,EAC7C,kBAAC,OAAD;GAAK,WAAU;GAAwD;GAAe,CAAA,CAC9E;;EAEZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WidgetInspector.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/builder/WidgetInspector.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AAGtC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAEnD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"WidgetInspector.js","names":[],"sources":["../../../../src/bigconsole/components/builder/WidgetInspector.tsx"],"sourcesContent":["import { type FC, memo } from 'react';\nimport { PropertiesPanel } from '../widgets/PropertiesPanel';\n\nexport interface WidgetInspectorProps {\n isOpen: boolean;\n onClose: () => void;\n}\n\n/**\n * Canonical add/edit inspector entry point.\n *\n * PropertiesPanel remains the compatibility implementation while its sections\n * are extracted incrementally. Builder callers should depend on this component\n * so that migration does not create a second editing surface.\n */\nexport const WidgetInspector: FC<WidgetInspectorProps> = memo(function WidgetInspector({ isOpen, onClose }) {\n return <PropertiesPanel isOpen={isOpen} onClose={onClose} />;\n});\n"],"mappings":";;;;AAeA,IAAa,IAA4C,EAAK,SAAyB,EAAE,WAAQ,cAAW;AAC1G,QAAO,kBAAC,GAAD;EAAyB;EAAiB;EAAW,CAAA;EAC5D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/builder/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AdvancedSection.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/builder/inspector/AdvancedSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,SAAS,EAAQ,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,YAAY,CAAC;IACvB,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,gBAAgB,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,cAAc,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,8EAA8E;AAC9E,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CA+BnD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AdvancedSection.js","names":[],"sources":["../../../../../src/bigconsole/components/builder/inspector/AdvancedSection.tsx"],"sourcesContent":["import { type FC, type ReactNode, memo } from 'react';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@burdenoff/fe-libs/ui';\nimport type { RendererType } from '../../../types';\nimport { Section } from '../../common';\n\nexport interface AdvancedRendererOption {\n value: RendererType;\n label: string;\n description: string;\n}\n\nexport interface AdvancedSectionProps {\n renderer: RendererType;\n rendererOptions: AdvancedRendererOption[];\n onRendererChange: (renderer: RendererType) => void;\n templateEditor?: ReactNode;\n}\n\n/** Renderer/template controls; actions and integrations migrate here next. */\nexport const AdvancedSection: FC<AdvancedSectionProps> = memo(function AdvancedSection({\n renderer,\n rendererOptions,\n onRendererChange,\n templateEditor,\n}) {\n const selectedOption = rendererOptions.find((option) => option.value === renderer);\n\n return (\n <Section\n id=\"widget-advanced-renderer\"\n title=\"Renderer\"\n description=\"Which engine draws this widget's body. Non-native renderers take a JSON template.\"\n data-testid=\"widget-inspector-renderer\"\n >\n <Select value={renderer} onValueChange={(value) => onRendererChange(value as RendererType)}>\n <SelectTrigger className=\"h-control-md text-sm\">\n <SelectValue placeholder=\"Select renderer\" />\n </SelectTrigger>\n <SelectContent position=\"popper\" side=\"bottom\" sideOffset={4} align=\"start\" className=\"max-h-52\">\n {rendererOptions.map((option) => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n {selectedOption && <p className=\"mt-1 text-sm text-text-muted\">{selectedOption.description}</p>}\n {templateEditor}\n </Section>\n );\n});\n"],"mappings":";;;;;;AAmBA,IAAa,IAA4C,EAAK,SAAyB,EACrF,aACA,oBACA,qBACA,qBACC;CACD,IAAM,IAAiB,EAAgB,MAAM,MAAW,EAAO,UAAU,EAAS;AAElF,QACE,kBAAC,GAAD;EACE,IAAG;EACH,OAAM;EACN,aAAY;EACZ,eAAY;YAJd;GAME,kBAAC,GAAD;IAAQ,OAAO;IAAU,gBAAgB,MAAU,EAAiB,EAAsB;cAA1F,CACE,kBAAC,GAAD;KAAe,WAAU;eACvB,kBAAC,GAAD,EAAa,aAAY,mBAAoB,CAAA;KAC/B,CAAA,EAChB,kBAAC,GAAD;KAAe,UAAS;KAAS,MAAK;KAAS,YAAY;KAAG,OAAM;KAAQ,WAAU;eACnF,EAAgB,KAAK,MACpB,kBAAC,GAAD;MAA+B,OAAO,EAAO;gBAC1C,EAAO;MACG,EAFI,EAAO,MAEX,CACb;KACY,CAAA,CACT;;GACR,KAAkB,kBAAC,KAAD;IAAG,WAAU;cAAgC,EAAe;IAAgB,CAAA;GAC9F;GACO;;EAEZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppearanceSection.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/builder/inspector/AppearanceSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAsBjD,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACrD;AA0BD,sEAAsE;AACtE,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAgCvD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"AppearanceSection.js","names":[],"sources":["../../../../../src/bigconsole/components/builder/inspector/AppearanceSection.tsx"],"sourcesContent":["import { type ComponentType, type FC, memo } from 'react';\nimport type { WidgetType } from '../../../types';\nimport { Section } from '../../common';\nimport { MetricCardConfig } from '../../widgets/metric-card/MetricCardConfig';\nimport { ChartConfig } from '../../widgets/chart/ChartConfig';\nimport { TableConfig } from '../../widgets/table/TableConfig';\nimport { GaugeConfig } from '../../widgets/gauge/GaugeConfig';\nimport { ProgressConfig } from '../../widgets/progress/ProgressConfig';\nimport { ListConfig } from '../../widgets/list/ListConfig';\nimport { HeatmapConfig } from '../../widgets/heatmap/HeatmapConfig';\n\ninterface ConfigComponentProps {\n config: never;\n onChange: (config: never) => void;\n}\n\n// Legacy widget config components expose distinct config interfaces even though\n// they share the same runtime { config, onChange } contract. Keep the narrowing\n// cast in this adapter instead of spreading `never` casts across inspector code.\nfunction asConfigComponent(component: ComponentType<unknown>): ComponentType<ConfigComponentProps> {\n return component as unknown as ComponentType<ConfigComponentProps>;\n}\n\nexport interface AppearanceSectionProps {\n widgetType: WidgetType;\n config: Record<string, unknown>;\n onChange: (config: Record<string, unknown>) => void;\n}\n\nfunction getConfigComponent(type: WidgetType): ComponentType<ConfigComponentProps> | null {\n switch (type) {\n case 'metric_card':\n case 'kpi_card_comparison':\n return asConfigComponent(MetricCardConfig as ComponentType<unknown>);\n case 'chart':\n case 'funnel_chart':\n return asConfigComponent(ChartConfig as ComponentType<unknown>);\n case 'table':\n case 'pivot_table':\n return asConfigComponent(TableConfig as ComponentType<unknown>);\n case 'gauge':\n return asConfigComponent(GaugeConfig as ComponentType<unknown>);\n case 'progress':\n return asConfigComponent(ProgressConfig as ComponentType<unknown>);\n case 'list':\n return asConfigComponent(ListConfig as ComponentType<unknown>);\n case 'heatmap':\n return asConfigComponent(HeatmapConfig as ComponentType<unknown>);\n default:\n return null;\n }\n}\n\n/** Widget-specific visual configuration with a shared empty state. */\nexport const AppearanceSection: FC<AppearanceSectionProps> = memo(function AppearanceSection({\n widgetType,\n config,\n onChange,\n}) {\n const ConfigComponent = getConfigComponent(widgetType);\n\n if (!ConfigComponent) {\n return (\n <Section\n tone=\"info\"\n padding=\"compact\"\n title=\"No style options\"\n headingLevel={3}\n data-testid=\"widget-inspector-style-empty\"\n >\n <p className=\"text-sm text-text-secondary\">\n This widget type renders from its data and template, so there is nothing to style here.\n </p>\n </Section>\n );\n }\n\n return (\n <Section\n title=\"Style\"\n description=\"Presentation options for this widget type. Data and identity live on the other tabs.\"\n data-testid=\"widget-inspector-style\"\n >\n <ConfigComponent config={config as never} onChange={onChange as (config: never) => void} />\n </Section>\n );\n});\n"],"mappings":";;;;;;;;;;;;AAmBA,SAAS,EAAkB,GAAwE;AACjG,QAAO;;AAST,SAAS,EAAmB,GAA8D;AACxF,SAAQ,GAAR;EACE,KAAK;EACL,KAAK,sBACH,QAAO,EAAkB,EAA2C;EACtE,KAAK;EACL,KAAK,eACH,QAAO,EAAkB,EAAsC;EACjE,KAAK;EACL,KAAK,cACH,QAAO,EAAkB,EAAsC;EACjE,KAAK,QACH,QAAO,EAAkB,EAAsC;EACjE,KAAK,WACH,QAAO,EAAkB,EAAyC;EACpE,KAAK,OACH,QAAO,EAAkB,EAAqC;EAChE,KAAK,UACH,QAAO,EAAkB,EAAwC;EACnE,QACE,QAAO;;;AAKb,IAAa,IAAgD,EAAK,SAA2B,EAC3F,eACA,WACA,eACC;CACD,IAAM,IAAkB,EAAmB,EAAW;AAkBtD,QAhBK,IAiBH,kBAAC,GAAD;EACE,OAAM;EACN,aAAY;EACZ,eAAY;YAEZ,kBAAC,GAAD;GAAyB;GAA2B;GAAuC,CAAA;EACnF,CAAA,GArBR,kBAAC,GAAD;EACE,MAAK;EACL,SAAQ;EACR,OAAM;EACN,cAAc;EACd,eAAY;YAEZ,kBAAC,KAAD;GAAG,WAAU;aAA8B;GAEvC,CAAA;EACI,CAAA;EAad"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataBindingSection.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/builder/inspector/DataBindingSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAKjF,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,aAAa,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CACtD;AAgBD,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAmK1D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataBindingSection.js","names":[],"sources":["../../../../../src/bigconsole/components/builder/inspector/DataBindingSection.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { Input, Label, Spinner } from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport type { WidgetBinding, WidgetBindingStatus, Parser } from '../../../types';\nimport { DataSinkSelector } from '../../parser/DataSinkSelector';\nimport { ParserSelector } from '../../parser/ParserSelector';\nimport { Section, SectionStack, type SectionTone } from '../../common';\n\nexport interface DataBindingSectionProps {\n consoleId: string;\n binding: WidgetBinding;\n resolvedParser?: Parser;\n dataSinkKey: string | null;\n dataPath?: string;\n status: WidgetBindingStatus;\n resolving?: boolean;\n missingFields?: string[];\n preview?: unknown;\n error?: string | null;\n onDataSinkChange: (key: string | null) => void;\n onParserChange: (parserId: string | null) => void;\n onDataPathChange: (path: string | undefined) => void;\n}\n\n/**\n * Binding health is the single most important signal on this tab, so it gets a\n * toned section of its own instead of the bare `<p class=\"text-xs\">` it used to\n * be (BOFF-5636).\n */\nconst STATUS_TONES: Record<WidgetBindingStatus, SectionTone> = {\n unbound: 'info',\n loading: 'info',\n bound: 'success',\n no_data: 'warning',\n parser_error: 'danger',\n field_mismatch: 'warning',\n};\n\nexport const DataBindingSection: FC<DataBindingSectionProps> = ({\n consoleId,\n binding,\n resolvedParser,\n dataSinkKey,\n dataPath,\n status,\n resolving = false,\n missingFields = [],\n preview,\n error,\n onDataSinkChange,\n onParserChange,\n onDataPathChange,\n}) => {\n const { t } = useI18n();\n\n const statusLabels: Record<WidgetBindingStatus, string> = {\n unbound: t('bigconsole.builder.dataBinding.status.unbound', 'Select a DataSink to begin'),\n loading: resolving\n ? t('bigconsole.parsers.selector.loading', 'Loading parsers...')\n : t('bigconsole.builder.dataBinding.status.loading', 'Testing parser and detecting fields…'),\n bound: t('bigconsole.builder.dataBinding.status.bound', 'Binding ready'),\n no_data: t('bigconsole.builder.dataBinding.status.noData', 'Parser returned no data'),\n parser_error: t('bigconsole.builder.dataBinding.status.parserError', 'Parser test failed'),\n field_mismatch: t('bigconsole.builder.dataBinding.status.fieldMismatch', 'Some mapped fields were not found'),\n };\n\n return (\n <SectionStack>\n <Section\n title=\"Data source\"\n description={t(\n 'bigconsole.builder.dataBinding.intro',\n 'Connect this widget to a DataSink and Parser to display transformed data.'\n )}\n data-testid=\"widget-inspector-data-source\"\n >\n <div className=\"flex flex-col gap-form-gap\">\n <div className=\"space-y-2\">\n <Label>{t('bigconsole.builder.dataBinding.dataSinkLabel', 'DataSink')}</Label>\n <DataSinkSelector\n value={dataSinkKey}\n onChange={onDataSinkChange}\n placeholder={t('bigconsole.builder.dataBinding.dataSinkPlaceholder', 'Select a DataSink...')}\n />\n {dataSinkKey && (\n <p className=\"text-xs text-text-secondary\">\n {t('bigconsole.builder.dataBinding.keyLabel', 'Key: {{key}}', { key: dataSinkKey })}\n {binding.source.ref && (\n <span className=\"ml-2 text-text-muted\">\n {t('bigconsole.builder.dataBinding.idLabel', 'ID: {{id}}...', {\n id: binding.source.ref.slice(0, 8),\n })}\n </span>\n )}\n </p>\n )}\n </div>\n\n <div className=\"space-y-2\">\n <Label>{t('bigconsole.builder.dataBinding.parserLabel', 'Parser')}</Label>\n <ParserSelector\n consoleId={consoleId}\n value={binding.parserId ?? null}\n resolvedParser={resolvedParser}\n onChange={onParserChange}\n filterInputSinkKey={dataSinkKey ?? undefined}\n filterStatus={undefined}\n placeholder={\n dataSinkKey\n ? t('bigconsole.builder.dataBinding.parserPlaceholder', 'Select a parser...')\n : t('bigconsole.builder.dataBinding.parserPlaceholderNoSink', 'Select a DataSink first...')\n }\n disabled={!dataSinkKey}\n />\n </div>\n </div>\n </Section>\n\n <Section\n title={statusLabels[status]}\n tone={STATUS_TONES[status]}\n padding=\"compact\"\n headingLevel={3}\n icon={status === 'loading' ? <Spinner style={{ width: '14px', height: '14px' }} /> : undefined}\n data-testid=\"widget-inspector-binding-status\"\n >\n <div role=\"status\" aria-live=\"polite\" className=\"min-w-0 space-y-1\">\n {/*\n The status label is the section heading, which sits OUTSIDE this live\n region — without this echo a screen reader would never hear the binding\n flip from \"loading\" to \"bound\".\n */}\n <p className=\"sr-only\">{statusLabels[status]}</p>\n {error && <p className=\"break-words text-xs text-[var(--color-status-error-text)]\">{error}</p>}\n {missingFields.length > 0 && (\n <p className=\"break-words text-xs text-[var(--color-status-warning-text)]\">\n {t('bigconsole.builder.dataBinding.missingFields', 'Missing: {{fields}}', {\n fields: missingFields.join(', '),\n })}\n </p>\n )}\n {!error && missingFields.length === 0 && status === 'bound' && preview !== undefined && (\n <p className=\"text-xs text-text-secondary\">\n The parser ran and its output matches the fields this widget expects.\n </p>\n )}\n </div>\n </Section>\n\n {binding.parserId && Object.keys(binding.fields).length > 0 && (\n <Section\n emphasis=\"muted\"\n padding=\"compact\"\n title={t('bigconsole.builder.dataBinding.fieldMappingsConfigured', 'Field mappings configured')}\n headingLevel={3}\n >\n <div className=\"min-w-0 space-y-1 text-xs text-text-secondary\">\n {Object.entries(binding.fields).map(([name, path]) => (\n <p key={name} className=\"break-words\">\n {name}: <code className=\"rounded bg-bg-surface px-1 font-mono\">{path}</code>\n </p>\n ))}\n </div>\n </Section>\n )}\n\n {preview !== undefined && (\n <Section\n emphasis=\"muted\"\n padding=\"compact\"\n title={t('bigconsole.builder.dataBinding.livePreviewLabel', 'Live Preview')}\n description=\"Raw parser output, exactly as the widget receives it.\"\n headingLevel={3}\n >\n <pre className=\"max-h-40 min-w-0 overflow-auto rounded-input border border-[var(--color-border-subtle)] bg-bg-surface p-3 text-xs text-text-secondary\">\n {JSON.stringify(preview, null, 2)}\n </pre>\n </Section>\n )}\n\n <Section emphasis=\"muted\" padding=\"compact\" title=\"Data path\" headingLevel={3}>\n <div className=\"space-y-2\">\n <Label htmlFor=\"widget-inspector-data-path\">\n {t('bigconsole.builder.dataBinding.dataPathLabel', 'Data Path (Optional)')}\n </Label>\n <Input\n id=\"widget-inspector-data-path\"\n value={dataPath ?? ''}\n onChange={(event) => onDataPathChange(event.target.value || undefined)}\n placeholder={t('bigconsole.builder.dataBinding.dataPathPlaceholder', 'e.g., summary.totalRevenue')}\n />\n <p className=\"text-xs text-text-secondary\">\n {t(\n 'bigconsole.builder.dataBinding.dataPathHelp',\n 'Path to extract specific data from the parser output (dot notation)'\n )}\n </p>\n </div>\n </Section>\n </SectionStack>\n );\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GeneralSection.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/builder/inspector/GeneralSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AAItC,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,mBAAmB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,uBAAuB,EAAE,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;CACxE;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CA8DjD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GeneralSection.js","names":[],"sources":["../../../../../src/bigconsole/components/builder/inspector/GeneralSection.tsx"],"sourcesContent":["import { type FC, memo } from 'react';\nimport { Input, Textarea } from '@burdenoff/fe-libs/ui';\nimport { Section } from '../../common';\n\nexport interface GeneralSectionProps {\n title: string;\n description: string;\n refreshInterval?: number;\n onTitleChange: (title: string) => void;\n onDescriptionChange: (description: string) => void;\n onRefreshIntervalChange: (refreshInterval: number | undefined) => void;\n}\n\n/**\n * Widget identity and refresh settings shared by every widget type.\n *\n * Field labels are `font-medium`: the section heading owns `font-semibold`, so a\n * label can never be mistaken for the heading that groups it (BOFF-5636).\n */\nexport const GeneralSection: FC<GeneralSectionProps> = memo(function GeneralSection({\n title,\n description,\n refreshInterval,\n onTitleChange,\n onDescriptionChange,\n onRefreshIntervalChange,\n}) {\n const labelClassName = 'mb-1 block text-sm font-medium text-text-primary';\n\n return (\n <Section\n title=\"Identity\"\n description=\"How this widget names itself on the dashboard, and how often it reloads.\"\n data-testid=\"widget-inspector-general\"\n >\n <div className=\"flex flex-col gap-form-gap\">\n <div>\n <label htmlFor=\"widget-inspector-title\" className={labelClassName}>\n Title\n </label>\n <Input\n id=\"widget-inspector-title\"\n value={title}\n onChange={(event) => onTitleChange(event.target.value)}\n className=\"h-control-md text-sm\"\n />\n </div>\n\n <div>\n <label htmlFor=\"widget-inspector-description\" className={labelClassName}>\n Description\n </label>\n <Textarea\n id=\"widget-inspector-description\"\n value={description}\n onChange={(event) => onDescriptionChange(event.target.value)}\n rows={3}\n className=\"resize-none text-sm\"\n />\n </div>\n\n <div>\n <label htmlFor=\"widget-inspector-refresh\" className={labelClassName}>\n Auto-refresh (seconds)\n </label>\n <Input\n id=\"widget-inspector-refresh\"\n type=\"number\"\n value={refreshInterval ?? ''}\n onChange={(event) =>\n onRefreshIntervalChange(event.target.value === '' ? undefined : Number(event.target.value))\n }\n min={0}\n placeholder=\"No auto-refresh\"\n className=\"h-control-md text-sm\"\n />\n <p className=\"mt-1 text-xs text-text-secondary\">Leave empty to refresh only on demand.</p>\n </div>\n </div>\n </Section>\n );\n});\n"],"mappings":";;;;;;AAmBA,IAAa,IAA0C,EAAK,SAAwB,EAClF,UACA,gBACA,oBACA,kBACA,wBACA,8BACC;CACD,IAAM,IAAiB;AAEvB,QACE,kBAAC,GAAD;EACE,OAAM;EACN,aAAY;EACZ,eAAY;YAEZ,kBAAC,OAAD;GAAK,WAAU;aAAf;IACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;KAAO,SAAQ;KAAyB,WAAW;eAAgB;KAE3D,CAAA,EACR,kBAAC,GAAD;KACE,IAAG;KACH,OAAO;KACP,WAAW,MAAU,EAAc,EAAM,OAAO,MAAM;KACtD,WAAU;KACV,CAAA,CACE,EAAA,CAAA;IAEN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;KAAO,SAAQ;KAA+B,WAAW;eAAgB;KAEjE,CAAA,EACR,kBAAC,GAAD;KACE,IAAG;KACH,OAAO;KACP,WAAW,MAAU,EAAoB,EAAM,OAAO,MAAM;KAC5D,MAAM;KACN,WAAU;KACV,CAAA,CACE,EAAA,CAAA;IAEN,kBAAC,OAAD,EAAA,UAAA;KACE,kBAAC,SAAD;MAAO,SAAQ;MAA2B,WAAW;gBAAgB;MAE7D,CAAA;KACR,kBAAC,GAAD;MACE,IAAG;MACH,MAAK;MACL,OAAO,KAAmB;MAC1B,WAAW,MACT,EAAwB,EAAM,OAAO,UAAU,KAAK,KAAA,IAAY,OAAO,EAAM,OAAO,MAAM,CAAC;MAE7F,KAAK;MACL,aAAY;MACZ,WAAU;MACV,CAAA;KACF,kBAAC,KAAD;MAAG,WAAU;gBAAmC;MAA0C,CAAA;KACtF,EAAA,CAAA;IACF;;EACE,CAAA;EAEZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LayoutSection.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/builder/inspector/LayoutSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,QAAQ,EAAE,cAAc,CAAC;IACzB,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,QAAQ,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;CAC9C;AAYD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAkE/C,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LayoutSection.js","names":[],"sources":["../../../../../src/bigconsole/components/builder/inspector/LayoutSection.tsx"],"sourcesContent":["import { type FC, memo, useCallback } from 'react';\nimport { Input } from '@burdenoff/fe-libs/ui';\nimport { Section } from '../../common';\nimport type { WidgetPosition } from '../../../utils/widgetPositioning';\n\nexport interface LayoutSectionProps {\n /** Current grid placement of the selected widget. */\n position: WidgetPosition;\n /** Columns in the board's grid — the ceiling for `x + width`. */\n columns: number;\n /** Commit a new placement. The caller persists it with the dashboard. */\n onChange: (position: WidgetPosition) => void;\n}\n\n/** Which of the four numbers an input edits. */\ntype PositionField = keyof WidgetPosition;\n\nconst FIELD_LABELS: Record<PositionField, string> = {\n x: 'Column (X)',\n y: 'Row (Y)',\n width: 'Width',\n height: 'Height',\n};\n\n/**\n * Numeric grid placement for the selected widget.\n *\n * Drag-and-resize on the canvas is the only way a widget could be placed until\n * now, which makes precise alignment guesswork and leaves keyboard-only users\n * with no way to move a widget at all. The four numbers here are the SAME ones\n * the canvas writes (`Widget.position` / `positionX|Y|Width|Height`), committed\n * through the same store action, so the board and this panel can never disagree\n * and the dashboard's Save persists them exactly as a drag would.\n *\n * The mockup also shows Min W / Min H fields. Those are deliberately absent:\n * `WidgetPosition` on the service carries only x/y/width/height, so a minimum\n * would have nowhere to be stored and would silently reset on reload.\n */\nexport const LayoutSection: FC<LayoutSectionProps> = memo(function LayoutSection({ position, columns, onChange }) {\n const labelClassName = 'mb-1 block text-sm font-medium text-text-primary';\n\n const commit = useCallback(\n (field: PositionField, raw: string) => {\n const parsed = Number.parseInt(raw, 10);\n if (Number.isNaN(parsed)) return;\n\n const next: WidgetPosition = { ...position, [field]: parsed };\n\n // Clamp to a placement the grid can actually hold. Letting a widget be\n // 0 columns wide, or start past the last column, produces a widget that\n // renders nowhere — an input that appears to work and then loses content.\n next.width = Math.min(Math.max(next.width, 1), columns);\n next.x = Math.min(Math.max(next.x, 0), Math.max(columns - next.width, 0));\n next.height = Math.max(next.height, 1);\n next.y = Math.max(next.y, 0);\n\n if (\n next.x === position.x &&\n next.y === position.y &&\n next.width === position.width &&\n next.height === position.height\n ) {\n return;\n }\n\n onChange(next);\n },\n [columns, onChange, position]\n );\n\n const fields: Array<{ field: PositionField; min: number; max?: number }> = [\n { field: 'x', min: 0, max: Math.max(columns - position.width, 0) },\n { field: 'y', min: 0 },\n { field: 'width', min: 1, max: columns },\n { field: 'height', min: 1 },\n ];\n\n return (\n <Section\n title=\"Position & size\"\n description={`Grid placement on the ${columns}-column board. Saved with the dashboard.`}\n data-testid=\"widget-inspector-layout\"\n >\n <div className=\"grid grid-cols-2 gap-form-gap\">\n {fields.map(({ field, min, max }) => (\n <div key={field}>\n <label htmlFor={`widget-inspector-position-${field}`} className={labelClassName}>\n {FIELD_LABELS[field]}\n </label>\n <Input\n id={`widget-inspector-position-${field}`}\n type=\"number\"\n inputMode=\"numeric\"\n value={position[field]}\n min={min}\n max={max}\n onChange={(event) => commit(field, event.target.value)}\n className=\"h-control-md text-sm\"\n />\n </div>\n ))}\n </div>\n </Section>\n );\n});\n\nexport default LayoutSection;\n"],"mappings":";;;;;;AAiBA,IAAM,IAA8C;CAClD,GAAG;CACH,GAAG;CACH,OAAO;CACP,QAAQ;CACT,EAgBY,IAAwC,EAAK,SAAuB,EAAE,aAAU,YAAS,eAAY;CAChH,IAEM,IAAS,GACZ,GAAsB,MAAgB;EACrC,IAAM,IAAS,OAAO,SAAS,GAAK,GAAG;AACvC,MAAI,OAAO,MAAM,EAAO,CAAE;EAE1B,IAAM,IAAuB;GAAE,GAAG;IAAW,IAAQ;GAAQ;AAK7D,IAAK,QAAQ,KAAK,IAAI,KAAK,IAAI,EAAK,OAAO,EAAE,EAAE,EAAQ,EACvD,EAAK,IAAI,KAAK,IAAI,KAAK,IAAI,EAAK,GAAG,EAAE,EAAE,KAAK,IAAI,IAAU,EAAK,OAAO,EAAE,CAAC,EACzE,EAAK,SAAS,KAAK,IAAI,EAAK,QAAQ,EAAE,EACtC,EAAK,IAAI,KAAK,IAAI,EAAK,GAAG,EAAE,EAG1B,IAAK,MAAM,EAAS,KACpB,EAAK,MAAM,EAAS,KACpB,EAAK,UAAU,EAAS,SACxB,EAAK,WAAW,EAAS,WAK3B,EAAS,EAAK;IAEhB;EAAC;EAAS;EAAU;EAAS,CAC9B,EAEK,IAAqE;EACzE;GAAE,OAAO;GAAK,KAAK;GAAG,KAAK,KAAK,IAAI,IAAU,EAAS,OAAO,EAAE;GAAE;EAClE;GAAE,OAAO;GAAK,KAAK;GAAG;EACtB;GAAE,OAAO;GAAS,KAAK;GAAG,KAAK;GAAS;EACxC;GAAE,OAAO;GAAU,KAAK;GAAG;EAC5B;AAED,QACE,kBAAC,GAAD;EACE,OAAM;EACN,aAAa,yBAAyB,EAAQ;EAC9C,eAAY;YAEZ,kBAAC,OAAD;GAAK,WAAU;aACZ,EAAO,KAAK,EAAE,UAAO,QAAK,aACzB,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;IAAO,SAAS,6BAA6B;IAAS,WAAW;cAC9D,EAAa;IACR,CAAA,EACR,kBAAC,GAAD;IACE,IAAI,6BAA6B;IACjC,MAAK;IACL,WAAU;IACV,OAAO,EAAS;IACX;IACA;IACL,WAAW,MAAU,EAAO,GAAO,EAAM,OAAO,MAAM;IACtD,WAAU;IACV,CAAA,CACE,EAAA,EAdI,EAcJ,CACN;GACE,CAAA;EACE,CAAA;EAEZ"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/builder/inspector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC5G,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Section.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/common/Section.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAe,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEpF,iFAAiF;AACjF,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,KAAK,EAAE,SAAS,CAAC;IACjB,0DAA0D;IAC1D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,yEAAyE;IACzE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,0DAoCxB,CAAC;AAEH,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC;IACjG;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,8EAA8E;IAC9E,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,oDAgElB,CAAC;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,yDAEvB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Section.js","names":[],"sources":["../../../../src/bigconsole/components/common/Section.tsx"],"sourcesContent":["/**\n * Section / SectionHeader / SectionStack — BigConsole's section-emphasis\n * components (BOFF-5632).\n *\n * A `Section` is a labelled region of a screen. It renders a real `<section>`\n * tied to its heading with `aria-labelledby`, so screen-reader users get the\n * same \"where am I\" landmarks that the visual treatment gives sighted users.\n *\n * ```tsx\n * <SectionStack>\n * <Section title=\"Configuration\" description=\"How this parser reads input.\" >\n * …fields…\n * </Section>\n * <Section title=\"Output\" emphasis=\"primary\" actions={<Button>Run</Button>}>\n * …result…\n * </Section>\n * <Section title=\"Last run failed\" emphasis=\"standard\" tone=\"danger\">\n * …error detail…\n * </Section>\n * </SectionStack>\n * ```\n *\n * The class vocabulary lives in `./sectionStyles.ts` — see the notes there on which\n * design tokens actually emit CSS in the BigConsole shell.\n */\n\nimport { memo, useId, type ReactNode } from 'react';\nimport {\n SECTION_STACK,\n sectionSurfaceClasses,\n sectionTitleClasses,\n type SectionEmphasis,\n type SectionPadding,\n type SectionTone,\n} from './sectionStyles';\n\nexport type { SectionEmphasis, SectionPadding, SectionTone } from './sectionStyles';\n\n/** Heading level the section title renders as. Keep the page outline ordered. */\nexport type SectionHeadingLevel = 2 | 3 | 4;\n\nexport interface SectionHeaderProps {\n /** Short, scannable label. Sentence case — this is a UI label, not a title. */\n title: ReactNode;\n /** One line of context. Keep it under ~120 characters. */\n description?: ReactNode;\n /** Leading icon, already sized by the caller (`h-icon-sm w-icon-sm`). */\n icon?: ReactNode;\n /** Buttons/toggles for this section. They wrap under the title on mobile. */\n actions?: ReactNode;\n /** Status chip or count rendered right after the title. */\n meta?: ReactNode;\n headingLevel?: SectionHeadingLevel;\n tone?: SectionTone;\n /** id applied to the heading so the owning `<section>` can reference it. */\n headingId?: string;\n className?: string;\n}\n\n/**\n * The header row of a section: icon + title + meta on the left, actions on the\n * right. Stacks vertically below `sm` so a two-button action cluster never\n * squeezes the title into a one-word-per-line column on mobile.\n */\nexport const SectionHeader = memo(function SectionHeader({\n title,\n description,\n icon,\n actions,\n meta,\n headingLevel = 3,\n tone = 'neutral',\n headingId,\n className,\n}: SectionHeaderProps) {\n const Heading = `h${headingLevel}` as 'h2' | 'h3' | 'h4';\n\n return (\n <div\n className={`flex flex-col gap-control-gap sm:flex-row sm:items-start sm:justify-between ${className ?? ''}`.trim()}\n >\n <div className=\"flex min-w-0 items-start gap-icon-gap\">\n {icon ? (\n <span aria-hidden=\"true\" className=\"mt-0.5 flex shrink-0 items-center justify-center text-text-secondary\">\n {icon}\n </span>\n ) : null}\n <div className=\"min-w-0\">\n <div className=\"flex flex-wrap items-center gap-icon-gap\">\n <Heading id={headingId} className={sectionTitleClasses(tone)}>\n {title}\n </Heading>\n {meta}\n </div>\n {description ? <p className=\"mt-1 text-sm leading-relaxed text-text-secondary\">{description}</p> : null}\n </div>\n </div>\n {actions ? <div className=\"flex shrink-0 flex-wrap items-center gap-control-gap\">{actions}</div> : null}\n </div>\n );\n});\n\nexport interface SectionProps extends Omit<SectionHeaderProps, 'headingId' | 'className' | 'title'> {\n /**\n * Visible section label. Optional: a `bare` strip or a section whose heading\n * is supplied through `header` can go without one, but it must then carry an\n * `aria-label` so the region is still announced.\n */\n title?: ReactNode;\n /** Visual weight relative to sibling sections. @default 'standard' */\n emphasis?: SectionEmphasis;\n /** Inner padding step. Use `none` when the child owns its own scroll area. */\n padding?: SectionPadding;\n /** Extra classes for the `<section>` element itself. */\n className?: string;\n /** Extra classes for the body wrapper (below the header). */\n bodyClassName?: string;\n /** Classes for the header block (e.g. `mb-form-gap` overrides). */\n headerClassName?: string;\n /**\n * Renders the header without a title element — for sections whose heading is\n * supplied by a caller-provided node. Prefer passing `title` when possible.\n */\n header?: ReactNode;\n children?: ReactNode;\n id?: string;\n /** Accessible name when the section has no visible title. */\n 'aria-label'?: string;\n 'data-testid'?: string;\n}\n\n/**\n * A labelled region with a consistent emphasis treatment.\n *\n * Layout rules that hold at every breakpoint:\n * - the section never forces horizontal page scroll (`min-w-0`);\n * - the header collapses to a column below `sm` (640px);\n * - padding and inter-section gaps follow the density tokens, so a compact\n * workspace stays compact and a spacious one stays readable.\n */\nexport const Section = memo(function Section({\n title,\n description,\n icon,\n actions,\n meta,\n headingLevel = 3,\n emphasis = 'standard',\n tone = 'neutral',\n padding = 'default',\n className,\n bodyClassName,\n headerClassName,\n header,\n children,\n id,\n 'aria-label': ariaLabel,\n 'data-testid': dataTestId,\n}: SectionProps) {\n const generatedId = useId();\n const headingId = title ? `${id ?? generatedId}-title` : undefined;\n const hasHeader = Boolean(title || header);\n\n // `title` and `aria-label` are independently optional, so nothing in the type\n // system stops a caller from rendering a `<section>` landmark that screen\n // readers announce as just \"section\". Fail loudly in development rather than\n // shipping a silent a11y regression.\n if (import.meta.env.DEV && !title && !ariaLabel) {\n console.warn(\n '[BigConsole] Section: pass `title` or `aria-label` — a section landmark without an accessible name is announced with no context.'\n );\n }\n\n return (\n <section\n id={id}\n data-testid={dataTestId}\n data-section-emphasis={emphasis}\n data-section-tone={tone}\n aria-labelledby={headingId}\n aria-label={headingId ? undefined : ariaLabel}\n className={`${sectionSurfaceClasses(emphasis, tone, padding)} ${className ?? ''}`.trim()}\n >\n {hasHeader ? (\n <div className={headerClassName ?? (children ? 'mb-form-gap' : undefined)}>\n {title ? (\n <SectionHeader\n title={title}\n description={description}\n icon={icon}\n actions={actions}\n meta={meta}\n headingLevel={headingLevel}\n tone={tone}\n headingId={headingId}\n />\n ) : (\n header\n )}\n </div>\n ) : null}\n {children ? <div className={`min-w-0 ${bodyClassName ?? ''}`.trim()}>{children}</div> : null}\n </section>\n );\n});\n\nexport interface SectionStackProps {\n children: ReactNode;\n className?: string;\n}\n\n/**\n * Vertical rhythm container for sibling sections. Use it instead of ad-hoc\n * `space-y-6`, so section spacing tracks the workspace density setting.\n */\nexport const SectionStack = memo(function SectionStack({ children, className }: SectionStackProps) {\n return <div className={`${SECTION_STACK} ${className ?? ''}`.trim()}>{children}</div>;\n});\n"],"mappings":";;;;AAgEA,IAAa,IAAgB,EAAK,SAAuB,EACvD,UACA,gBACA,SACA,YACA,SACA,kBAAe,GACf,UAAO,WACP,cACA,gBACqB;CACrB,IAAM,IAAU,IAAI;AAEpB,QACE,kBAAC,OAAD;EACE,WAAW,+EAA+E,KAAa,KAAK,MAAM;YADpH,CAGE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACG,IACC,kBAAC,QAAD;IAAM,eAAY;IAAO,WAAU;cAChC;IACI,CAAA,GACL,MACJ,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD;MAAS,IAAI;MAAW,WAAW,EAAoB,EAAK;gBACzD;MACO,CAAA,EACT,EACG;QACL,IAAc,kBAAC,KAAD;KAAG,WAAU;eAAoD;KAAgB,CAAA,GAAG,KAC/F;MACF;MACL,IAAU,kBAAC,OAAD;GAAK,WAAU;aAAwD;GAAc,CAAA,GAAG,KAC/F;;EAER,EAwCW,IAAU,EAAK,SAAiB,EAC3C,UACA,gBACA,SACA,YACA,SACA,kBAAe,GACf,cAAW,YACX,UAAO,WACP,aAAU,WACV,cACA,kBACA,oBACA,WACA,aACA,OACA,cAAc,GACd,eAAe,KACA;CACf,IAAM,IAAc,GAAO,EACrB,IAAY,IAAQ,GAAG,KAAM,EAAY,UAAU,KAAA,GACnD,IAAY,GAAQ,KAAS;AAYnC,QACE,kBAAC,WAAD;EACM;EACJ,eAAa;EACb,yBAAuB;EACvB,qBAAmB;EACnB,mBAAiB;EACjB,cAAY,IAAY,KAAA,IAAY;EACpC,WAAW,GAAG,EAAsB,GAAU,GAAM,EAAQ,CAAC,GAAG,KAAa,KAAK,MAAM;YAP1F,CASG,IACC,kBAAC,OAAD;GAAK,WAAW,MAAoB,IAAW,gBAAgB,KAAA;aAC5D,IACC,kBAAC,GAAD;IACS;IACM;IACP;IACG;IACH;IACQ;IACR;IACK;IACX,CAAA,GAEF;GAEE,CAAA,GACJ,MACH,IAAW,kBAAC,OAAD;GAAK,WAAW,WAAW,KAAiB,KAAK,MAAM;GAAG;GAAe,CAAA,GAAG,KAChF;;EAEZ,EAWW,IAAe,EAAK,SAAsB,EAAE,aAAU,gBAAgC;AACjG,QAAO,kBAAC,OAAD;EAAK,WAAW,GAAG,EAAc,GAAG,KAAa,KAAK,MAAM;EAAG;EAAe,CAAA;EACrF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACjE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC1G,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,GACjB,MAAM,iBAAiB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sectionStyles.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/common/sectionStyles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAExE,iFAAiF;AACjF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEhF,+EAA+E;AAC/E,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AA0D5D;;;;GAIG;AACH,eAAO,MAAM,cAAc,qKACyI,CAAC;AAErK,gFAAgF;AAChF,eAAO,MAAM,kBAAkB,6IAC6G,CAAC;AAE7I,kEAAkE;AAClE,eAAO,MAAM,aAAa,kCAAkC,CAAC;AAE7D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,GAAE,eAA4B,EACtC,IAAI,GAAE,WAAuB,EAC7B,OAAO,GAAE,cAA0B,GAClC,MAAM,CAmBR;AAED,4DAA4D;AAC5D,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,WAAuB,GAAG,MAAM,CAEzE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sectionStyles.js","names":[],"sources":["../../../../src/bigconsole/components/common/sectionStyles.ts"],"sourcesContent":["/**\n * Section emphasis — shared visual-hierarchy vocabulary for BigConsole (BOFF-5632).\n *\n * BigConsole screens are dense: a builder can stack a toolbar, a palette, a\n * canvas, an inspector, a preview and a status strip on one route. Before this\n * module every one of those blocks was drawn with the same weight, so nothing\n * told the eye where a section started or which one mattered. This file is the\n * single source of truth for that answer; `Section.tsx` renders it and every\n * module imports from there.\n *\n * ## Why the class recipes look the way they do\n *\n * The host shells (`bigconsole-app`, `admin-app`) register a *narrower*\n * `@theme` than `fe-libs/shared/styles/app-shell.css`. A Tailwind utility only\n * exists if its token key is in that shell registry, which makes three\n * otherwise reasonable choices silently emit **no CSS** (the same failure mode\n * as BOFF-5660's `state-*` classes):\n *\n * - `shadow-elevation-1` … `shadow-elevation-5` are not registered — the\n * elevation scale has to be reached through `shadow-[var(--shadow-…)]`.\n * - `--color-border-*` are registered as *hard-coded light hex*, so\n * `border-border-subtle` keeps a light border in dark mode. The arbitrary\n * form `border-[var(--color-border-subtle)]` re-resolves per theme.\n * - `status-{warning,info}-text` are not registered even though the CSS\n * variables exist per theme, so tones read their text colour through\n * `text-[var(--color-status-…-text)]`.\n *\n * Everything below therefore uses registered utilities where they exist and\n * `var()` arbitrary values where they do not. Both forms are theme-aware, so a\n * section keeps its meaning in light, dark and high-contrast themes.\n */\n\n/**\n * How much visual weight a section carries relative to its siblings.\n *\n * - `primary` — the one block the route exists for (the canvas, the generated\n * result, the test output). Raised surface + border + elevation shadow.\n * - `standard` — a normal grouped block: configuration, lists, forms.\n * - `muted` — supporting context that must stay readable but never compete:\n * metadata, raw payloads, help, secondary summaries. Recessed surface.\n * - `bare` — structural grouping only (header strips, toolbars, filter rows).\n * Contributes rhythm and a11y semantics, no surface of its own.\n */\nexport type SectionEmphasis = 'primary' | 'standard' | 'muted' | 'bare';\n\n/** Semantic colouring for state-carrying sections (banners, results, errors). */\nexport type SectionTone = 'neutral' | 'info' | 'success' | 'warning' | 'danger';\n\n/** Padding step. `none` is for sections that own their inner scroll/canvas. */\nexport type SectionPadding = 'none' | 'compact' | 'default';\n\n/**\n * Emphasis is split into STRUCTURE (geometry) and FILL (colour) so that a\n * section never carries two competing `bg-*` or `border-*` utilities.\n *\n * The obvious implementation — emit the emphasis surface, then append the tone\n * surface to override it — relies on the tone's utility winning the cascade.\n * Tailwind v4 orders utilities by their position in the generated stylesheet,\n * not by their order in the `class` attribute, so that override is an accident\n * of build output rather than a guarantee: it can invert silently on a Tailwind\n * upgrade and leave a danger banner painted like a neutral card. Composing\n * exactly one fill instead makes the outcome independent of stylesheet order.\n */\nconst EMPHASIS_STRUCTURE: Record<SectionEmphasis, string> = {\n primary: 'rounded-card border shadow-[var(--shadow-elevation-1)]',\n standard: 'rounded-card border',\n muted: 'rounded-card border',\n bare: '',\n};\n\n/** Neutral fill per emphasis level — used when no tone is set. */\nconst EMPHASIS_FILL: Record<Exclude<SectionEmphasis, 'bare'>, string> = {\n primary: 'border-[var(--color-border-subtle)] bg-bg-surface',\n standard: 'border-[var(--color-border-subtle)] bg-bg-surface',\n muted: 'border-transparent bg-bg-sunken',\n};\n\n/**\n * Tone fills replace the emphasis fill (they are alternatives, never additions)\n * so a status section reads as status first while keeping its emphasis\n * geometry. `bare` has no surface at all, so a tone on `bare` colours nothing —\n * callers wanting a coloured banner use `muted`/`standard`.\n */\nconst TONE_SURFACE: Record<Exclude<SectionTone, 'neutral'>, string> = {\n info: 'border-[var(--color-status-info-border)] bg-[var(--color-status-info-bgSubtle)]',\n success: 'border-[var(--color-status-success-border)] bg-[var(--color-status-success-bgSubtle)]',\n warning: 'border-[var(--color-status-warning-border)] bg-[var(--color-status-warning-bgSubtle)]',\n danger: 'border-[var(--color-status-error-border)] bg-[var(--color-status-error-bgSubtle)]',\n};\n\n/** Title colour per tone — the neutral case inherits the normal heading colour. */\nconst TONE_TITLE: Record<SectionTone, string> = {\n neutral: 'text-text-primary',\n info: 'text-[var(--color-status-info-text)]',\n success: 'text-[var(--color-status-success-text)]',\n warning: 'text-[var(--color-status-warning-text)]',\n danger: 'text-[var(--color-status-error-text)]',\n};\n\nconst PADDING: Record<SectionPadding, string> = {\n none: '',\n // `--spacing-control-gap` and `--spacing-card-padding` both track\n // `data-density`, so compact/comfortable/spacious users keep their rhythm.\n compact: 'p-control-gap',\n default: 'p-card-padding',\n};\n\n/**\n * Transitions are opt-in through `motion-safe:` so the OS \"reduce motion\"\n * setting removes them; the shell's `data-reduce-motion` attribute neutralises\n * whatever survives. Only colour/shadow animate — never layout.\n */\nexport const SECTION_MOTION =\n 'motion-safe:transition-[box-shadow,border-color,background-color] motion-safe:duration-[var(--motion-duration-fast)] motion-safe:ease-[var(--motion-easing-out)]';\n\n/** Focus ring used when a section itself is focusable (collapsible headers). */\nexport const SECTION_FOCUS_RING =\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface';\n\n/** Vertical rhythm between sibling sections. Density-reactive. */\nexport const SECTION_STACK = 'flex flex-col gap-section-gap';\n\n/**\n * Composes the container classes for a section.\n *\n * `min-w-0` is always applied: BigConsole sections routinely host tables, JSON\n * previews and node canvases, and without it a flex/grid child refuses to\n * shrink and pushes the page into horizontal scroll on tablet and mobile.\n */\nexport function sectionSurfaceClasses(\n emphasis: SectionEmphasis = 'standard',\n tone: SectionTone = 'neutral',\n padding: SectionPadding = 'default'\n): string {\n const parts = ['min-w-0'];\n\n if (emphasis === 'bare') {\n // A tone is a fill, and `bare` has no surface to fill — asking for\n // `emphasis=\"bare\" tone=\"danger\"` silently produces an uncoloured section,\n // which reads as a styling bug rather than a deliberate choice. Say so.\n if (import.meta.env.DEV && tone !== 'neutral') {\n console.warn(\n `[BigConsole] Section: tone=\"${tone}\" is ignored on emphasis=\"bare\" — a tone needs a surface. Use \"muted\" or \"standard\" for a coloured banner.`\n );\n }\n if (padding !== 'default') parts.push(PADDING[padding]);\n } else {\n const fill = tone === 'neutral' ? EMPHASIS_FILL[emphasis] : TONE_SURFACE[tone];\n parts.push(EMPHASIS_STRUCTURE[emphasis], fill, PADDING[padding], SECTION_MOTION);\n }\n\n return parts.filter(Boolean).join(' ');\n}\n\n/** Title classes for a section header at the given tone. */\nexport function sectionTitleClasses(tone: SectionTone = 'neutral'): string {\n return `text-sm font-semibold leading-tight tracking-tight ${TONE_TITLE[tone]}`;\n}\n"],"mappings":";AA+DA,IAAM,IAAsD;CAC1D,SAAS;CACT,UAAU;CACV,OAAO;CACP,MAAM;CACP,EAGK,IAAkE;CACtE,SAAS;CACT,UAAU;CACV,OAAO;CACR,EAQK,IAAgE;CACpE,MAAM;CACN,SAAS;CACT,SAAS;CACT,QAAQ;CACT,EAGK,IAA0C;CAC9C,SAAS;CACT,MAAM;CACN,SAAS;CACT,SAAS;CACT,QAAQ;CACT,EAEK,IAA0C;CAC9C,MAAM;CAGN,SAAS;CACT,SAAS;CACV,EAOY,IACX,oKAGW,IACX,4IAGW,IAAgB;AAS7B,SAAgB,EACd,IAA4B,YAC5B,IAAoB,WACpB,IAA0B,WAClB;CACR,IAAM,IAAQ,CAAC,UAAU;AAEzB,KAAI,MAAa,QASX,MAAY,aAAW,EAAM,KAAK,EAAQ,GAAS;MAClD;EACL,IAAM,IAAO,MAAS,YAAY,EAAc,KAAY,EAAa;AACzE,IAAM,KAAK,EAAmB,IAAW,GAAM,EAAQ,IAAU,EAAe;;AAGlF,QAAO,EAAM,OAAO,QAAQ,CAAC,KAAK,IAAI;;AAIxC,SAAgB,EAAoB,IAAoB,WAAmB;AACzE,QAAO,sDAAsD,EAAW"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CreateDashboardDialog.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/dashboard/CreateDashboardDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAsE,MAAM,OAAO,CAAC;AA6BpG,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE;QACf,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,iDAAiD;IACjD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC7F;AAQD,eAAO,MAAM,qBAAqB,EAAE,EAAE,CAAC,0BAA0B,CA+qB/D,CAAC;AAEH,eAAe,qBAAqB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CreateDashboardDialog.js","names":[],"sources":["../../../../src/bigconsole/components/dashboard/CreateDashboardDialog.tsx"],"sourcesContent":["/**\n * CreateDashboardDialog Component\n *\n * Modal dialog for creating a new dashboard with name and description.\n * Uses fe-libs shared UI components and semantic tokens for consistent styling.\n * Phase 2: Added TemplatePicker integration for creating from templates.\n */\n\nimport { type FC, memo, useState, useCallback, useEffect, useRef, type KeyboardEvent } from 'react';\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from '@burdenoff/fe-libs/ui';\nimport { Button } from '@burdenoff/fe-libs/ui';\nimport { Input } from '@burdenoff/fe-libs/ui';\nimport { Textarea } from '@burdenoff/fe-libs/ui';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { Badge } from '@burdenoff/fe-libs/ui';\nimport { Plus, LayoutDashboard, Copy, X, Tag } from 'lucide-react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { StoreTemplatePicker } from './StoreTemplatePicker';\nimport { TemplateInstallOptions } from './TemplateInstallOptions';\nimport { TemplateLayoutPreview } from './TemplateLayoutPreview';\nimport { templateInputDefaults, templateInputError } from '../../utils/templateInstallInputs';\nimport type { DashboardTemplateContent } from '../../hooks/useStoreDashboardTemplates';\nimport { useActiveContext } from '@burdenoff/fe-libs/shared/providers/shell/ActiveContextProvider';\nimport { Section } from '../common';\nimport { useStoreDashboardTemplates, type StoreDashboardTemplate } from '../../hooks/useStoreDashboardTemplates';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface CreateDashboardDialogProps {\n isOpen: boolean;\n isCreating?: boolean;\n onClose: () => void;\n onCreate: (data: {\n name: string;\n description: string;\n category: string;\n tags?: string[];\n templateId?: string;\n }) => void | Promise<void>;\n /** Whether to show the template picker option */\n showTemplates?: boolean;\n /**\n * Called after a store template has been installed. Receives the new\n * dashboard id and how many widgets still need a data source, so the host can\n * navigate and surface the \"connect your data\" prompts.\n */\n onTemplateInstalled?: (result: { dashboardId: string; widgetsNeedingData: number }) => void;\n}\n\ntype CreateMode = 'blank' | 'template';\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const CreateDashboardDialog: FC<CreateDashboardDialogProps> = memo(function CreateDashboardDialog({\n isOpen,\n isCreating = false,\n onClose,\n onCreate,\n showTemplates = true,\n onTemplateInstalled,\n}) {\n const { t } = useI18n();\n const {\n templates,\n loading: templatesLoading,\n error: templatesError,\n fetchTemplateContent,\n installTemplate,\n } = useStoreDashboardTemplates({ autoLoad: showTemplates });\n const [installing, setInstalling] = useState(false);\n const { workspaceId } = useActiveContext();\n const activeWorkspaceRef = useRef(workspaceId);\n activeWorkspaceRef.current = workspaceId;\n const [templateContent, setTemplateContent] = useState<DashboardTemplateContent | null>(null);\n const [contentOwner, setContentOwner] = useState<string | null>(null);\n const [contentLoading, setContentLoading] = useState(false);\n const [dataSinkBindings, setDataSinkBindings] = useState<Record<string, string>>({});\n const [inputValues, setInputValues] = useState<Record<string, unknown>>({});\n const [mode, setMode] = useState<CreateMode>('blank');\n const [name, setName] = useState('');\n const [description, setDescription] = useState('');\n const [tags, setTags] = useState<string[]>([]);\n const [tagInput, setTagInput] = useState('');\n const [selectedTemplate, setSelectedTemplate] = useState<StoreDashboardTemplate | null>(null);\n const [error, setError] = useState<string | null>(null);\n const nameInputRef = useRef<HTMLInputElement>(null);\n const ownedContent = contentOwner === `${selectedTemplate?.id}:${workspaceId}` ? templateContent : null;\n\n // Reset form when dialog opens\n useEffect(() => {\n if (isOpen) {\n setMode('blank');\n setName('');\n setDescription('');\n setTags([]);\n setTagInput('');\n setSelectedTemplate(null);\n setError(null);\n setTimeout(() => {\n nameInputRef.current?.focus();\n }, 100);\n }\n }, [isOpen]);\n\n // Handle adding a tag\n const handleAddTag = useCallback(() => {\n const trimmedTag = tagInput.trim().toLowerCase();\n if (trimmedTag && !tags.includes(trimmedTag) && tags.length < 10) {\n setTags((prev) => [...prev, trimmedTag]);\n setTagInput('');\n }\n }, [tagInput, tags]);\n\n useEffect(() => {\n let cancelled = false;\n setTemplateContent(null);\n setDataSinkBindings({});\n setInputValues({});\n setContentLoading(Boolean(selectedTemplate));\n if (!selectedTemplate || !isOpen) return;\n void fetchTemplateContent(selectedTemplate.id).then((content) => {\n if (cancelled) return;\n setTemplateContent(content);\n setContentOwner(`${selectedTemplate.id}:${workspaceId}`);\n setContentLoading(false);\n setInputValues(content ? templateInputDefaults(content.requiredInputs) : {});\n if (!content)\n setError(\n t(\n 'bigconsole.dashboards.createDialog.error.noDefinition',\n 'This template has no dashboard definition attached and cannot be installed.'\n )\n );\n });\n return () => {\n cancelled = true;\n };\n }, [selectedTemplate, fetchTemplateContent, workspaceId, isOpen, t]);\n\n // Handle removing a tag\n const handleRemoveTag = useCallback((tagToRemove: string) => {\n setTags((prev) => prev.filter((tag) => tag !== tagToRemove));\n }, []);\n\n // Handle tag input key press\n const handleTagKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n handleAddTag();\n } else if (e.key === 'Backspace' && !tagInput && tags.length > 0) {\n // Remove last tag when backspace is pressed on empty input\n setTags((prev) => prev.slice(0, -1));\n }\n },\n [handleAddTag, tagInput, tags.length]\n );\n\n // Handle template selection\n const handleTemplateSelect = useCallback((template: StoreDashboardTemplate) => {\n setSelectedTemplate(template);\n setError(null);\n // Pre-fill name and description from template\n setName(template.name);\n setDescription(template.description || '');\n }, []);\n\n // Handle form submission\n const handleSubmit = useCallback(\n async (e: React.FormEvent) => {\n e.preventDefault();\n\n // For template mode without selection, show error\n if (mode === 'template' && !selectedTemplate) {\n setError(t('bigconsole.dashboards.createDialog.error.selectTemplate', 'Please select a template'));\n return;\n }\n\n const trimmedName = name.trim();\n if (!trimmedName) {\n setError(t('bigconsole.dashboards.createDialog.error.nameRequired', 'Dashboard name is required'));\n nameInputRef.current?.focus();\n return;\n }\n\n if (trimmedName.length < 3) {\n setError(\n t('bigconsole.dashboards.createDialog.error.nameTooShort', 'Dashboard name must be at least 3 characters')\n );\n nameInputRef.current?.focus();\n return;\n }\n\n if (trimmedName.length > 100) {\n setError(\n t('bigconsole.dashboards.createDialog.error.nameTooLong', 'Dashboard name must be less than 100 characters')\n );\n nameInputRef.current?.focus();\n return;\n }\n\n setError(null);\n\n // Store templates are installed here rather than through onCreate: the\n // install carries data-sink bindings and returns which slots are still\n // unconnected, neither of which the plain create path models.\n if (mode === 'template' && selectedTemplate) {\n setInstalling(true);\n try {\n const content = await fetchTemplateContent(selectedTemplate.id);\n if (activeWorkspaceRef.current !== workspaceId) {\n setError(\n t(\n 'bigconsole.dashboards.templateSetup.workspaceChanged',\n 'The workspace changed. Review the template setup before creating your dashboard.'\n )\n );\n return;\n }\n if (!content) {\n setError(\n t(\n 'bigconsole.dashboards.createDialog.error.noDefinition',\n 'This template has no dashboard definition attached and cannot be installed.'\n )\n );\n return;\n }\n\n const inputError = templateInputError(content.requiredInputs, inputValues, t);\n if (inputError) {\n setError(inputError);\n return;\n }\n const result = await installTemplate({\n templateId: selectedTemplate.id,\n templateName: selectedTemplate.name,\n content,\n name: trimmedName,\n description: description.trim(),\n tags,\n dataSinkBindings: Object.entries(dataSinkBindings)\n .filter(([, id]) => id)\n .map(([slot, dataSinkId]) => ({ slot, dataSinkId })),\n inputValues,\n });\n\n if (!result.success) {\n setError(\n result.errorMessage ??\n t('bigconsole.dashboards.createDialog.error.installFailed', 'Failed to create dashboard from template.')\n );\n return;\n }\n\n if (result.dashboardId) {\n onTemplateInstalled?.({\n dashboardId: result.dashboardId,\n widgetsNeedingData: result.widgetsNeedingData,\n });\n }\n onClose();\n } catch (err) {\n setError(\n err instanceof Error\n ? err.message\n : t('bigconsole.dashboards.createDialog.error.installFailed', 'Failed to create dashboard from template.')\n );\n } finally {\n setInstalling(false);\n }\n return;\n }\n\n try {\n await onCreate({\n name: trimmedName,\n description: description.trim(),\n category: 'CUSTOM',\n tags: tags.length > 0 ? tags : undefined,\n });\n } catch (err) {\n setError(\n err instanceof Error\n ? err.message\n : t(\n 'bigconsole.dashboards.createDialog.error.createFailed',\n 'Failed to create dashboard. Please try again.'\n )\n );\n }\n },\n [\n name,\n description,\n tags,\n mode,\n selectedTemplate,\n workspaceId,\n dataSinkBindings,\n inputValues,\n onCreate,\n onClose,\n fetchTemplateContent,\n installTemplate,\n onTemplateInstalled,\n t,\n ]\n );\n\n return (\n <Dialog open={isOpen} onOpenChange={(open) => !open && !isCreating && !installing && onClose()}>\n <DialogContent style={{ maxWidth: mode === 'template' ? '900px' : '480px', width: '100%', padding: 0 }}>\n {/* Header */}\n <DialogHeader style={{ padding: 'var(--space-pagePadding) var(--space-pagePadding) 0' }}>\n <div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-formGap)' }}>\n <div\n style={{\n display: 'flex',\n height: 'var(--size-controlHeight-lg)',\n width: 'var(--size-controlHeight-lg)',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n borderRadius: 'var(--radius-card)',\n backgroundColor: 'var(--color-bg-accentSubtle)',\n }}\n >\n <LayoutDashboard\n aria-hidden=\"true\"\n style={{\n height: 'var(--size-icon-lg)',\n width: 'var(--size-icon-lg)',\n color: 'var(--color-action-primary-bg)',\n }}\n />\n </div>\n <div>\n <DialogTitle\n style={{\n fontSize: 'var(--font-size-heading-h4)',\n fontWeight: 'var(--font-weight-bold)',\n color: 'var(--color-text-primary)',\n margin: 0,\n }}\n >\n {t('bigconsole.dashboards.createDialog.title', 'Create New Dashboard')}\n </DialogTitle>\n <DialogDescription\n style={{\n fontSize: 'var(--font-size-body-sm)',\n color: 'var(--color-text-secondary)',\n margin: 'var(--space-controlGap) 0 0 0',\n }}\n >\n {t('bigconsole.dashboards.createDialog.subtitle', 'Create a new dashboard to visualize your data')}\n </DialogDescription>\n </div>\n </div>\n </DialogHeader>\n\n <form onSubmit={handleSubmit}>\n {/* Mode Selection Tabs */}\n {showTemplates && (\n <div style={{ padding: 'var(--space-pagePadding) var(--space-pagePadding) 0' }}>\n <div\n role=\"group\"\n aria-label=\"How to start\"\n style={{\n display: 'flex',\n flexWrap: 'wrap',\n gap: 'var(--space-controlGap)',\n padding: 'var(--space-controlGap)',\n backgroundColor: 'var(--color-bg-sunken)',\n borderRadius: 'var(--radius-button)',\n }}\n >\n <button\n type=\"button\"\n disabled={isCreating || installing}\n onClick={() => {\n setMode('blank');\n setSelectedTemplate(null);\n }}\n style={{\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 'var(--space-iconGap)',\n padding: 'var(--space-controlGap) var(--space-formGap)',\n borderRadius: 'var(--radius-button)',\n border: 'none',\n backgroundColor: mode === 'blank' ? 'var(--color-bg-surface)' : 'transparent',\n color: mode === 'blank' ? 'var(--color-text-primary)' : 'var(--color-text-secondary)',\n fontWeight: mode === 'blank' ? 'var(--font-weight-semibold)' : 'var(--font-weight-regular)',\n fontSize: 'var(--font-size-body-sm)',\n cursor: 'pointer',\n boxShadow: mode === 'blank' ? 'var(--shadow-elevation-1)' : 'none',\n transition: 'all 0.15s ease',\n }}\n >\n <Plus style={{ height: 'var(--size-icon-sm)', width: 'var(--size-icon-sm)' }} />\n {t('bigconsole.dashboards.createDialog.tab.blank', 'Blank Dashboard')}\n </button>\n <button\n type=\"button\"\n disabled={isCreating || installing}\n onClick={() => setMode('template')}\n style={{\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 'var(--space-iconGap)',\n padding: 'var(--space-controlGap) var(--space-formGap)',\n borderRadius: 'var(--radius-button)',\n border: 'none',\n backgroundColor: mode === 'template' ? 'var(--color-bg-surface)' : 'transparent',\n color: mode === 'template' ? 'var(--color-text-primary)' : 'var(--color-text-secondary)',\n fontWeight: mode === 'template' ? 'var(--font-weight-semibold)' : 'var(--font-weight-regular)',\n fontSize: 'var(--font-size-body-sm)',\n cursor: 'pointer',\n boxShadow: mode === 'template' ? 'var(--shadow-elevation-1)' : 'none',\n transition: 'all 0.15s ease',\n }}\n >\n <Copy style={{ height: 'var(--size-icon-sm)', width: 'var(--size-icon-sm)' }} />\n {t('bigconsole.dashboards.createDialog.tab.template', 'From Template')}\n </button>\n </div>\n </div>\n )}\n\n {/* Template Picker (when in template mode) */}\n {mode === 'template' && (\n <div style={{ padding: 'var(--space-pagePadding)', maxHeight: '400px', overflowY: 'auto' }}>\n <StoreTemplatePicker\n templates={templates}\n loading={templatesLoading}\n error={templatesError}\n selectedTemplateId={selectedTemplate?.id}\n onSelect={handleTemplateSelect}\n />\n </div>\n )}\n\n {mode === 'template' && selectedTemplate && (\n <div style={{ padding: 'var(--space-pagePadding)' }}>\n {contentLoading && <Spinner />}\n {ownedContent && (\n <>\n <TemplateLayoutPreview content={ownedContent} />\n <TemplateInstallOptions\n content={ownedContent}\n bindings={dataSinkBindings}\n onBindingChange={(slot, id) => setDataSinkBindings((current) => ({ ...current, [slot]: id }))}\n inputValues={inputValues}\n onInputChange={(name, value) => setInputValues((current) => ({ ...current, [name]: value }))}\n disabled={isCreating || installing}\n />\n </>\n )}\n </div>\n )}\n\n {/* Form Content */}\n <div style={{ padding: 'var(--space-pagePadding)' }}>\n {/*\n The fields carry no surface of their own — the dialog is already a\n raised surface — but they still need a name, so the group is a `bare`\n section. It gives the form a heading screen readers can land on and\n tells the eye where the template picker ends and the form begins.\n */}\n <Section\n headingLevel={3}\n emphasis=\"bare\"\n padding=\"none\"\n title=\"Dashboard details\"\n description=\"Name it now — everything else can change later.\"\n data-testid=\"create-dashboard-details\"\n >\n {/* Name Field */}\n <div style={{ marginBottom: 'var(--space-formGap)' }}>\n <label\n htmlFor=\"dashboard-name\"\n style={{\n display: 'block',\n fontSize: 'var(--font-size-body-sm)',\n fontWeight: 'var(--font-weight-semibold)',\n color: 'var(--color-text-primary)',\n marginBottom: 'var(--space-controlGap)',\n }}\n >\n {t('bigconsole.dashboards.createDialog.field.name', 'Dashboard Name')}\n <span style={{ color: 'var(--color-status-error-text)', marginLeft: 'var(--space-controlGap)' }}>\n *\n </span>\n </label>\n <Input\n ref={nameInputRef}\n id=\"dashboard-name\"\n type=\"text\"\n value={name}\n onChange={(e) => {\n setName(e.target.value);\n if (error) setError(null);\n }}\n placeholder={t('bigconsole.dashboards.createDialog.field.namePlaceholder', 'Enter dashboard name')}\n disabled={isCreating || installing}\n style={{\n height: 'var(--size-controlHeight-md)',\n fontSize: 'var(--font-size-body-sm)',\n borderColor: error ? 'var(--color-status-error-border)' : undefined,\n }}\n />\n {error && (\n <p\n style={{\n fontSize: 'var(--font-size-body-sm)',\n color: 'var(--color-status-error-text)',\n marginTop: 'var(--space-controlGap)',\n fontWeight: 'var(--font-weight-medium)',\n }}\n >\n {error}\n </p>\n )}\n </div>\n\n {/* Description Field */}\n <div style={{ marginBottom: 'var(--space-formGap)' }}>\n <label\n htmlFor=\"dashboard-description\"\n style={{\n display: 'block',\n fontSize: 'var(--font-size-body-sm)',\n fontWeight: 'var(--font-weight-semibold)',\n color: 'var(--color-text-primary)',\n marginBottom: 'var(--space-controlGap)',\n }}\n >\n {t('bigconsole.dashboards.createDialog.field.description', 'Description')}\n <span\n style={{\n color: 'var(--color-text-muted)',\n fontWeight: 'var(--font-weight-regular)',\n marginLeft: 'var(--space-controlGap)',\n }}\n >\n {t('bigconsole.dashboards.createDialog.field.optional', '(optional)')}\n </span>\n </label>\n <Textarea\n id=\"dashboard-description\"\n value={description}\n onChange={(e) => setDescription(e.target.value)}\n placeholder={t(\n 'bigconsole.dashboards.createDialog.field.descriptionPlaceholder',\n 'Enter a brief description for this dashboard'\n )}\n rows={3}\n disabled={isCreating || installing}\n style={{\n fontSize: 'var(--font-size-body-sm)',\n resize: 'none',\n }}\n />\n </div>\n\n {/* Tags Field */}\n <div>\n <label\n htmlFor=\"dashboard-tags\"\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 'var(--space-iconGap)',\n fontSize: 'var(--font-size-body-sm)',\n fontWeight: 'var(--font-weight-semibold)',\n color: 'var(--color-text-primary)',\n marginBottom: 'var(--space-controlGap)',\n }}\n >\n <Tag style={{ height: 'var(--size-icon-sm)', width: 'var(--size-icon-sm)' }} />\n {t('bigconsole.dashboards.createDialog.field.tags', 'Tags')}\n <span\n style={{\n color: 'var(--color-text-muted)',\n fontWeight: 'var(--font-weight-regular)',\n }}\n >\n {t('bigconsole.dashboards.createDialog.field.tagsOptional', '(optional, max 10)')}\n </span>\n </label>\n {/* Tag chips display */}\n {tags.length > 0 && (\n <div\n style={{\n display: 'flex',\n flexWrap: 'wrap',\n gap: 'var(--space-controlGap)',\n marginBottom: 'var(--space-controlGap)',\n }}\n >\n {tags.map((tag) => (\n <Badge\n key={tag}\n variant=\"secondary\"\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n paddingRight: '4px',\n }}\n >\n {tag}\n <button\n type=\"button\"\n onClick={() => handleRemoveTag(tag)}\n disabled={isCreating || installing}\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: 'none',\n border: 'none',\n cursor: 'pointer',\n padding: '2px',\n borderRadius: '50%',\n color: 'inherit',\n opacity: 0.7,\n }}\n onMouseOver={(e) => (e.currentTarget.style.opacity = '1')}\n onMouseOut={(e) => (e.currentTarget.style.opacity = '0.7')}\n >\n <X style={{ height: '12px', width: '12px' }} />\n </button>\n </Badge>\n ))}\n </div>\n )}\n {/* Tag input */}\n <div style={{ display: 'flex', gap: 'var(--space-controlGap)' }}>\n <Input\n id=\"dashboard-tags\"\n type=\"text\"\n value={tagInput}\n onChange={(e) => setTagInput(e.target.value)}\n onKeyDown={handleTagKeyDown}\n placeholder={\n tags.length >= 10\n ? t('bigconsole.dashboards.createDialog.field.tagsMaxReached', 'Max tags reached')\n : t(\n 'bigconsole.dashboards.createDialog.field.tagsInputPlaceholder',\n 'Type a tag and press Enter'\n )\n }\n disabled={isCreating || installing || tags.length >= 10}\n style={{\n flex: 1,\n height: 'var(--size-controlHeight-md)',\n fontSize: 'var(--font-size-body-sm)',\n }}\n />\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={handleAddTag}\n disabled={isCreating || installing || !tagInput.trim() || tags.length >= 10}\n style={{ height: 'var(--size-controlHeight-md)' }}\n >\n {t('bigconsole.dashboards.createDialog.action.addTag', 'Add')}\n </Button>\n </div>\n <p\n style={{\n // `--font-size-body-xs` is not a real token — the declaration is\n // dropped and the hint inherits body size. `--font-size-xs` is.\n fontSize: 'var(--font-size-xs)',\n color: 'var(--color-text-muted)',\n marginTop: 'var(--space-controlGap)',\n }}\n >\n {t('bigconsole.dashboards.createDialog.field.tagsHelp', 'Press Enter to add a tag, or click Add')}\n </p>\n </div>\n </Section>\n </div>\n\n {/* Footer */}\n <DialogFooter\n style={{\n padding: 'var(--space-formGap) var(--space-pagePadding)',\n borderTop: '1px solid var(--color-border)',\n backgroundColor: 'var(--color-bg-sunken)',\n display: 'flex',\n justifyContent: 'flex-end',\n gap: 'var(--space-controlGap)',\n }}\n >\n <Button\n type=\"button\"\n variant=\"outline\"\n onClick={onClose}\n disabled={isCreating || installing}\n style={{ height: 'var(--size-controlHeight-md)' }}\n >\n {t('bigconsole.dashboards.createDialog.action.cancel', 'Cancel')}\n </Button>\n <Button\n type=\"submit\"\n disabled={\n isCreating ||\n installing ||\n !name.trim() ||\n (mode === 'template' && (!selectedTemplate || !ownedContent || contentLoading))\n }\n style={{\n height: 'var(--size-controlHeight-md)',\n backgroundColor: 'var(--color-action-primary-bg)',\n }}\n >\n {isCreating || installing ? (\n <span style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-iconGap)' }}>\n <Spinner style={{ height: 'var(--size-icon-sm)', width: 'var(--size-icon-sm)' }} />\n {t('bigconsole.dashboards.createDialog.action.creating', 'Creating...')}\n </span>\n ) : (\n <span style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-iconGap)' }}>\n <Plus style={{ height: 'var(--size-icon-sm)', width: 'var(--size-icon-sm)' }} />\n {t('bigconsole.dashboards.createDialog.action.create', 'Create Dashboard')}\n </span>\n )}\n </Button>\n </DialogFooter>\n </form>\n </DialogContent>\n </Dialog>\n );\n});\n\nexport default CreateDashboardDialog;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardCanvas.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/dashboard/DashboardCanvas.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA2D,MAAM,OAAO,CAAC;AAsBzF,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAc3E,MAAM,WAAW,oBAAoB;IACnC,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iCAAiC;IACjC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,wCAAwC;IACxC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,IAAI,CAAC;IACrD,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,uCAAuC;IACvC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAmBD,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAqmBnD,CAAC;AAEH,eAAe,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardCanvas.js","names":[],"sources":["../../../../src/bigconsole/components/dashboard/DashboardCanvas.tsx"],"sourcesContent":["/**\n * DashboardCanvas Component\n *\n * Main canvas for dashboard with grid layout and widget rendering.\n * Phase 2: Added GlobalFiltersBar and PageTabsManager integration.\n * Phase 3: Added WidgetPalette sidebar for drag-and-drop widget creation.\n */\n\nimport { type FC, memo, useRef, useState, useCallback, useEffect, useMemo } from 'react';\nimport { Button } from '@burdenoff/fe-libs/ui';\nimport { Plus } from 'lucide-react';\nimport type { Layout } from 'react-grid-layout';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport type { DashboardVisibility, Widget, WidgetType } from '../../types';\nimport { BIGCONSOLE_PERMISSIONS } from '../../../constants/permissions';\nimport { useDashboardStore, useWidgetStore } from '../../store';\nimport { useDashboardOperations } from '../../hooks/useDashboardOperations';\nimport { useWidgetOperations } from '../../hooks/useWidgetOperations';\nimport { useInstalledWidgets } from '../../hooks/useInstalledWidgets';\nimport { useWidgetCatalog } from '../../hooks/useWidgetCatalog';\nimport { useDashboardImageExport } from '../../hooks/useDashboardImageExport';\nimport { useBigConsole } from '../../context';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { Section } from '../common';\nimport { DashboardGrid } from './DashboardGrid';\nimport { loadBigConsoleSettings } from '../../hooks/useBigConsoleSettings';\nimport { DashboardToolbar } from './DashboardToolbar';\nimport { GlobalFiltersBar } from './GlobalFiltersBar';\nimport { LiveBoardBanner } from './LiveBoardBanner';\nimport { TemplateSetupBanner } from './TemplateSetupBanner';\nimport { PageTabsManager, type DashboardPageTab } from './PageTabsManager';\nimport { ShareDialog } from './ShareDialog';\nimport { WidgetPalette } from './WidgetPalette';\nimport { WidgetInspector } from '../builder';\nimport { getWidgetDefinition, type WidgetDefinition } from '../widgets/WidgetRegistry';\n// Phase 2: Cross-filtering context\nimport { CrossFilterProvider } from '../../contexts';\n// Smart widget positioning\nimport { findNextAvailablePosition, calculatePositionFromDrop } from '../../utils/widgetPositioning';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface DashboardCanvasProps {\n /** Dashboard ID */\n dashboardId: string;\n /** Page ID (for loading widgets) */\n pageId?: string;\n /** Dashboard title */\n title?: string;\n /** Callback to paste widget */\n onPaste?: () => void;\n /** Callback when dashboard is saved */\n onSave?: () => void;\n /** Whether save is in progress */\n isSaving?: boolean;\n /** Callback to export dashboard */\n onExport?: () => void;\n onPublishTemplate?: () => void;\n /** Dashboard pages for PageTabsManager */\n pages?: DashboardPageTab[];\n /** Active page ID */\n activePageId?: string;\n /** Callback when page changes */\n onPageChange?: (pageId: string) => void;\n /** Callback when pages are reordered */\n onPagesReorder?: (pages: DashboardPageTab[]) => void;\n /** Callback when page is added */\n onPageAdd?: () => void;\n /** Callback when page is renamed */\n onPageRename?: (pageId: string, newName: string) => void;\n /** Callback when page is duplicated */\n onPageDuplicate?: (pageId: string) => void;\n /** Callback when page is deleted */\n onPageDelete?: (pageId: string) => void;\n /** Whether to show global filters bar */\n showFilters?: boolean;\n /** Whether to show page tabs */\n showPageTabs?: boolean;\n /** Whether to enable cross-filtering (widget clicks update filters) */\n enableCrossFilter?: boolean;\n}\n\ninterface WidgetPlacement {\n position: { x: number; y: number; width: number; height: number };\n definition?: WidgetDefinition | null;\n}\n\ninterface PaletteDropData {\n type: WidgetType;\n name?: string;\n category?: WidgetDefinition['category'];\n defaultConfig?: Record<string, unknown>;\n defaultSize?: WidgetDefinition['defaultSize'];\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const DashboardCanvas: FC<DashboardCanvasProps> = memo(function DashboardCanvas({\n dashboardId,\n pageId,\n title,\n onPaste,\n onSave,\n isSaving = false,\n onExport,\n onPublishTemplate,\n pages = [],\n activePageId,\n onPageChange,\n onPagesReorder,\n onPageAdd,\n onPageRename,\n onPageDuplicate,\n onPageDelete,\n showFilters = true,\n showPageTabs = true,\n enableCrossFilter = true,\n}) {\n const { t } = useI18n();\n const containerRef = useRef<HTMLDivElement>(null);\n // Inner board element (the grid surface) — rasterized for PNG/PDF board-pack export.\n const boardRef = useRef<HTMLDivElement>(null);\n const [containerWidth, setContainerWidth] = useState(1200);\n const [isShareDialogOpen, setIsShareDialogOpen] = useState(false);\n const [widgetCreateError, setWidgetCreateError] = useState<string | null>(null);\n const [isDraggingWidget, setIsDraggingWidget] = useState(false);\n const [dragWidgetType, setDragWidgetType] = useState<WidgetType | null>(null);\n /**\n * Locally confirmed general-access level, keyed by the dashboard it belongs\n * to. Kept out of the dashboard store on purpose: `setCurrentDashboard` also\n * resets the active page and clears undo history, which changing a share\n * setting must not do.\n */\n const [visibilityOverride, setVisibilityOverride] = useState<{ id: string; value: DashboardVisibility } | null>(null);\n\n // Store state\n const isEditMode = useDashboardStore((state) => state.viewMode === 'edit');\n const currentDashboard = useDashboardStore((state) => state.currentDashboard);\n const gridColumns = currentDashboard?.pages.find((page) => page.id === pageId)?.gridColumns ?? 12;\n\n // Mutation only — `skipFetch` keeps this from pulling the whole dashboard list.\n const { updateDashboard } = useDashboardOperations({ skipFetch: true });\n const { hasPermission } = usePermissions();\n const canUpdateDashboard = hasPermission(BIGCONSOLE_PERMISSIONS.DASHBOARD_UPDATE);\n\n /**\n * General access for the board currently on screen. Only surfaced when the\n * loaded dashboard IS this one and its `visibility` came back from the\n * server — the share dialog hides the control otherwise rather than showing\n * a default that may not match reality.\n */\n const dashboardVisibility: DashboardVisibility | undefined =\n visibilityOverride?.id === dashboardId\n ? visibilityOverride.value\n : currentDashboard?.id === dashboardId\n ? currentDashboard.visibility\n : undefined;\n\n const handleVisibilityChange = useCallback(\n async (visibility: DashboardVisibility) => {\n // `updateDashboard` swallows Apollo errors and resolves to null, so null\n // is the failure signal the dialog needs in order to report it.\n const updated = await updateDashboard({ id: dashboardId, visibility });\n if (!updated) {\n throw new Error('The dashboard service did not accept the change.');\n }\n setVisibilityOverride({ id: dashboardId, value: updated.visibility ?? visibility });\n },\n [dashboardId, updateDashboard]\n );\n\n // Fetch installed widgets only in edit mode — the palette and add-widget dialog\n // are not usable in read-only view, so skip the request for viewer-only sessions.\n const { workspaceId, apiGatewayUrl, authToken } = useBigConsole();\n const { installedWidgets, loading: installedWidgetsLoading } = useInstalledWidgets({\n workspaceId,\n apiGatewayUrl,\n authToken,\n enabled: isEditMode,\n });\n // Built-in widget catalog from the backend (getWidgetTypes); falls back to the\n // bundled registry while loading or if the supergraph hasn't adopted it yet.\n const { definitions: widgetCatalog } = useWidgetCatalog({\n workspaceId,\n apiGatewayUrl,\n authToken,\n enabled: isEditMode,\n });\n const zoomLevel = useDashboardStore((state) => state.zoomLevel);\n const sidebarCollapsed = useDashboardStore((state) => state.sidebarCollapsed);\n const toggleSidebar = useDashboardStore((state) => state.toggleSidebar);\n const isPaletteOpen = !sidebarCollapsed;\n const setGlobalFilterValues = useDashboardStore((state) => state.setGlobalFilterValues);\n\n // Handle filter changes - update store for widget access\n const handleFilterChange = useCallback(\n (filterValues: Record<string, unknown>) => {\n // Update global filter values in dashboard store\n setGlobalFilterValues(filterValues);\n\n // Widgets can now access filter values via useGlobalFilterValues() hook\n // When backend supports filter parameters, widget queries will include these values\n },\n [setGlobalFilterValues]\n );\n\n // Widget operations hook (connects to backend) - skipFetch since parent page fetches\n const { createWidget: createWidgetApi } = useWidgetOperations(pageId, dashboardId, { skipFetch: true });\n\n const widgetsMap = useWidgetStore((state) => state.widgets);\n // Filter widgets to only show widgets for the current page\n const widgetsArray = useMemo(() => {\n const allWidgets = Array.from(widgetsMap.values());\n if (!pageId) return allWidgets;\n return allWidgets.filter((widget) => widget.pageId === pageId);\n }, [widgetsMap, pageId]);\n const selectedWidgetId = useWidgetStore((state) => state.selectedWidgetId);\n const selectWidget = useWidgetStore((state) => state.selectWidget);\n const addWidgetToStore = useWidgetStore((state) => state.addWidget);\n const updateWidgetPosition = useWidgetStore((state) => state.updateWidgetPosition);\n const configPanelOpen = useWidgetStore((state) => state.configPanelOpen);\n const closeConfigPanel = useWidgetStore((state) => state.closeConfigPanel);\n\n // Keep react-grid-layout's explicit width in sync with the actual canvas.\n // A ResizeObserver is required because opening the docked inspector or widget\n // palette resizes this element without resizing the browser window.\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n\n const updateWidth = () => {\n setContainerWidth(container.offsetWidth);\n };\n\n updateWidth();\n\n if (typeof ResizeObserver !== 'undefined') {\n const observer = new ResizeObserver(updateWidth);\n observer.observe(container);\n return () => observer.disconnect();\n }\n\n window.addEventListener('resize', updateWidth);\n return () => window.removeEventListener('resize', updateWidth);\n }, []);\n\n // Handle layout change\n const handleLayoutChange = useCallback(\n (layout: Layout[]) => {\n layout.forEach((item) => {\n updateWidgetPosition(item.i, {\n x: item.x,\n y: item.y,\n width: item.w,\n height: item.h,\n });\n });\n },\n [updateWidgetPosition]\n );\n\n // Handle widget select\n const handleWidgetSelect = useCallback(\n (widgetId: string) => {\n selectWidget(widgetId);\n },\n [selectWidget]\n );\n\n // Create with defaults, select the result, then configure it in the inspector.\n const handleAddWidget = useCallback(\n async (widgetData: Partial<Widget>, placement?: WidgetPlacement) => {\n setWidgetCreateError(null);\n const definition = placement?.definition || (widgetData.type ? getWidgetDefinition(widgetData.type) : null);\n const defaults = loadBigConsoleSettings();\n const widgetSize = {\n width: Math.min(definition?.defaultSize?.width ?? 4, gridColumns),\n height: defaults.defaultWidgetHeight,\n };\n\n let position: { x: number; y: number; width: number; height: number };\n if (placement?.position) {\n position = placement.position;\n } else {\n // Use smart placement algorithm - horizontal first, then next row\n const { x, y } = findNextAvailablePosition(widgetsArray, widgetSize, { cols: gridColumns });\n position = {\n x,\n y,\n width: widgetSize.width,\n height: widgetSize.height,\n };\n }\n\n // Preserve legacy binding fields when creating from imported/default data.\n const extendedData = widgetData as Partial<Widget> & { dataSinkId?: string; parserId?: string };\n\n // Try to create via API first\n if (pageId) {\n const widget = await createWidgetApi({\n pageId,\n dashboardId,\n type: widgetData.type!,\n title: widgetData.title || t('bigconsole.dashboards.canvas.untitledWidget', 'Untitled Widget'),\n description: widgetData.description,\n // v2.0: Renderer and template support\n renderer: widgetData.renderer,\n template: widgetData.template,\n config: widgetData.config || {},\n position,\n refreshInterval: widgetData.refreshInterval ?? defaults.defaultRefreshInterval,\n // v2.0: Data source fields (DataSink → Parser → Widget)\n dataSinkId: extendedData.dataSinkId,\n parserId: extendedData.parserId,\n });\n\n if (widget) {\n selectWidget(widget.id);\n return;\n }\n\n setWidgetCreateError(\n t(\n 'bigconsole.dashboards.canvas.widgetCreateError',\n 'Could not create the widget. Check the connection and try again.'\n )\n );\n return;\n }\n\n // Fallback to local store if API fails or no pageId\n const newWidget: Widget = {\n id: crypto.randomUUID(),\n dashboardId,\n pageId: pageId || 'local',\n type: widgetData.type!,\n title: widgetData.title || t('bigconsole.dashboards.canvas.untitledWidget', 'Untitled Widget'),\n description: widgetData.description,\n // v2.0: Renderer and template support\n renderer: widgetData.renderer,\n template: widgetData.template,\n refreshInterval: widgetData.refreshInterval ?? defaults.defaultRefreshInterval,\n config: widgetData.config || {},\n position,\n positionX: position.x,\n positionY: position.y,\n positionWidth: position.width,\n positionHeight: position.height,\n // v2.0: Data source fields (DataSink → Parser → Widget)\n dataSinkId: extendedData.dataSinkId,\n parserId: extendedData.parserId,\n translations: [],\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n };\n\n addWidgetToStore(newWidget);\n selectWidget(newWidget.id);\n },\n [dashboardId, pageId, createWidgetApi, addWidgetToStore, selectWidget, widgetsArray, gridColumns, t]\n );\n\n // Handle drag start from palette\n const handlePaletteDragStart = useCallback((type: WidgetType) => {\n setIsDraggingWidget(true);\n setDragWidgetType(type);\n }, []);\n\n // Handle drag end from palette\n const handlePaletteDragEnd = useCallback(() => {\n setIsDraggingWidget(false);\n setDragWidgetType(null);\n }, []);\n\n // Handle drop on canvas - create immediately with defaults.\n const handleCanvasDrop = useCallback(\n (e: React.DragEvent) => {\n e.preventDefault();\n setIsDraggingWidget(false);\n setDragWidgetType(null);\n\n try {\n const data = e.dataTransfer.getData('application/json');\n if (!data) return;\n\n const parsedData: unknown = JSON.parse(data);\n if (!parsedData || typeof parsedData !== 'object' || !('type' in parsedData)) return;\n const widgetData = parsedData as PaletteDropData;\n const definition = getWidgetDefinition(widgetData.type);\n\n // If the dropped data includes defaultConfig (from WidgetPalette drag serialization),\n // reconstruct a full WidgetDefinition so installed/store widget identity is preserved.\n let droppedDefinition: WidgetDefinition | null = null;\n if (widgetData.defaultConfig && widgetData.category) {\n droppedDefinition = {\n ...definition,\n name: widgetData.name || definition.name,\n category: widgetData.category,\n defaultConfig: widgetData.defaultConfig,\n defaultSize: widgetData.defaultSize || definition.defaultSize,\n };\n }\n\n // Calculate drop position relative to canvas\n const canvasRect = containerRef.current?.getBoundingClientRect();\n if (!canvasRect) return;\n\n // Use utility to calculate grid position from drop coordinates\n const widgetSize = {\n width: Math.min(definition.defaultSize.width, gridColumns),\n height: loadBigConsoleSettings().defaultWidgetHeight,\n };\n\n const { x: gridX, y: gridY } = calculatePositionFromDrop(\n e.clientX,\n e.clientY,\n canvasRect,\n containerWidth,\n widgetSize,\n { cols: gridColumns }\n );\n\n const position = {\n x: gridX,\n y: gridY,\n width: widgetSize.width,\n height: widgetSize.height,\n };\n\n void handleAddWidget(\n {\n type: widgetData.type,\n title: widgetData.name || definition.name,\n config: widgetData.defaultConfig || definition.defaultConfig,\n },\n { position, definition: droppedDefinition }\n );\n } catch (error) {\n console.error('Failed to handle widget drop:', error);\n }\n },\n [containerWidth, handleAddWidget, gridColumns]\n );\n\n // Handle drag over to allow drop\n const handleCanvasDragOver = useCallback((e: React.DragEvent) => {\n e.preventDefault();\n e.dataTransfer.dropEffect = 'copy';\n }, []);\n\n // Handle widget select from palette (quick add without drag)\n const handlePaletteWidgetSelect = useCallback(\n (type: WidgetType, paletteDefinition?: WidgetDefinition) => {\n const definition = paletteDefinition || getWidgetDefinition(type);\n handleAddWidget({\n type,\n title: definition.name,\n config: definition.defaultConfig,\n });\n },\n [handleAddWidget]\n );\n\n // Toggle palette\n const togglePalette = useCallback(() => {\n toggleSidebar();\n }, [toggleSidebar]);\n\n const openWidgetPalette = useCallback(() => {\n if (sidebarCollapsed) toggleSidebar();\n window.requestAnimationFrame(() => {\n const searchPlaceholder = t('bigconsole.dashboards.widgetPalette.searchPlaceholder', 'Search widgets...');\n document.querySelector<HTMLInputElement>(`input[placeholder=\"${searchPlaceholder}\"]`)?.focus();\n });\n }, [sidebarCollapsed, toggleSidebar, t]);\n\n // Board-pack export (PNG + PDF) — rasterizes the inner board element.\n const {\n exportPNG,\n exportPDF,\n isExporting: isExportingImage,\n } = useDashboardImageExport({ containerRef: boardRef, name: title || 'dashboard' });\n const handleExportImage = useCallback(() => {\n void exportPNG();\n }, [exportPNG]);\n const handleExportPdf = useCallback(() => {\n void exportPDF();\n }, [exportPDF]);\n\n return (\n <div className=\"flex flex-col h-full min-w-0 overflow-hidden\">\n {/* Toolbar */}\n <DashboardToolbar\n dashboardId={dashboardId}\n title={title}\n onAddWidget={openWidgetPalette}\n onTogglePalette={togglePalette}\n isPaletteOpen={isPaletteOpen}\n onPaste={onPaste}\n onSave={onSave}\n isSaving={isSaving}\n onExport={onExport}\n onPublishTemplate={onPublishTemplate}\n onExportImage={handleExportImage}\n onExportPdf={handleExportPdf}\n isExportingImage={isExportingImage}\n onShare={() => setIsShareDialogOpen(true)}\n />\n\n {widgetCreateError && (\n <div role=\"alert\" className=\"mx-card-padding mt-control-gap flex-shrink-0\">\n {/* The section title has no catalog key — BOFF-6004 translated only the\n message and the Dismiss action — so it stays a literal until a key\n lands in src/translations/en.ts. */}\n <Section\n tone=\"danger\"\n padding=\"compact\"\n headingLevel={3}\n data-testid=\"widget-create-error\"\n title=\"Widget not created\"\n description={widgetCreateError}\n actions={\n <Button variant=\"outline\" size=\"sm\" onClick={() => setWidgetCreateError(null)}>\n {t('bigconsole.dashboards.canvas.dismiss', 'Dismiss')}\n </Button>\n }\n />\n </div>\n )}\n\n {/* Live wall-board freshness banner — renders only when the page has\n auto-refreshing widgets (e.g. the Live Bed Board) and not in edit mode. */}\n <TemplateSetupBanner widgets={widgetsArray} isEditMode={isEditMode} />\n <LiveBoardBanner widgets={widgetsArray} isEditMode={isEditMode} />\n\n {/* Global Filters Bar */}\n {showFilters && <GlobalFiltersBar dashboardId={dashboardId} onFilterChange={handleFilterChange} collapsible />}\n\n {/* Page Tabs - always show in edit mode so user can add first page */}\n {showPageTabs && (isEditMode || pages.length > 0) && (\n <PageTabsManager\n pages={pages}\n activePageId={activePageId || pages[0]?.id}\n editable={isEditMode}\n onPageSelect={onPageChange || (() => {})}\n onPagesReorder={\n onPagesReorder\n ? (pageIds) => {\n // Convert string[] to DashboardPageTab[] for the callback\n const reorderedPages = pageIds.map((id) => pages.find((p) => p.id === id)!).filter(Boolean);\n onPagesReorder(reorderedPages);\n }\n : undefined\n }\n onPageCreate={onPageAdd}\n onPageRename={onPageRename}\n onPageDuplicate={onPageDuplicate}\n onPageDelete={onPageDelete}\n />\n )}\n\n {/* Main content area with palette and canvas.\n When the properties inspector is open we reserve equal space on the\n right so the (fixed, non-modal) panel docks beside the canvas instead\n of overlaying the selected widget. */}\n <div\n data-testid=\"dashboard-canvas-panes\"\n className={`flex flex-1 min-w-0 overflow-hidden ${\n // Only reserve the inspector gutter where there is room for both. The\n // panel is `min(420px, 100vw)` wide, so below `lg` it overlays the\n // board instead — reserving 420px there left the canvas a sliver.\n configPanelOpen ? 'lg:mr-[var(--bc-inspector-width,420px)]' : ''\n }`}\n >\n {/* Widget Palette Sidebar */}\n {isEditMode && (\n <WidgetPalette\n isOpen={isPaletteOpen}\n onClose={togglePalette}\n onWidgetSelect={handlePaletteWidgetSelect}\n onDragStart={handlePaletteDragStart}\n onDragEnd={handlePaletteDragEnd}\n installedWidgets={installedWidgets}\n installedWidgetsLoading={installedWidgetsLoading}\n definitions={widgetCatalog}\n />\n )}\n\n {/*\n The board. This is the one `primary` region on the route — everything\n above it is bare chrome or a compact status strip, so the widgets are\n what the eye lands on. It keeps the recessed canvas surface on purpose:\n the widgets are the raised cards, the board is the well they sit in.\n The drop border is always 2px (transparent when idle) so drag-over\n highlights without nudging the whole board.\n */}\n <div\n ref={containerRef}\n role=\"region\"\n aria-label=\"Dashboard board\"\n data-section-emphasis=\"primary\"\n data-testid=\"dashboard-board\"\n className=\"relative min-w-0 flex-1 overflow-auto border-2 border-transparent bg-bg-sunken motion-safe:transition-[border-color,background-color]\"\n onDrop={handleCanvasDrop}\n onDragOver={handleCanvasDragOver}\n onClick={() => {\n if (isEditMode) {\n selectWidget(null);\n }\n }}\n style={\n isDraggingWidget\n ? {\n borderStyle: 'dashed',\n borderColor: 'var(--color-action-primary-bg)',\n backgroundColor: 'var(--color-bg-accentSubtle)',\n }\n : undefined\n }\n >\n {/* Drop zone indicator */}\n {isDraggingWidget && (\n <div\n style={{\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n padding: 'var(--space-pagePadding)',\n backgroundColor: 'var(--color-bg-surface)',\n borderRadius: 'var(--radius-card)',\n boxShadow: 'var(--shadow-elevation-2)',\n textAlign: 'center',\n pointerEvents: 'none',\n zIndex: 100,\n }}\n >\n <p style={{ fontSize: 'var(--font-size-body-md)', color: 'var(--color-text-primary)', margin: 0 }}>\n {t('bigconsole.dashboards.canvas.dropToAddBefore', 'Drop to add')} <strong>{dragWidgetType}</strong>{' '}\n {t('bigconsole.dashboards.canvas.dropToAddAfter', 'widget')}\n </p>\n </div>\n )}\n\n <div\n ref={boardRef}\n className=\"min-h-full origin-top-left transition-transform\"\n style={{\n transform: `scale(${zoomLevel / 100})`,\n width: `${100 / (zoomLevel / 100)}%`,\n }}\n >\n {widgetsArray.length > 0 ? (\n <CrossFilterProvider\n enabled={enableCrossFilter}\n onCrossFilter={(_filters) => {\n // Cross-filter applied - widget queries can access filter values\n }}\n >\n <DashboardGrid\n widgets={widgetsArray}\n cols={gridColumns}\n isEditMode={isEditMode}\n width={containerWidth}\n onLayoutChange={handleLayoutChange}\n onWidgetSelect={handleWidgetSelect}\n selectedWidgetId={selectedWidgetId}\n />\n </CrossFilterProvider>\n ) : (\n <div className=\"flex min-h-[min(400px,60vh)] items-center justify-center p-card-padding\">\n <Section\n headingLevel={3}\n className=\"w-full max-w-md\"\n data-testid=\"dashboard-empty-board\"\n headerClassName=\"mb-form-gap\"\n title={t('bigconsole.dashboards.canvas.noWidgetsTitle', 'No widgets yet')}\n description={t(\n 'bigconsole.dashboards.canvas.noWidgetsDescription',\n 'Add widgets to build your dashboard. Click the \"Add Widget\" button to get started.'\n )}\n >\n {isEditMode && (\n <Button onClick={openWidgetPalette}>\n <Plus className=\"size-4\" />\n {t('bigconsole.dashboards.canvas.addWidget', 'Add Widget')}\n </Button>\n )}\n </Section>\n </div>\n )}\n </div>\n </div>\n </div>\n\n {/* Properties Panel */}\n <WidgetInspector isOpen={configPanelOpen} onClose={closeConfigPanel} />\n\n {/* Share Dialog */}\n <ShareDialog\n dashboardId={dashboardId}\n dashboardName={title || t('bigconsole.dashboards.canvas.dashboardFallbackName', 'Dashboard')}\n isOpen={isShareDialogOpen}\n onClose={() => setIsShareDialogOpen(false)}\n visibility={dashboardVisibility}\n onVisibilityChange={handleVisibilityChange}\n canChangeVisibility={canUpdateDashboard}\n />\n </div>\n );\n});\n\nexport default DashboardCanvas;\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardGrid.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/dashboard/DashboardGrid.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA8B,MAAM,OAAO,CAAC;AAC5D,OAAmB,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAO1C,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AAMxC,MAAM,WAAW,kBAAkB;IACjC,yBAAyB;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2BAA2B;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mCAAmC;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC5C,uCAAuC;IACvC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AA6BD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA+I/C,CAAC;AAEH,eAAe,aAAa,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardGrid.js","names":[],"sources":["../../../../src/bigconsole/components/dashboard/DashboardGrid.tsx"],"sourcesContent":["/**\n * DashboardGrid Component\n *\n * Grid layout for widgets using react-grid-layout.\n * v2.0: Added widget event emission support\n */\n\nimport { type FC, memo, useMemo, useCallback } from 'react';\nimport GridLayout, { type Layout } from 'react-grid-layout';\nimport type { Widget } from '../../types';\nimport { WidgetWrapper } from '../widgets/WidgetWrapper';\nimport { useWidgetEvents } from '../../hooks/useWidgetEvents';\nimport { useGlobalFilterValues } from '../../store';\nimport type { WidgetAction, ActionContext, ActionResult } from '../../renderers/types/renderer';\n\n// Import react-grid-layout styles\nimport 'react-grid-layout/css/styles.css';\nimport 'react-resizable/css/styles.css';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface DashboardGridProps {\n /** Widgets to display */\n widgets: Widget[];\n /** Whether in edit mode */\n isEditMode: boolean;\n /** Container width */\n width: number;\n /** Number of columns */\n cols?: number;\n /** Row height in pixels */\n rowHeight?: number;\n /** Callback when layout changes */\n onLayoutChange?: (layout: Layout[]) => void;\n /** Callback when widget is selected */\n onWidgetSelect?: (widgetId: string) => void;\n /** Currently selected widget ID */\n selectedWidgetId?: string | null;\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\nfunction widgetToLayout(widget: Widget, cols: number): Layout {\n const x = widget.position?.x ?? widget.positionX ?? 0;\n const y = widget.position?.y ?? widget.positionY ?? 0;\n const w = widget.position?.width ?? widget.positionWidth ?? 4;\n const h = widget.position?.height ?? widget.positionHeight ?? 4;\n\n return {\n i: widget.id,\n x,\n y,\n w,\n h,\n minW: 1,\n minH: 1,\n maxW: cols,\n maxH: 12,\n };\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const DashboardGrid: FC<DashboardGridProps> = memo(function DashboardGrid({\n widgets,\n isEditMode,\n width,\n cols = 12,\n rowHeight = 60,\n onLayoutChange,\n onWidgetSelect,\n selectedWidgetId,\n}) {\n // Phase 2: Get global filter values\n const globalFilterValues = useGlobalFilterValues();\n\n // v2.0: Widget event emission hook\n const { emitEvent } = useWidgetEvents({});\n\n // A phone displays a reading layout. Never save this temporary layout over\n // the authored desktop positions when a drag/resize callback fires.\n const isNarrow = width < 640;\n const canEditLayout = isEditMode && !isNarrow;\n const layout = useMemo(() => {\n const authored = widgets.map((widget) => widgetToLayout(widget, cols));\n if (!isNarrow) return authored;\n let nextRow = 0;\n return [...authored]\n .sort((a, b) => a.y - b.y || a.x - b.x)\n .map((item) => {\n const stacked = { ...item, x: 0, y: nextRow, w: cols, minW: cols };\n nextRow += item.h;\n return stacked;\n });\n }, [widgets, cols, isNarrow]);\n\n // Gutters are a fixed 16px in react-grid-layout, which on a 390px canvas spends\n // ~32px of the board on padding alone. Shrink them on narrow canvases — this is\n // purely visual and never touches the stored x/y/w/h.\n const gutter = width < 480 ? 8 : 16;\n\n // Handle widget click - only select in edit mode\n const handleWidgetClick = useCallback(\n (widgetId: string, _event: React.MouseEvent) => {\n // Only select widget in edit mode\n // In view mode, let WidgetWrapper handle drilldown\n if (isEditMode && onWidgetSelect) {\n onWidgetSelect(widgetId);\n }\n },\n [onWidgetSelect, isEditMode]\n );\n\n // Handle drag/resize stop - only update when user finishes interaction\n const handleDragStop = useCallback(\n (layout: Layout[]) => {\n if (onLayoutChange && canEditLayout) {\n onLayoutChange(layout);\n }\n },\n [onLayoutChange, canEditLayout]\n );\n\n const handleResizeStop = useCallback(\n (layout: Layout[]) => {\n if (onLayoutChange && canEditLayout) {\n onLayoutChange(layout);\n }\n },\n [onLayoutChange, canEditLayout]\n );\n\n // v2.0: Handle widget action - emit event to backend\n const handleWidgetAction = useCallback(\n async (action: WidgetAction, context: ActionContext): Promise<ActionResult | void> => {\n // Safety check: ensure action.name is a string\n const actionName = typeof action?.name === 'string' ? action.name : 'unknown';\n\n // Build event name from action name (e.g., \"Edit Profile\" -> \"widget:edit_profile:clicked\")\n const eventName = `widget:${actionName.toLowerCase().replace(/\\s+/g, '_')}:clicked`;\n\n // Emit event to backend (triggers webhook if configured)\n const eventLog = await emitEvent({\n widgetId: context.widgetId,\n actionName: actionName,\n event: eventName,\n payload: context.data || {},\n });\n\n if (eventLog) {\n return {\n success: eventLog.status !== 'FAILED',\n message: eventLog.status === 'DELIVERED' ? 'Action completed' : `Event status: ${eventLog.status}`,\n };\n }\n\n return { success: false, message: 'Failed to emit event' };\n },\n [emitEvent]\n );\n\n return (\n <GridLayout\n className=\"dashboard-grid\"\n layout={layout}\n cols={cols}\n rowHeight={rowHeight}\n width={width}\n margin={[gutter, gutter]}\n containerPadding={[gutter, gutter]}\n isDraggable={canEditLayout}\n isResizable={canEditLayout}\n draggableHandle=\".widget-drag-handle\"\n onDragStop={handleDragStop}\n onResizeStop={handleResizeStop}\n useCSSTransforms\n compactType={null}\n preventCollision={false}\n >\n {widgets.map((widget) => {\n // v2.0: Extract actions from widget\n const widgetWithActions = widget as Widget & { actions?: WidgetAction[] };\n const widgetActions = widgetWithActions.actions || [];\n\n return (\n <div\n key={widget.id}\n onClick={(e) => handleWidgetClick(widget.id, e)}\n data-selected={selectedWidgetId === widget.id && isEditMode ? 'true' : undefined}\n className={`flex h-full min-w-0 flex-col overflow-visible ${\n selectedWidgetId === widget.id && isEditMode\n ? 'rounded-card ring-2 ring-action-primary-bg ring-offset-2 ring-offset-bg-sunken'\n : ''\n }`}\n >\n <WidgetWrapper\n widget={widget}\n actions={widgetActions}\n onAction={handleWidgetAction}\n filterValues={globalFilterValues}\n />\n </div>\n );\n })}\n </GridLayout>\n );\n});\n\nexport default DashboardGrid;\n"],"mappings":";;;;;;;;;;AA8CA,SAAS,EAAe,GAAgB,GAAsB;CAC5D,IAAM,IAAI,EAAO,UAAU,KAAK,EAAO,aAAa,GAC9C,IAAI,EAAO,UAAU,KAAK,EAAO,aAAa,GAC9C,IAAI,EAAO,UAAU,SAAS,EAAO,iBAAiB,GACtD,IAAI,EAAO,UAAU,UAAU,EAAO,kBAAkB;AAE9D,QAAO;EACL,GAAG,EAAO;EACV;EACA;EACA;EACA;EACA,MAAM;EACN,MAAM;EACN,MAAM;EACN,MAAM;EACP;;AAOH,IAAa,IAAwC,EAAK,SAAuB,EAC/E,YACA,eACA,UACA,UAAO,IACP,eAAY,IACZ,mBACA,mBACA,uBACC;CAED,IAAM,IAAqB,GAAuB,EAG5C,EAAE,iBAAc,EAAgB,EAAE,CAAC,EAInC,IAAW,IAAQ,KACnB,IAAgB,KAAc,CAAC,GAC/B,IAAS,QAAc;EAC3B,IAAM,IAAW,EAAQ,KAAK,MAAW,EAAe,GAAQ,EAAK,CAAC;AACtE,MAAI,CAAC,EAAU,QAAO;EACtB,IAAI,IAAU;AACd,SAAO,CAAC,GAAG,EAAS,CACjB,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CACtC,KAAK,MAAS;GACb,IAAM,IAAU;IAAE,GAAG;IAAM,GAAG;IAAG,GAAG;IAAS,GAAG;IAAM,MAAM;IAAM;AAElE,UADA,KAAW,EAAK,GACT;IACP;IACH;EAAC;EAAS;EAAM;EAAS,CAAC,EAKvB,IAAS,IAAQ,MAAM,IAAI,IAG3B,IAAoB,GACvB,GAAkB,MAA6B;AAG9C,EAAI,KAAc,KAChB,EAAe,EAAS;IAG5B,CAAC,GAAgB,EAAW,CAC7B,EAGK,IAAiB,GACpB,MAAqB;AACpB,EAAI,KAAkB,KACpB,EAAe,EAAO;IAG1B,CAAC,GAAgB,EAAc,CAChC,EAEK,IAAmB,GACtB,MAAqB;AACpB,EAAI,KAAkB,KACpB,EAAe,EAAO;IAG1B,CAAC,GAAgB,EAAc,CAChC,EAGK,IAAqB,EACzB,OAAO,GAAsB,MAAyD;EAEpF,IAAM,IAAa,OAAO,GAAQ,QAAS,WAAW,EAAO,OAAO,WAG9D,IAAY,UAAU,EAAW,aAAa,CAAC,QAAQ,QAAQ,IAAI,CAAC,WAGpE,IAAW,MAAM,EAAU;GAC/B,UAAU,EAAQ;GACN;GACZ,OAAO;GACP,SAAS,EAAQ,QAAQ,EAAE;GAC5B,CAAC;AASF,SAPI,IACK;GACL,SAAS,EAAS,WAAW;GAC7B,SAAS,EAAS,WAAW,cAAc,qBAAqB,iBAAiB,EAAS;GAC3F,GAGI;GAAE,SAAS;GAAO,SAAS;GAAwB;IAE5D,CAAC,EAAU,CACZ;AAED,QACE,kBAAC,GAAD;EACE,WAAU;EACF;EACF;EACK;EACJ;EACP,QAAQ,CAAC,GAAQ,EAAO;EACxB,kBAAkB,CAAC,GAAQ,EAAO;EAClC,aAAa;EACb,aAAa;EACb,iBAAgB;EAChB,YAAY;EACZ,cAAc;EACd,kBAAA;EACA,aAAa;EACb,kBAAkB;YAEjB,EAAQ,KAAK,MAAW;GAGvB,IAAM,IADoB,EACc,WAAW,EAAE;AAErD,UACE,kBAAC,OAAD;IAEE,UAAU,MAAM,EAAkB,EAAO,IAAI,EAAE;IAC/C,iBAAe,MAAqB,EAAO,MAAM,IAAa,SAAS,KAAA;IACvE,WAAW,iDACT,MAAqB,EAAO,MAAM,IAC9B,mFACA;cAGN,kBAAC,GAAD;KACU;KACR,SAAS;KACT,UAAU;KACV,cAAc;KACd,CAAA;IACE,EAfC,EAAO,GAeR;IAER;EACS,CAAA;EAEf"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardStatusPill.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/dashboard/DashboardStatusPill.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAe9E,yDAAyD;AACzD,wBAAgB,uBAAuB,IAAI,CAAC,MAAM,EAAE,mBAAmB,KAAK,MAAM,CAejF;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CAiC3D,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardStatusPill.js","names":[],"sources":["../../../../src/bigconsole/components/dashboard/DashboardStatusPill.tsx"],"sourcesContent":["/**\n * DashboardStatusPill\n *\n * Compact lifecycle badge for a dashboard (Draft / Published / Archived).\n * Shared by the Dashboards list and the Overview's recent dashboards so the\n * same state always reads the same way.\n */\n\nimport { type FC, memo, useCallback } from 'react';\nimport { useTr } from '../../../shared/hooks/useTr';\nimport type { DashboardListStatus } from '../../hooks/useDashboardOperations';\n\n/**\n * Lifecycle status of a dashboard.\n *\n * Backed by `Dashboard.status` (DashboardStatus: DRAFT | PUBLISHED | ARCHIVED).\n * Whether a board is a published surface or still a draft is the fact a list of\n * boards is most often scanned for.\n */\nconst DASHBOARD_STATUS_DOT: Record<DashboardListStatus, string> = {\n PUBLISHED: 'var(--color-status-success-bg)',\n DRAFT: 'var(--color-text-muted)',\n ARCHIVED: 'var(--color-status-warning-bg)',\n};\n\n/** Translated label for a dashboard lifecycle status. */\nexport function useDashboardStatusLabel(): (status: DashboardListStatus) => string {\n const tr = useTr();\n return useCallback(\n (status: DashboardListStatus) => {\n switch (status) {\n case 'PUBLISHED':\n return tr('bigconsole.dashboards.status.published', 'Published');\n case 'ARCHIVED':\n return tr('bigconsole.dashboards.status.archived', 'Archived');\n default:\n return tr('bigconsole.dashboards.status.draft', 'Draft');\n }\n },\n [tr]\n );\n}\n\nexport interface DashboardStatusPillProps {\n status: DashboardListStatus;\n label: string;\n}\n\nexport const DashboardStatusPill: FC<DashboardStatusPillProps> = memo(function DashboardStatusPill({ status, label }) {\n return (\n <span\n data-testid=\"dashboard-status\"\n style={{\n display: 'inline-flex',\n alignItems: 'center',\n gap: 'var(--space-iconGap)',\n padding: '2px 8px',\n borderRadius: 'var(--radius-pill)',\n backgroundColor: 'var(--color-bg-sunken)',\n border: '1px solid var(--color-border-subtle)',\n fontSize: '10px',\n fontWeight: 'var(--font-weight-semibold)',\n textTransform: 'uppercase',\n letterSpacing: '0.02em',\n color: 'var(--color-text-secondary)',\n whiteSpace: 'nowrap',\n }}\n >\n <span\n aria-hidden=\"true\"\n style={{\n width: 6,\n height: 6,\n borderRadius: '50%',\n backgroundColor: DASHBOARD_STATUS_DOT[status],\n flexShrink: 0,\n }}\n />\n {label}\n </span>\n );\n});\n\nexport default DashboardStatusPill;\n"],"mappings":";;;;AAmBA,IAAM,IAA4D;CAChE,WAAW;CACX,OAAO;CACP,UAAU;CACX;AAGD,SAAgB,IAAmE;CACjF,IAAM,IAAK,GAAO;AAClB,QAAO,GACJ,MAAgC;AAC/B,UAAQ,GAAR;GACE,KAAK,YACH,QAAO,EAAG,0CAA0C,YAAY;GAClE,KAAK,WACH,QAAO,EAAG,yCAAyC,WAAW;GAChE,QACE,QAAO,EAAG,sCAAsC,QAAQ;;IAG9D,CAAC,EAAG,CACL;;AAQH,IAAa,IAAoD,EAAK,SAA6B,EAAE,WAAQ,YAAS;AACpH,QACE,kBAAC,QAAD;EACE,eAAY;EACZ,OAAO;GACL,SAAS;GACT,YAAY;GACZ,KAAK;GACL,SAAS;GACT,cAAc;GACd,iBAAiB;GACjB,QAAQ;GACR,UAAU;GACV,YAAY;GACZ,eAAe;GACf,eAAe;GACf,OAAO;GACP,YAAY;GACb;YAhBH,CAkBE,kBAAC,QAAD;GACE,eAAY;GACZ,OAAO;IACL,OAAO;IACP,QAAQ;IACR,cAAc;IACd,iBAAiB,EAAqB;IACtC,YAAY;IACb;GACD,CAAA,EACD,EACI;;EAET"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DashboardToolbar.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/dashboard/DashboardToolbar.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AAgCnD,MAAM,WAAW,qBAAqB;IACpC,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,8BAA8B;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,kDAAkD;IAClD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,4CAA4C;IAC5C,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAMD,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAsQrD,CAAC;AAEH,eAAe,gBAAgB,CAAC"}