@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.
- package/README.md +3 -0
- package/dist/bigconsole/AdminRoot.d.ts +0 -1
- package/dist/bigconsole/AdminRoot.js +0 -2
- package/dist/bigconsole/AdminRoutes.d.ts +0 -1
- package/dist/bigconsole/AdminRoutes.js +0 -2
- package/dist/bigconsole/BigConsoleRoot.d.ts +0 -1
- package/dist/bigconsole/BigConsoleRoot.js +0 -2
- package/dist/bigconsole/BigConsoleRoutes.d.ts +0 -1
- package/dist/bigconsole/BigConsoleRoutes.js +0 -2
- package/dist/bigconsole/assistant/assistantApi.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantApi.js +0 -2
- package/dist/bigconsole/assistant/assistantProduct.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantProduct.js +0 -2
- package/dist/bigconsole/assistant/assistantPrompt.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantPrompt.js +0 -2
- package/dist/bigconsole/assistant/assistantRunPersistence.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantRunPersistence.js +0 -2
- package/dist/bigconsole/assistant/assistantRunStore.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantRunStore.js +0 -2
- package/dist/bigconsole/assistant/assistantRuntime.d.ts +0 -1
- package/dist/bigconsole/assistant/assistantRuntime.js +0 -2
- package/dist/bigconsole/assistant/attachmentExtract.d.ts +0 -1
- package/dist/bigconsole/assistant/attachmentExtract.js +0 -2
- package/dist/bigconsole/assistant/conversationHistoryApi.d.ts +0 -1
- package/dist/bigconsole/assistant/conversationHistoryApi.js +0 -2
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts +0 -1
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.js +0 -2
- package/dist/bigconsole/assistant/displayCopy.d.ts +0 -1
- package/dist/bigconsole/assistant/index.d.ts +0 -1
- package/dist/bigconsole/assistant/modes.d.ts +0 -1
- package/dist/bigconsole/assistant/modes.js +0 -2
- package/dist/bigconsole/assistant/pageContext.d.ts +0 -1
- package/dist/bigconsole/assistant/pageContext.js +0 -2
- package/dist/bigconsole/assistant/previewController.d.ts +0 -1
- package/dist/bigconsole/assistant/previewController.js +0 -2
- package/dist/bigconsole/assistant/previewMutationResult.d.ts +0 -1
- package/dist/bigconsole/assistant/previewMutationResult.js +0 -2
- package/dist/bigconsole/assistant/previewRunAction.d.ts +0 -1
- package/dist/bigconsole/assistant/previewRunAction.js +0 -2
- package/dist/bigconsole/assistant/product.d.ts +0 -1
- package/dist/bigconsole/assistant/product.js +0 -2
- package/dist/bigconsole/assistant/recordAdapters.d.ts +0 -1
- package/dist/bigconsole/assistant/recordAdapters.js +0 -2
- package/dist/bigconsole/assistant/types.d.ts +0 -1
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts +0 -1
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.js +0 -2
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts +0 -1
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js +0 -2
- package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts +0 -1
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js +0 -2
- package/dist/bigconsole/components/DrilldownModal.d.ts +0 -1
- package/dist/bigconsole/components/DrilldownModal.js +0 -2
- package/dist/bigconsole/components/builder/BuilderCanvas.d.ts +0 -1
- package/dist/bigconsole/components/builder/BuilderCanvas.js +0 -2
- package/dist/bigconsole/components/builder/BuilderTopbar.d.ts +0 -1
- package/dist/bigconsole/components/builder/BuilderTopbar.js +0 -2
- package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts +0 -1
- package/dist/bigconsole/components/builder/DashboardEditorShell.js +0 -2
- package/dist/bigconsole/components/builder/WidgetInspector.d.ts +0 -1
- package/dist/bigconsole/components/builder/WidgetInspector.js +0 -2
- package/dist/bigconsole/components/builder/index.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +0 -2
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +0 -2
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +0 -2
- package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/GeneralSection.js +0 -2
- package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts +0 -1
- package/dist/bigconsole/components/builder/inspector/LayoutSection.js +0 -2
- package/dist/bigconsole/components/builder/inspector/index.d.ts +0 -1
- package/dist/bigconsole/components/common/Section.d.ts +0 -1
- package/dist/bigconsole/components/common/Section.js +0 -2
- package/dist/bigconsole/components/common/index.d.ts +0 -1
- package/dist/bigconsole/components/common/sectionStyles.d.ts +0 -1
- package/dist/bigconsole/components/common/sectionStyles.js +0 -2
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +0 -2
- package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +0 -2
- package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/DashboardGrid.js +0 -2
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.js +0 -2
- package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +0 -2
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +0 -2
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +0 -2
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +0 -2
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +0 -2
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +0 -2
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +0 -2
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +0 -2
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +0 -2
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js +0 -2
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +0 -2
- package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +0 -2
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +0 -2
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +0 -2
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +0 -2
- package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +0 -2
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +0 -2
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +0 -2
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +0 -2
- package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts +0 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.js +0 -2
- package/dist/bigconsole/components/dashboard/index.d.ts +0 -1
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts +0 -1
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +0 -2
- package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts +0 -1
- package/dist/bigconsole/components/datasink/AlertRuleEditor.js +0 -2
- package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts +0 -1
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js +0 -2
- package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkCard.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkCard.js +0 -2
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +0 -2
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +0 -2
- package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +0 -2
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +0 -2
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts +0 -1
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +0 -2
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts +0 -1
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +0 -2
- package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts +0 -1
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts +0 -1
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +0 -2
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts +0 -1
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +0 -2
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts +0 -1
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +0 -2
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts +0 -1
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +0 -2
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts +0 -1
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +0 -2
- package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts +0 -1
- package/dist/bigconsole/components/datasink/SetupStateBadge.js +0 -2
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts +0 -1
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +0 -2
- package/dist/bigconsole/components/datasink/index.d.ts +0 -1
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts +0 -1
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.js +0 -2
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts +0 -1
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js +0 -2
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts +0 -1
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js +0 -2
- package/dist/bigconsole/components/embed/drilldown.d.ts +0 -1
- package/dist/bigconsole/components/embed/drilldown.js +0 -2
- package/dist/bigconsole/components/embed/index.d.ts +0 -1
- package/dist/bigconsole/components/embed/renderer-manifest.d.ts +0 -1
- package/dist/bigconsole/components/embed/renderer-manifest.js +0 -2
- package/dist/bigconsole/components/embed/types.d.ts +0 -1
- package/dist/bigconsole/components/embed/types.js +0 -2
- package/dist/bigconsole/components/embed/validate.d.ts +0 -1
- package/dist/bigconsole/components/embed/validate.js +0 -2
- package/dist/bigconsole/components/embed/widgetShim.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgetShim.js +0 -2
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.js +0 -2
- package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/FormEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/ListEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/TableEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/TextEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js +0 -2
- package/dist/bigconsole/components/embed/widgets/shared.d.ts +0 -1
- package/dist/bigconsole/components/embed/widgets/shared.js +0 -2
- package/dist/bigconsole/components/overview/DashboardGuide.d.ts +0 -1
- package/dist/bigconsole/components/overview/DashboardGuide.js +0 -2
- package/dist/bigconsole/components/overview/DataHealthCard.d.ts +0 -1
- package/dist/bigconsole/components/overview/DataHealthCard.js +0 -2
- package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts +0 -1
- package/dist/bigconsole/components/overview/OverviewQuickActions.js +0 -2
- package/dist/bigconsole/components/overview/OverviewStatCard.d.ts +0 -1
- package/dist/bigconsole/components/overview/OverviewStatCard.js +0 -2
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts +0 -1
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.js +0 -2
- package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts +0 -1
- package/dist/bigconsole/components/overview/dashboardGuideSteps.js +0 -2
- package/dist/bigconsole/components/overview/index.d.ts +0 -1
- package/dist/bigconsole/components/overview/overviewModel.d.ts +0 -1
- package/dist/bigconsole/components/overview/overviewModel.js +0 -2
- package/dist/bigconsole/components/overview/useOverviewData.d.ts +0 -1
- package/dist/bigconsole/components/overview/useOverviewData.js +0 -2
- package/dist/bigconsole/components/parser/DataSinkSelector.d.ts +0 -1
- package/dist/bigconsole/components/parser/DataSinkSelector.js +0 -2
- package/dist/bigconsole/components/parser/ExportParserDialog.d.ts +0 -1
- package/dist/bigconsole/components/parser/ExportParserDialog.js +0 -2
- package/dist/bigconsole/components/parser/ExpressionEditor.d.ts +0 -1
- package/dist/bigconsole/components/parser/ExpressionEditor.js +0 -2
- package/dist/bigconsole/components/parser/ImportParserDialog.d.ts +0 -1
- package/dist/bigconsole/components/parser/ImportParserDialog.js +0 -2
- package/dist/bigconsole/components/parser/ParserBuilder.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserCard.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserCard.js +0 -2
- package/dist/bigconsole/components/parser/ParserFormDialog.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserSelector.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserSelector.js +0 -2
- package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserStatusBadge.js +0 -2
- package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts +0 -1
- package/dist/bigconsole/components/parser/ParserTypeBadge.js +0 -2
- package/dist/bigconsole/components/parser/TestPanel.d.ts +0 -1
- package/dist/bigconsole/components/parser/index.d.ts +0 -1
- package/dist/bigconsole/components/parser/parserFieldStyles.d.ts +0 -1
- package/dist/bigconsole/components/pipeline/PipelineCard.d.ts +0 -1
- package/dist/bigconsole/components/pipeline/PipelineCard.js +0 -2
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts +0 -1
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +0 -2
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts +0 -1
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +0 -2
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts +0 -1
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +0 -2
- package/dist/bigconsole/components/pipeline/index.d.ts +0 -1
- package/dist/bigconsole/components/preview/AiPreviewContent.d.ts +0 -1
- package/dist/bigconsole/components/preview/AiPreviewContent.js +0 -2
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts +0 -1
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +0 -2
- package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts +0 -1
- package/dist/bigconsole/components/preview/AiPreviewPanel.js +0 -2
- package/dist/bigconsole/components/preview/parserPreview.d.ts +0 -1
- package/dist/bigconsole/components/preview/parserPreview.js +0 -2
- package/dist/bigconsole/components/preview/previewShared.d.ts +0 -1
- package/dist/bigconsole/components/preview/previewShared.js +0 -2
- package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts +0 -1
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +0 -2
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts +0 -1
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +0 -2
- package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts +0 -1
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +505 -506
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +0 -2
- package/dist/bigconsole/components/widgets/WidgetHeader.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetHeader.js +0 -2
- package/dist/bigconsole/components/widgets/WidgetMenu.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetMenu.js +0 -2
- package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetRegistry.js +0 -2
- package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts +0 -1
- package/dist/bigconsole/components/widgets/WidgetWrapper.js +0 -2
- package/dist/bigconsole/components/widgets/actionConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/actionConfig.js +0 -2
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +0 -2
- package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarView.js +0 -2
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +0 -2
- package/dist/bigconsole/components/widgets/calendar/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js +0 -2
- package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartLegend.js +0 -2
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.js +0 -2
- package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartWidget.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js +0 -2
- package/dist/bigconsole/components/widgets/chart/charts/types.d.ts +0 -1
- package/dist/bigconsole/components/widgets/chart/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts +0 -1
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js +0 -2
- package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/custom/CustomWidget.js +0 -2
- package/dist/bigconsole/components/widgets/custom/config.d.ts +0 -1
- package/dist/bigconsole/components/widgets/custom/config.js +0 -2
- package/dist/bigconsole/components/widgets/custom/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/custom/utils.d.ts +0 -1
- package/dist/bigconsole/components/widgets/custom/utils.js +0 -2
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts +0 -1
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +0 -2
- package/dist/bigconsole/components/widgets/event-logs/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/form/FormWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/form/FormWidget.js +0 -2
- package/dist/bigconsole/components/widgets/form/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/funnel/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/funnel/index.js +0 -2
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts +0 -1
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +0 -2
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +0 -2
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +0 -2
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts +0 -1
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +0 -2
- package/dist/bigconsole/components/widgets/gauge/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +0 -2
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js +0 -2
- package/dist/bigconsole/components/widgets/heatmap/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +0 -2
- package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanView.js +0 -2
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +0 -2
- package/dist/bigconsole/components/widgets/kanban/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kanban/model.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kanban/model.js +0 -2
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.js +0 -2
- package/dist/bigconsole/components/widgets/kpi/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +0 -2
- package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/list/ListConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/list/ListConfig.js +0 -2
- package/dist/bigconsole/components/widgets/list/ListItem.d.ts +0 -1
- package/dist/bigconsole/components/widgets/list/ListItem.js +0 -2
- package/dist/bigconsole/components/widgets/list/ListWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/list/ListWidget.js +0 -2
- package/dist/bigconsole/components/widgets/list/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +0 -2
- package/dist/bigconsole/components/widgets/map-widget/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js +0 -2
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +0 -2
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +0 -2
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +0 -2
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts +0 -1
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +0 -2
- package/dist/bigconsole/components/widgets/metric-card/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +0 -2
- package/dist/bigconsole/components/widgets/pivot-table/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressBar.js +0 -2
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +0 -2
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +0 -2
- package/dist/bigconsole/components/widgets/progress/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +0 -2
- package/dist/bigconsole/components/widgets/retention/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/states/EmptyState.d.ts +0 -1
- package/dist/bigconsole/components/widgets/states/EmptyState.js +0 -2
- package/dist/bigconsole/components/widgets/states/ErrorState.d.ts +0 -1
- package/dist/bigconsole/components/widgets/states/ErrorState.js +0 -2
- package/dist/bigconsole/components/widgets/states/LoadingState.d.ts +0 -1
- package/dist/bigconsole/components/widgets/states/LoadingState.js +0 -2
- package/dist/bigconsole/components/widgets/states/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TableCell.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TableCell.js +0 -2
- package/dist/bigconsole/components/widgets/table/TableConfig.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TableConfig.js +0 -2
- package/dist/bigconsole/components/widgets/table/TableHeader.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TableHeader.js +0 -2
- package/dist/bigconsole/components/widgets/table/TablePagination.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TablePagination.js +0 -2
- package/dist/bigconsole/components/widgets/table/TableWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/TableWidget.js +0 -2
- package/dist/bigconsole/components/widgets/table/cellLink.d.ts +0 -1
- package/dist/bigconsole/components/widgets/table/cellLink.js +0 -2
- package/dist/bigconsole/components/widgets/table/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +0 -2
- package/dist/bigconsole/components/widgets/text-widget/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/text-widget/textData.d.ts +0 -1
- package/dist/bigconsole/components/widgets/text-widget/textData.js +0 -2
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts +0 -1
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +0 -2
- package/dist/bigconsole/components/widgets/timeline/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts +0 -1
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +0 -2
- package/dist/bigconsole/components/widgets/utils/inferFields.d.ts +0 -1
- package/dist/bigconsole/components/widgets/utils/inferFields.js +0 -2
- package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts +0 -1
- package/dist/bigconsole/components/widgets/utils/targetProgress.js +0 -2
- package/dist/bigconsole/components/widgets/utils/translate.d.ts +0 -1
- package/dist/bigconsole/components/widgets/utils/translate.js +0 -2
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts +0 -1
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +0 -2
- package/dist/bigconsole/components/widgets/webhook-config/index.d.ts +0 -1
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts +0 -1
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +0 -2
- package/dist/bigconsole/components/widgets/widget-actions/index.d.ts +0 -1
- package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowCard.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowCard.js +0 -2
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +0 -2
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js +0 -2
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +0 -2
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +0 -2
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts +0 -1
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +0 -2
- package/dist/bigconsole/components/workflow/index.d.ts +0 -1
- package/dist/bigconsole/constants/backendErrors.d.ts +0 -1
- package/dist/bigconsole/constants/backendErrors.js +0 -2
- package/dist/bigconsole/constants.d.ts +0 -1
- package/dist/bigconsole/constants.js +0 -2
- package/dist/bigconsole/context/BigConsoleContext.d.ts +0 -1
- package/dist/bigconsole/context/BigConsoleContext.js +0 -2
- package/dist/bigconsole/context/index.d.ts +0 -1
- package/dist/bigconsole/contexts/CrossFilterContext.d.ts +0 -1
- package/dist/bigconsole/contexts/CrossFilterContext.js +0 -2
- package/dist/bigconsole/contexts/NavigationContext.d.ts +0 -1
- package/dist/bigconsole/contexts/NavigationContext.js +0 -2
- package/dist/bigconsole/contexts/index.d.ts +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +0 -2
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +0 -2
- package/dist/bigconsole/customWidget/index.d.ts +0 -1
- package/dist/bigconsole/customWidget/proposalContract.d.ts +0 -1
- package/dist/bigconsole/customWidget/proposalContract.js +0 -2
- package/dist/bigconsole/customWidget/proposalSource.d.ts +0 -1
- package/dist/bigconsole/customWidget/proposalSource.js +0 -2
- package/dist/bigconsole/graphql/apollo-compat.d.ts +0 -1
- package/dist/bigconsole/graphql/storeTemplates.d.ts +0 -1
- package/dist/bigconsole/graphql/storeTemplates.js +0 -2
- package/dist/bigconsole/hooks/index.d.ts +0 -1
- package/dist/bigconsole/hooks/useActivePage.d.ts +0 -1
- package/dist/bigconsole/hooks/useActivePage.js +0 -2
- package/dist/bigconsole/hooks/useAutoRefresh.d.ts +0 -1
- package/dist/bigconsole/hooks/useAutoRefresh.js +0 -2
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts +0 -1
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.js +0 -2
- package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts +0 -1
- package/dist/bigconsole/hooks/useBigConsoleSettings.js +0 -2
- package/dist/bigconsole/hooks/useCrossFilter.d.ts +0 -1
- package/dist/bigconsole/hooks/useCrossFilter.js +0 -2
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js +0 -2
- package/dist/bigconsole/hooks/useDashboardImageExport.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardImageExport.js +0 -2
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +0 -2
- package/dist/bigconsole/hooks/useDashboardOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardOperations.js +0 -2
- package/dist/bigconsole/hooks/useDashboardSharing.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardSharing.js +0 -2
- package/dist/bigconsole/hooks/useDashboardTemplates.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardViews.d.ts +0 -1
- package/dist/bigconsole/hooks/useDashboardViews.js +0 -2
- package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +0 -1
- package/dist/bigconsole/hooks/useDataSinkAlerts.js +0 -2
- package/dist/bigconsole/hooks/useDataSinkOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useDataSinkOperations.js +0 -2
- package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts +0 -1
- package/dist/bigconsole/hooks/useDataSinkSubscription.js +0 -2
- package/dist/bigconsole/hooks/useDrilldown.d.ts +0 -1
- package/dist/bigconsole/hooks/useDrilldown.js +0 -2
- package/dist/bigconsole/hooks/useDrilldownOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useDrilldownOperations.js +0 -2
- package/dist/bigconsole/hooks/useEventLogs.d.ts +0 -1
- package/dist/bigconsole/hooks/useEventLogs.js +0 -2
- package/dist/bigconsole/hooks/useEventWebhooks.d.ts +0 -1
- package/dist/bigconsole/hooks/useEventWebhooks.js +0 -2
- package/dist/bigconsole/hooks/useExportDashboard.d.ts +0 -1
- package/dist/bigconsole/hooks/useExportDashboard.js +0 -2
- package/dist/bigconsole/hooks/useExportDataSink.d.ts +0 -1
- package/dist/bigconsole/hooks/useExportDataSink.js +0 -2
- package/dist/bigconsole/hooks/useExportParser.d.ts +0 -1
- package/dist/bigconsole/hooks/useExportParser.js +0 -2
- package/dist/bigconsole/hooks/useFilterPresets.d.ts +0 -1
- package/dist/bigconsole/hooks/useFilterPresets.js +0 -2
- package/dist/bigconsole/hooks/useFilterUrlSync.d.ts +0 -1
- package/dist/bigconsole/hooks/useFilterUrlSync.js +0 -2
- package/dist/bigconsole/hooks/useGlobalFilters.d.ts +0 -1
- package/dist/bigconsole/hooks/useGlobalFilters.js +0 -2
- package/dist/bigconsole/hooks/useImportDashboard.d.ts +0 -1
- package/dist/bigconsole/hooks/useImportDashboard.js +0 -2
- package/dist/bigconsole/hooks/useImportDataSink.d.ts +0 -1
- package/dist/bigconsole/hooks/useImportDataSink.js +0 -2
- package/dist/bigconsole/hooks/useImportParser.d.ts +0 -1
- package/dist/bigconsole/hooks/useImportParser.js +0 -2
- package/dist/bigconsole/hooks/useInstalledWidgets.d.ts +0 -1
- package/dist/bigconsole/hooks/useInstalledWidgets.js +0 -2
- package/dist/bigconsole/hooks/useModalFocusTrap.d.ts +0 -1
- package/dist/bigconsole/hooks/useModalFocusTrap.js +0 -2
- package/dist/bigconsole/hooks/usePageOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/usePageOperations.js +0 -2
- package/dist/bigconsole/hooks/useParserOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useParserOperations.js +0 -2
- package/dist/bigconsole/hooks/usePipelineOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/usePipelineOperations.js +0 -2
- package/dist/bigconsole/hooks/useShareRecipients.d.ts +0 -1
- package/dist/bigconsole/hooks/useShareRecipients.js +0 -2
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts +0 -1
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.js +0 -2
- package/dist/bigconsole/hooks/useWidgetActions.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetActions.js +0 -2
- package/dist/bigconsole/hooks/useWidgetCatalog.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetCatalog.js +0 -2
- package/dist/bigconsole/hooks/useWidgetComments.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetComments.js +0 -2
- package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetConfigPersist.js +0 -2
- package/dist/bigconsole/hooks/useWidgetData.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetData.js +0 -2
- package/dist/bigconsole/hooks/useWidgetEvents.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetEvents.js +0 -2
- package/dist/bigconsole/hooks/useWidgetExport.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetExport.js +0 -2
- package/dist/bigconsole/hooks/useWidgetOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useWidgetOperations.js +0 -2
- package/dist/bigconsole/hooks/useWorkflowOperations.d.ts +0 -1
- package/dist/bigconsole/hooks/useWorkflowOperations.js +0 -2
- package/dist/bigconsole/index.d.ts +0 -1
- package/dist/bigconsole/modules/dashboard/index.d.ts +0 -1
- package/dist/bigconsole/modules/index.d.ts +0 -1
- package/dist/bigconsole/modules/renderer/index.d.ts +0 -1
- package/dist/bigconsole/modules/widget/index.d.ts +0 -1
- package/dist/bigconsole/pages/AdminPage.d.ts +0 -1
- package/dist/bigconsole/pages/AdminPage.js +0 -2
- package/dist/bigconsole/pages/DashboardBuilderPage.d.ts +0 -1
- package/dist/bigconsole/pages/DashboardBuilderPage.js +0 -2
- package/dist/bigconsole/pages/DashboardViewPage.d.ts +0 -1
- package/dist/bigconsole/pages/DashboardViewPage.js +0 -2
- package/dist/bigconsole/pages/DashboardsPage.d.ts +0 -1
- package/dist/bigconsole/pages/DashboardsPage.js +0 -2
- package/dist/bigconsole/pages/DataParsersPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataParsersPage.js +0 -2
- package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataSinkAlertsPage.js +0 -2
- package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +8 -10
- package/dist/bigconsole/pages/DataSinkViewPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataSinkViewPage.js +0 -2
- package/dist/bigconsole/pages/DataSinksPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataSinksPage.js +0 -2
- package/dist/bigconsole/pages/DataSourcesPage.d.ts +0 -1
- package/dist/bigconsole/pages/DataSourcesPage.js +0 -2
- package/dist/bigconsole/pages/InsightsPage.d.ts +0 -1
- package/dist/bigconsole/pages/InsightsPage.js +373 -361
- package/dist/bigconsole/pages/OverviewPage.d.ts +0 -1
- package/dist/bigconsole/pages/OverviewPage.js +0 -2
- package/dist/bigconsole/pages/ParserBuilderPage.d.ts +0 -1
- package/dist/bigconsole/pages/ParserBuilderPage.js +5 -7
- package/dist/bigconsole/pages/ParserViewPage.d.ts +0 -1
- package/dist/bigconsole/pages/ParserViewPage.js +0 -2
- package/dist/bigconsole/pages/PipelineBuilderPage.d.ts +0 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.js +0 -2
- package/dist/bigconsole/pages/PipelineViewPage.d.ts +0 -1
- package/dist/bigconsole/pages/PipelineViewPage.js +0 -2
- package/dist/bigconsole/pages/PipelinesPage.d.ts +0 -1
- package/dist/bigconsole/pages/PipelinesPage.js +0 -2
- package/dist/bigconsole/pages/SettingsPage.d.ts +0 -1
- package/dist/bigconsole/pages/SettingsPage.js +0 -2
- package/dist/bigconsole/pages/WidgetDemoPage.d.ts +0 -1
- package/dist/bigconsole/pages/WidgetDemoPage.js +0 -2
- package/dist/bigconsole/pages/WorkflowViewPage.d.ts +0 -1
- package/dist/bigconsole/pages/WorkflowViewPage.js +0 -2
- package/dist/bigconsole/pages/WorkflowsPage.d.ts +0 -1
- package/dist/bigconsole/pages/WorkflowsPage.js +0 -2
- package/dist/bigconsole/pages/index.d.ts +0 -1
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts +0 -1
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +0 -2
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts +0 -1
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +0 -2
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts +0 -1
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js +0 -2
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts +0 -1
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +0 -2
- package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts +0 -1
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js +0 -2
- package/dist/bigconsole/renderers/adapters/index.d.ts +0 -1
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts +0 -1
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js +0 -2
- package/dist/bigconsole/renderers/index.d.ts +0 -1
- package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts +0 -1
- package/dist/bigconsole/renderers/registry/RendererRegistry.js +0 -2
- package/dist/bigconsole/renderers/types/index.d.ts +0 -1
- package/dist/bigconsole/renderers/types/renderer.d.ts +0 -1
- package/dist/bigconsole/store/dashboardStore.d.ts +0 -1
- package/dist/bigconsole/store/dashboardStore.js +0 -2
- package/dist/bigconsole/store/dataSinkStore.d.ts +0 -1
- package/dist/bigconsole/store/dataSinkStore.js +0 -2
- package/dist/bigconsole/store/drilldownStore.d.ts +0 -1
- package/dist/bigconsole/store/drilldownStore.js +0 -2
- package/dist/bigconsole/store/index.d.ts +0 -1
- package/dist/bigconsole/store/parserStore.d.ts +0 -1
- package/dist/bigconsole/store/parserStore.js +0 -2
- package/dist/bigconsole/store/pipelineStore.d.ts +0 -1
- package/dist/bigconsole/store/pipelineStore.js +0 -2
- package/dist/bigconsole/store/widgetStore.d.ts +0 -1
- package/dist/bigconsole/store/widgetStore.js +0 -2
- package/dist/bigconsole/store/workflowStore.d.ts +0 -1
- package/dist/bigconsole/store/workflowStore.js +0 -2
- package/dist/bigconsole/types/index.d.ts +0 -1
- package/dist/bigconsole/utils/alertRules.d.ts +0 -1
- package/dist/bigconsole/utils/alertRules.js +0 -2
- package/dist/bigconsole/utils/backendError.d.ts +0 -1
- package/dist/bigconsole/utils/backendError.js +0 -2
- package/dist/bigconsole/utils/createDialogParam.d.ts +0 -1
- package/dist/bigconsole/utils/createDialogParam.js +0 -2
- package/dist/bigconsole/utils/csv.d.ts +0 -1
- package/dist/bigconsole/utils/csv.js +0 -2
- package/dist/bigconsole/utils/dashboardTemplateContent.d.ts +0 -1
- package/dist/bigconsole/utils/dashboardTemplateContent.js +0 -2
- package/dist/bigconsole/utils/drilldownParams.d.ts +0 -1
- package/dist/bigconsole/utils/drilldownParams.js +0 -2
- package/dist/bigconsole/utils/formDirty.d.ts +0 -1
- package/dist/bigconsole/utils/formDirty.js +0 -2
- package/dist/bigconsole/utils/format.d.ts +0 -1
- package/dist/bigconsole/utils/format.js +0 -2
- package/dist/bigconsole/utils/index.d.ts +0 -1
- package/dist/bigconsole/utils/insightsDraft.d.ts +29 -0
- package/dist/bigconsole/utils/insightsDraft.js +8 -0
- package/dist/bigconsole/utils/layoutBaseline.d.ts +0 -1
- package/dist/bigconsole/utils/layoutBaseline.js +0 -2
- package/dist/bigconsole/utils/quota.d.ts +0 -1
- package/dist/bigconsole/utils/quota.js +0 -2
- package/dist/bigconsole/utils/semanticTokens.d.ts +0 -1
- package/dist/bigconsole/utils/semanticTokens.js +0 -2
- package/dist/bigconsole/utils/templateInstallInputs.d.ts +0 -1
- package/dist/bigconsole/utils/templateInstallInputs.js +0 -2
- package/dist/bigconsole/utils/widgetBinding.d.ts +0 -1
- package/dist/bigconsole/utils/widgetBinding.js +0 -2
- package/dist/bigconsole/utils/widgetFormDirty.d.ts +16 -0
- package/dist/bigconsole/utils/widgetFormDirty.js +13 -0
- package/dist/bigconsole/utils/widgetPositioning.d.ts +0 -1
- package/dist/bigconsole/utils/widgetPositioning.js +0 -2
- package/dist/bigconsole/utils/widgetTypeMapping.d.ts +0 -1
- package/dist/bigconsole/utils/widgetTypeMapping.js +0 -2
- package/dist/bigconsole/workflowOpen.d.ts +0 -1
- package/dist/bigconsole/workflowOpen.js +0 -2
- package/dist/constants/permissions.d.ts +0 -1
- package/dist/constants/permissions.js +0 -2
- package/dist/generated/global-operations.d.ts +0 -1
- package/dist/generated/global-operations.js +0 -2
- package/dist/generated/global-types.d.ts +0 -1
- package/dist/generated/wspace-operations.d.ts +0 -1
- package/dist/generated/wspace-operations.js +0 -2
- package/dist/generated/wspace-types.d.ts +0 -1
- package/dist/generated/wspace-types.js +0 -2
- package/dist/index.d.ts +0 -1
- package/dist/node_modules/@e965/xlsx/xlsx.js +0 -2
- package/dist/node_modules/pdfjs-dist/build/pdf.js +0 -2
- package/dist/shared/hooks/useTr.d.ts +0 -1
- package/dist/shared/hooks/useTr.js +0 -2
- package/dist/translations/en.d.ts +0 -1
- package/dist/utils/nativeBridge.d.ts +0 -1
- package/package.json +5 -4
- package/dist/bigconsole/AdminRoot.d.ts.map +0 -1
- package/dist/bigconsole/AdminRoot.js.map +0 -1
- package/dist/bigconsole/AdminRoutes.d.ts.map +0 -1
- package/dist/bigconsole/AdminRoutes.js.map +0 -1
- package/dist/bigconsole/BigConsoleRoot.d.ts.map +0 -1
- package/dist/bigconsole/BigConsoleRoot.js.map +0 -1
- package/dist/bigconsole/BigConsoleRoutes.d.ts.map +0 -1
- package/dist/bigconsole/BigConsoleRoutes.js.map +0 -1
- package/dist/bigconsole/assistant/assistantApi.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantApi.js.map +0 -1
- package/dist/bigconsole/assistant/assistantProduct.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantProduct.js.map +0 -1
- package/dist/bigconsole/assistant/assistantPrompt.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantPrompt.js.map +0 -1
- package/dist/bigconsole/assistant/assistantRunPersistence.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantRunPersistence.js.map +0 -1
- package/dist/bigconsole/assistant/assistantRunStore.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantRunStore.js.map +0 -1
- package/dist/bigconsole/assistant/assistantRuntime.d.ts.map +0 -1
- package/dist/bigconsole/assistant/assistantRuntime.js.map +0 -1
- package/dist/bigconsole/assistant/attachmentExtract.d.ts.map +0 -1
- package/dist/bigconsole/assistant/attachmentExtract.js.map +0 -1
- package/dist/bigconsole/assistant/conversationHistoryApi.d.ts.map +0 -1
- package/dist/bigconsole/assistant/conversationHistoryApi.js.map +0 -1
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts.map +0 -1
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.js.map +0 -1
- package/dist/bigconsole/assistant/displayCopy.d.ts.map +0 -1
- package/dist/bigconsole/assistant/index.d.ts.map +0 -1
- package/dist/bigconsole/assistant/modes.d.ts.map +0 -1
- package/dist/bigconsole/assistant/modes.js.map +0 -1
- package/dist/bigconsole/assistant/pageContext.d.ts.map +0 -1
- package/dist/bigconsole/assistant/pageContext.js.map +0 -1
- package/dist/bigconsole/assistant/previewController.d.ts.map +0 -1
- package/dist/bigconsole/assistant/previewController.js.map +0 -1
- package/dist/bigconsole/assistant/previewMutationResult.d.ts.map +0 -1
- package/dist/bigconsole/assistant/previewMutationResult.js.map +0 -1
- package/dist/bigconsole/assistant/previewRunAction.d.ts.map +0 -1
- package/dist/bigconsole/assistant/previewRunAction.js.map +0 -1
- package/dist/bigconsole/assistant/product.d.ts.map +0 -1
- package/dist/bigconsole/assistant/product.js.map +0 -1
- package/dist/bigconsole/assistant/recordAdapters.d.ts.map +0 -1
- package/dist/bigconsole/assistant/recordAdapters.js.map +0 -1
- package/dist/bigconsole/assistant/types.d.ts.map +0 -1
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts.map +0 -1
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.js.map +0 -1
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts.map +0 -1
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js.map +0 -1
- package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts.map +0 -1
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +0 -1
- package/dist/bigconsole/components/DrilldownModal.d.ts.map +0 -1
- package/dist/bigconsole/components/DrilldownModal.js.map +0 -1
- package/dist/bigconsole/components/builder/BuilderCanvas.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/BuilderCanvas.js.map +0 -1
- package/dist/bigconsole/components/builder/BuilderTopbar.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/BuilderTopbar.js.map +0 -1
- package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/DashboardEditorShell.js.map +0 -1
- package/dist/bigconsole/components/builder/WidgetInspector.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/WidgetInspector.js.map +0 -1
- package/dist/bigconsole/components/builder/index.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +0 -1
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +0 -1
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +0 -1
- package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +0 -1
- package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts.map +0 -1
- package/dist/bigconsole/components/builder/inspector/LayoutSection.js.map +0 -1
- package/dist/bigconsole/components/builder/inspector/index.d.ts.map +0 -1
- package/dist/bigconsole/components/common/Section.d.ts.map +0 -1
- package/dist/bigconsole/components/common/Section.js.map +0 -1
- package/dist/bigconsole/components/common/index.d.ts.map +0 -1
- package/dist/bigconsole/components/common/sectionStyles.d.ts.map +0 -1
- package/dist/bigconsole/components/common/sectionStyles.js.map +0 -1
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.js.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +0 -1
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +0 -1
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +0 -1
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +0 -1
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +0 -1
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js.map +0 -1
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +0 -1
- package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +0 -1
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +0 -1
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +0 -1
- package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +0 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts.map +0 -1
- package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +0 -1
- package/dist/bigconsole/components/dashboard/index.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.js.map +0 -1
- package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/AlertRuleEditor.js.map +0 -1
- package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +0 -1
- package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkCard.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkCard.js.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +0 -1
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +0 -1
- package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +0 -1
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +0 -1
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +0 -1
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +0 -1
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +0 -1
- package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +0 -1
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +0 -1
- package/dist/bigconsole/components/datasink/index.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.js.map +0 -1
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js.map +0 -1
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js.map +0 -1
- package/dist/bigconsole/components/embed/drilldown.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/drilldown.js.map +0 -1
- package/dist/bigconsole/components/embed/index.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/renderer-manifest.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/renderer-manifest.js.map +0 -1
- package/dist/bigconsole/components/embed/types.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/types.js.map +0 -1
- package/dist/bigconsole/components/embed/validate.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/validate.js.map +0 -1
- package/dist/bigconsole/components/embed/widgetShim.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgetShim.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/FormEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ListEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TableEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TextEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js.map +0 -1
- package/dist/bigconsole/components/embed/widgets/shared.d.ts.map +0 -1
- package/dist/bigconsole/components/embed/widgets/shared.js.map +0 -1
- package/dist/bigconsole/components/overview/DashboardGuide.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/DashboardGuide.js.map +0 -1
- package/dist/bigconsole/components/overview/DataHealthCard.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/DataHealthCard.js.map +0 -1
- package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/OverviewQuickActions.js.map +0 -1
- package/dist/bigconsole/components/overview/OverviewStatCard.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/OverviewStatCard.js.map +0 -1
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.js.map +0 -1
- package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/dashboardGuideSteps.js.map +0 -1
- package/dist/bigconsole/components/overview/index.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/overviewModel.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/overviewModel.js.map +0 -1
- package/dist/bigconsole/components/overview/useOverviewData.d.ts.map +0 -1
- package/dist/bigconsole/components/overview/useOverviewData.js.map +0 -1
- package/dist/bigconsole/components/parser/DataSinkSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/DataSinkSelector.js.map +0 -1
- package/dist/bigconsole/components/parser/ExportParserDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ExportParserDialog.js.map +0 -1
- package/dist/bigconsole/components/parser/ExpressionEditor.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ExpressionEditor.js.map +0 -1
- package/dist/bigconsole/components/parser/ImportParserDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ImportParserDialog.js.map +0 -1
- package/dist/bigconsole/components/parser/ParserBuilder.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserCard.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserCard.js.map +0 -1
- package/dist/bigconsole/components/parser/ParserFormDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserSelector.js.map +0 -1
- package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +0 -1
- package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +0 -1
- package/dist/bigconsole/components/parser/TestPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/index.d.ts.map +0 -1
- package/dist/bigconsole/components/parser/parserFieldStyles.d.ts.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineCard.d.ts.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineCard.js.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.js.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +0 -1
- package/dist/bigconsole/components/pipeline/index.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewContent.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewContent.js.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +0 -1
- package/dist/bigconsole/components/preview/parserPreview.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/parserPreview.js.map +0 -1
- package/dist/bigconsole/components/preview/previewShared.d.ts.map +0 -1
- package/dist/bigconsole/components/preview/previewShared.js.map +0 -1
- package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +0 -1
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +0 -1
- package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetHeader.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetHeader.js.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetMenu.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetMenu.js.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +0 -1
- package/dist/bigconsole/components/widgets/actionConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/actionConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarView.js.map +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/calendar/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartLegend.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/ChartWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js.map +0 -1
- package/dist/bigconsole/components/widgets/chart/charts/types.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/chart/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +0 -1
- package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/custom/CustomWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/custom/config.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/custom/config.js.map +0 -1
- package/dist/bigconsole/components/widgets/custom/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/custom/utils.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/custom/utils.js.map +0 -1
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +0 -1
- package/dist/bigconsole/components/widgets/event-logs/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/form/FormWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/form/FormWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/form/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/funnel/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/funnel/index.js.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +0 -1
- package/dist/bigconsole/components/widgets/gauge/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/heatmap/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanView.js.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/model.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kanban/model.js.map +0 -1
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/kpi/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListItem.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListItem.js.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/list/ListWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/list/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/map-widget/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +0 -1
- package/dist/bigconsole/components/widgets/metric-card/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/pivot-table/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressBar.js.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/progress/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/retention/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/states/EmptyState.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/states/EmptyState.js.map +0 -1
- package/dist/bigconsole/components/widgets/states/ErrorState.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/states/ErrorState.js.map +0 -1
- package/dist/bigconsole/components/widgets/states/LoadingState.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/states/LoadingState.js.map +0 -1
- package/dist/bigconsole/components/widgets/states/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableCell.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableCell.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableConfig.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableConfig.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableHeader.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableHeader.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/TablePagination.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TablePagination.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/TableWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/cellLink.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/table/cellLink.js.map +0 -1
- package/dist/bigconsole/components/widgets/table/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/text-widget/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/text-widget/textData.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/text-widget/textData.js.map +0 -1
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +0 -1
- package/dist/bigconsole/components/widgets/timeline/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +0 -1
- package/dist/bigconsole/components/widgets/utils/inferFields.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/utils/inferFields.js.map +0 -1
- package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/utils/targetProgress.js.map +0 -1
- package/dist/bigconsole/components/widgets/utils/translate.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/utils/translate.js.map +0 -1
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +0 -1
- package/dist/bigconsole/components/widgets/webhook-config/index.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts.map +0 -1
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +0 -1
- package/dist/bigconsole/components/widgets/widget-actions/index.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowCard.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowCard.js.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts.map +0 -1
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +0 -1
- package/dist/bigconsole/components/workflow/index.d.ts.map +0 -1
- package/dist/bigconsole/constants/backendErrors.d.ts.map +0 -1
- package/dist/bigconsole/constants/backendErrors.js.map +0 -1
- package/dist/bigconsole/constants.d.ts.map +0 -1
- package/dist/bigconsole/constants.js.map +0 -1
- package/dist/bigconsole/context/BigConsoleContext.d.ts.map +0 -1
- package/dist/bigconsole/context/BigConsoleContext.js.map +0 -1
- package/dist/bigconsole/context/index.d.ts.map +0 -1
- package/dist/bigconsole/contexts/CrossFilterContext.d.ts.map +0 -1
- package/dist/bigconsole/contexts/CrossFilterContext.js.map +0 -1
- package/dist/bigconsole/contexts/NavigationContext.d.ts.map +0 -1
- package/dist/bigconsole/contexts/NavigationContext.js.map +0 -1
- package/dist/bigconsole/contexts/index.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +0 -1
- package/dist/bigconsole/customWidget/index.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/proposalContract.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/proposalContract.js.map +0 -1
- package/dist/bigconsole/customWidget/proposalSource.d.ts.map +0 -1
- package/dist/bigconsole/customWidget/proposalSource.js.map +0 -1
- package/dist/bigconsole/graphql/apollo-compat.d.ts.map +0 -1
- package/dist/bigconsole/graphql/storeTemplates.d.ts.map +0 -1
- package/dist/bigconsole/graphql/storeTemplates.js.map +0 -1
- package/dist/bigconsole/hooks/index.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useActivePage.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useActivePage.js.map +0 -1
- package/dist/bigconsole/hooks/useAutoRefresh.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useAutoRefresh.js.map +0 -1
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.js.map +0 -1
- package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useBigConsoleSettings.js.map +0 -1
- package/dist/bigconsole/hooks/useCrossFilter.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useCrossFilter.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardImageExport.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardImageExport.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardSharing.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardSharing.js.map +0 -1
- package/dist/bigconsole/hooks/useDashboardTemplates.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardViews.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDashboardViews.js.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkAlerts.js.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDataSinkSubscription.js.map +0 -1
- package/dist/bigconsole/hooks/useDrilldown.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDrilldown.js.map +0 -1
- package/dist/bigconsole/hooks/useDrilldownOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useDrilldownOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useEventLogs.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useEventLogs.js.map +0 -1
- package/dist/bigconsole/hooks/useEventWebhooks.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useEventWebhooks.js.map +0 -1
- package/dist/bigconsole/hooks/useExportDashboard.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useExportDashboard.js.map +0 -1
- package/dist/bigconsole/hooks/useExportDataSink.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useExportDataSink.js.map +0 -1
- package/dist/bigconsole/hooks/useExportParser.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useExportParser.js.map +0 -1
- package/dist/bigconsole/hooks/useFilterPresets.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useFilterPresets.js.map +0 -1
- package/dist/bigconsole/hooks/useFilterUrlSync.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useFilterUrlSync.js.map +0 -1
- package/dist/bigconsole/hooks/useGlobalFilters.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useGlobalFilters.js.map +0 -1
- package/dist/bigconsole/hooks/useImportDashboard.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useImportDashboard.js.map +0 -1
- package/dist/bigconsole/hooks/useImportDataSink.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useImportDataSink.js.map +0 -1
- package/dist/bigconsole/hooks/useImportParser.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useImportParser.js.map +0 -1
- package/dist/bigconsole/hooks/useInstalledWidgets.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useInstalledWidgets.js.map +0 -1
- package/dist/bigconsole/hooks/useModalFocusTrap.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useModalFocusTrap.js.map +0 -1
- package/dist/bigconsole/hooks/usePageOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/usePageOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useParserOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useParserOperations.js.map +0 -1
- package/dist/bigconsole/hooks/usePipelineOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/usePipelineOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useShareRecipients.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useShareRecipients.js.map +0 -1
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetActions.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetActions.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetCatalog.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetCatalog.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetComments.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetComments.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetConfigPersist.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetData.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetData.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetEvents.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetEvents.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetExport.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetExport.js.map +0 -1
- package/dist/bigconsole/hooks/useWidgetOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWidgetOperations.js.map +0 -1
- package/dist/bigconsole/hooks/useWorkflowOperations.d.ts.map +0 -1
- package/dist/bigconsole/hooks/useWorkflowOperations.js.map +0 -1
- package/dist/bigconsole/index.d.ts.map +0 -1
- package/dist/bigconsole/modules/dashboard/index.d.ts.map +0 -1
- package/dist/bigconsole/modules/index.d.ts.map +0 -1
- package/dist/bigconsole/modules/renderer/index.d.ts.map +0 -1
- package/dist/bigconsole/modules/widget/index.d.ts.map +0 -1
- package/dist/bigconsole/pages/AdminPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/AdminPage.js.map +0 -1
- package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DashboardBuilderPage.js.map +0 -1
- package/dist/bigconsole/pages/DashboardViewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DashboardViewPage.js.map +0 -1
- package/dist/bigconsole/pages/DashboardsPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DashboardsPage.js.map +0 -1
- package/dist/bigconsole/pages/DataParsersPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataParsersPage.js.map +0 -1
- package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +0 -1
- package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +0 -1
- package/dist/bigconsole/pages/DataSinkViewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataSinkViewPage.js.map +0 -1
- package/dist/bigconsole/pages/DataSinksPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataSinksPage.js.map +0 -1
- package/dist/bigconsole/pages/DataSourcesPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/DataSourcesPage.js.map +0 -1
- package/dist/bigconsole/pages/InsightsPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/InsightsPage.js.map +0 -1
- package/dist/bigconsole/pages/OverviewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/OverviewPage.js.map +0 -1
- package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/ParserBuilderPage.js.map +0 -1
- package/dist/bigconsole/pages/ParserViewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/ParserViewPage.js.map +0 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/PipelineBuilderPage.js.map +0 -1
- package/dist/bigconsole/pages/PipelineViewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/PipelineViewPage.js.map +0 -1
- package/dist/bigconsole/pages/PipelinesPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/PipelinesPage.js.map +0 -1
- package/dist/bigconsole/pages/SettingsPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/SettingsPage.js.map +0 -1
- package/dist/bigconsole/pages/WidgetDemoPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/WidgetDemoPage.js.map +0 -1
- package/dist/bigconsole/pages/WorkflowViewPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/WorkflowViewPage.js.map +0 -1
- package/dist/bigconsole/pages/WorkflowsPage.d.ts.map +0 -1
- package/dist/bigconsole/pages/WorkflowsPage.js.map +0 -1
- package/dist/bigconsole/pages/index.d.ts.map +0 -1
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts.map +0 -1
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.js.map +0 -1
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts.map +0 -1
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +0 -1
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts.map +0 -1
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js.map +0 -1
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts.map +0 -1
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +0 -1
- package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts.map +0 -1
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +0 -1
- package/dist/bigconsole/renderers/adapters/index.d.ts.map +0 -1
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts.map +0 -1
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js.map +0 -1
- package/dist/bigconsole/renderers/index.d.ts.map +0 -1
- package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts.map +0 -1
- package/dist/bigconsole/renderers/registry/RendererRegistry.js.map +0 -1
- package/dist/bigconsole/renderers/types/index.d.ts.map +0 -1
- package/dist/bigconsole/renderers/types/renderer.d.ts.map +0 -1
- package/dist/bigconsole/store/dashboardStore.d.ts.map +0 -1
- package/dist/bigconsole/store/dashboardStore.js.map +0 -1
- package/dist/bigconsole/store/dataSinkStore.d.ts.map +0 -1
- package/dist/bigconsole/store/dataSinkStore.js.map +0 -1
- package/dist/bigconsole/store/drilldownStore.d.ts.map +0 -1
- package/dist/bigconsole/store/drilldownStore.js.map +0 -1
- package/dist/bigconsole/store/index.d.ts.map +0 -1
- package/dist/bigconsole/store/parserStore.d.ts.map +0 -1
- package/dist/bigconsole/store/parserStore.js.map +0 -1
- package/dist/bigconsole/store/pipelineStore.d.ts.map +0 -1
- package/dist/bigconsole/store/pipelineStore.js.map +0 -1
- package/dist/bigconsole/store/widgetStore.d.ts.map +0 -1
- package/dist/bigconsole/store/widgetStore.js.map +0 -1
- package/dist/bigconsole/store/workflowStore.d.ts.map +0 -1
- package/dist/bigconsole/store/workflowStore.js.map +0 -1
- package/dist/bigconsole/types/index.d.ts.map +0 -1
- package/dist/bigconsole/utils/alertRules.d.ts.map +0 -1
- package/dist/bigconsole/utils/alertRules.js.map +0 -1
- package/dist/bigconsole/utils/backendError.d.ts.map +0 -1
- package/dist/bigconsole/utils/backendError.js.map +0 -1
- package/dist/bigconsole/utils/createDialogParam.d.ts.map +0 -1
- package/dist/bigconsole/utils/createDialogParam.js.map +0 -1
- package/dist/bigconsole/utils/csv.d.ts.map +0 -1
- package/dist/bigconsole/utils/csv.js.map +0 -1
- package/dist/bigconsole/utils/dashboardTemplateContent.d.ts.map +0 -1
- package/dist/bigconsole/utils/dashboardTemplateContent.js.map +0 -1
- package/dist/bigconsole/utils/drilldownParams.d.ts.map +0 -1
- package/dist/bigconsole/utils/drilldownParams.js.map +0 -1
- package/dist/bigconsole/utils/formDirty.d.ts.map +0 -1
- package/dist/bigconsole/utils/formDirty.js.map +0 -1
- package/dist/bigconsole/utils/format.d.ts.map +0 -1
- package/dist/bigconsole/utils/format.js.map +0 -1
- package/dist/bigconsole/utils/index.d.ts.map +0 -1
- package/dist/bigconsole/utils/layoutBaseline.d.ts.map +0 -1
- package/dist/bigconsole/utils/layoutBaseline.js.map +0 -1
- package/dist/bigconsole/utils/quota.d.ts.map +0 -1
- package/dist/bigconsole/utils/quota.js.map +0 -1
- package/dist/bigconsole/utils/semanticTokens.d.ts.map +0 -1
- package/dist/bigconsole/utils/semanticTokens.js.map +0 -1
- package/dist/bigconsole/utils/templateInstallInputs.d.ts.map +0 -1
- package/dist/bigconsole/utils/templateInstallInputs.js.map +0 -1
- package/dist/bigconsole/utils/widgetBinding.d.ts.map +0 -1
- package/dist/bigconsole/utils/widgetBinding.js.map +0 -1
- package/dist/bigconsole/utils/widgetPositioning.d.ts.map +0 -1
- package/dist/bigconsole/utils/widgetPositioning.js.map +0 -1
- package/dist/bigconsole/utils/widgetTypeMapping.d.ts.map +0 -1
- package/dist/bigconsole/utils/widgetTypeMapping.js.map +0 -1
- package/dist/bigconsole/workflowOpen.d.ts.map +0 -1
- package/dist/bigconsole/workflowOpen.js.map +0 -1
- package/dist/constants/permissions.d.ts.map +0 -1
- package/dist/constants/permissions.js.map +0 -1
- package/dist/generated/global-operations.d.ts.map +0 -1
- package/dist/generated/global-operations.js.map +0 -1
- package/dist/generated/global-types.d.ts.map +0 -1
- package/dist/generated/wspace-operations.d.ts.map +0 -1
- package/dist/generated/wspace-operations.js.map +0 -1
- package/dist/generated/wspace-types.d.ts.map +0 -1
- package/dist/generated/wspace-types.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/node_modules/@e965/xlsx/xlsx.js.map +0 -1
- package/dist/node_modules/pdfjs-dist/build/pdf.js.map +0 -1
- package/dist/shared/hooks/useTr.d.ts.map +0 -1
- package/dist/shared/hooks/useTr.js.map +0 -1
- package/dist/stories/DashboardGuide.stories.d.ts +0 -15
- package/dist/stories/DashboardGuide.stories.d.ts.map +0 -1
- package/dist/stories/DataSinkStatusBadge.stories.d.ts +0 -12
- package/dist/stories/DataSinkStatusBadge.stories.d.ts.map +0 -1
- package/dist/stories/GaugeWidget.stories.d.ts +0 -58
- package/dist/stories/GaugeWidget.stories.d.ts.map +0 -1
- package/dist/stories/KPIComparisonWidget.stories.d.ts +0 -76
- package/dist/stories/KPIComparisonWidget.stories.d.ts.map +0 -1
- package/dist/stories/LiveCanvasToggle.stories.d.ts +0 -9
- package/dist/stories/LiveCanvasToggle.stories.d.ts.map +0 -1
- package/dist/stories/MetricCardWidget.stories.d.ts +0 -88
- package/dist/stories/MetricCardWidget.stories.d.ts.map +0 -1
- package/dist/stories/ProgressWidget.stories.d.ts +0 -48
- package/dist/stories/ProgressWidget.stories.d.ts.map +0 -1
- package/dist/stories/SetupStateBadge.stories.d.ts +0 -12
- package/dist/stories/SetupStateBadge.stories.d.ts.map +0 -1
- package/dist/translations/en.d.ts.map +0 -1
- package/dist/utils/nativeBridge.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/form/FormWidget.tsx"],"sourcesContent":["/**\n * FormWidget Component\n *\n * Interactive form widget for data input with validation and submit actions.\n * v2.0 spec compliant widget type.\n */\n\nimport { type FC, memo, useState, useCallback, useMemo } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport type {\n Widget,\n FormConfig as FormConfigType,\n FormFieldConfig,\n FormFieldType as FormFieldTypeAlias,\n FormFieldOption,\n FormValidationRule,\n} from '../../../types';\nimport { AlertCircle, CheckCircle, Send, RotateCcw, Settings, Loader2 } from 'lucide-react';\n\n// ============================================================================\n// Types\n// ============================================================================\n\n// Re-export types from main types file\nexport type FieldType = FormFieldTypeAlias;\nexport type FormField = FormFieldConfig;\nexport type SelectOption = FormFieldOption;\nexport type ValidationRule = FormValidationRule;\nexport type FormConfig = FormConfigType;\n\nexport interface FormWidgetProps {\n widget: Widget;\n data?: Record<string, unknown>;\n /** Whether the widget is in edit mode */\n isEditMode?: boolean;\n /** Whether the widget is selected */\n isSelected?: boolean;\n /** Whether data is loading */\n isLoading?: boolean;\n /** Error message if any */\n error?: string | null;\n /** Callback when widget is clicked */\n onClick?: () => void;\n onDrilldown?: (selectedData: Record<string, unknown>) => void;\n onSubmit?: (formData: Record<string, unknown>) => void;\n}\n\ninterface FieldErrors {\n [fieldName: string]: string | null;\n}\n\n// ============================================================================\n// Validation\n// ============================================================================\n\n/** Translator function shape from useI18n().t, threaded into module-level validators. */\ntype TFunc = (\n key: string,\n fallbackOrParams?: string | Record<string, string | number>,\n params?: Record<string, string | number>\n) => string;\n\nfunction validateField(value: unknown, field: FormField, t: TFunc): string | null {\n const strValue = String(value ?? '');\n const isEmpty = value === null || value === undefined || strValue.trim() === '';\n\n // Check required\n if (field.required && isEmpty) {\n return t('bigconsole.widget.form.validation.required', '{{label}} is required', { label: field.label ?? '' });\n }\n\n // Skip other validations if empty and not required\n if (isEmpty) return null;\n\n // Apply validation rules\n if (field.validation) {\n for (const rule of field.validation) {\n switch (rule.type) {\n case 'required':\n if (isEmpty) return rule.message;\n break;\n case 'minLength':\n if (strValue.length < Number(rule.value)) return rule.message;\n break;\n case 'maxLength':\n if (strValue.length > Number(rule.value)) return rule.message;\n break;\n case 'min':\n if (Number(value) < Number(rule.value)) return rule.message;\n break;\n case 'max':\n if (Number(value) > Number(rule.value)) return rule.message;\n break;\n case 'pattern':\n if (rule.value && !new RegExp(String(rule.value)).test(strValue)) {\n return rule.message;\n }\n break;\n case 'email':\n if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(strValue)) {\n return rule.message;\n }\n break;\n }\n }\n }\n\n // Type-specific validation\n if (field.type === 'email' && !field.validation?.some((r) => r.type === 'email')) {\n if (!/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(strValue)) {\n return t('bigconsole.widget.form.validation.email', 'Please enter a valid email address');\n }\n }\n\n if (field.type === 'url') {\n try {\n new URL(strValue);\n } catch {\n return t('bigconsole.widget.form.validation.url', 'Please enter a valid URL');\n }\n }\n\n if (field.type === 'number') {\n if (isNaN(Number(value))) {\n return t('bigconsole.widget.form.validation.number', 'Please enter a valid number');\n }\n if (field.min !== undefined && Number(value) < Number(field.min)) {\n return t('bigconsole.widget.form.validation.min', 'Value must be at least {{min}}', {\n min: field.min ?? '',\n });\n }\n if (field.max !== undefined && Number(value) > Number(field.max)) {\n return t('bigconsole.widget.form.validation.max', 'Value must be at most {{max}}', {\n max: field.max ?? '',\n });\n }\n }\n\n return null;\n}\n\nfunction validateForm(values: Record<string, unknown>, fields: FormField[], t: TFunc): FieldErrors {\n const errors: FieldErrors = {};\n for (const field of fields) {\n const error = validateField(values[field.name], field, t);\n if (error) {\n errors[field.name] = error;\n }\n }\n return errors;\n}\n\n// ============================================================================\n// Data normalisation (DataSink -> Parser -> Widget)\n// ============================================================================\n\nexport interface NormalizedFormData {\n /** Resolved initial values keyed by field name. */\n values: Record<string, unknown>;\n /** Dynamic options keyed by field name (select / radio only). */\n fieldOptions: Record<string, FormFieldOption[]>;\n}\n\n/**\n * Normalise parser output into the shape the FormWidget expects.\n *\n * The parser can emit one of three shapes:\n * 1. `{ values: { fieldName: value }, options: { fieldName: [...] } }` — explicit\n * envelope. Values populate field defaults; options replace select/radio options.\n * 2. `{ fieldName: value, ... }` — flat object. Each key is treated as a field value.\n * 3. `{ questions: [...] }` or `{ fields: [...] }` — not consumed by the renderer;\n * the widget config owns the field schema. Values are extracted when the keys match.\n *\n * Config-defined `defaultValue` is the final fallback for any missing value.\n */\nexport function normalizeFormData(data: Record<string, unknown> | undefined, fields: FormField[]): NormalizedFormData {\n const values: Record<string, unknown> = {};\n const fieldOptions: Record<string, FormFieldOption[]> = {};\n\n if (!data || typeof data !== 'object' || Array.isArray(data)) {\n for (const field of fields) {\n values[field.name] = field.defaultValue ?? (field.type === 'checkbox' ? false : '');\n }\n return { values, fieldOptions };\n }\n\n const explicitValues =\n data.values && typeof data.values === 'object' && !Array.isArray(data.values)\n ? (data.values as Record<string, unknown>)\n : undefined;\n\n const explicitOptions =\n data.options && typeof data.options === 'object' && !Array.isArray(data.options)\n ? (data.options as Record<string, unknown>)\n : undefined;\n\n for (const field of fields) {\n // Resolve value: explicit envelope > flat data key > config default\n let value: unknown = explicitValues?.[field.name] ?? data[field.name] ?? field.defaultValue;\n\n // Normalise checkbox default to boolean\n if (field.type === 'checkbox' && value === undefined) {\n value = false;\n }\n values[field.name] = value ?? '';\n\n // Resolve dynamic options for select / radio\n if (field.type === 'select' || field.type === 'radio') {\n const rawOptions = explicitOptions?.[field.name] ?? data[`${field.name}Options`];\n if (Array.isArray(rawOptions)) {\n fieldOptions[field.name] = rawOptions\n .map((opt) => {\n if (opt && typeof opt === 'object') {\n const o = opt as Record<string, unknown>;\n const normalized: FormFieldOption = {\n value: String(o.value ?? o.id ?? o.key ?? ''),\n label: String(o.label ?? o.name ?? o.text ?? o.value ?? o.id ?? o.key ?? ''),\n };\n if (o.disabled === true) {\n normalized.disabled = true;\n }\n return normalized;\n }\n if (typeof opt === 'string' || typeof opt === 'number') {\n return { value: String(opt), label: String(opt) };\n }\n return null;\n })\n .filter((opt): opt is FormFieldOption => opt !== null);\n }\n }\n }\n\n return { values, fieldOptions };\n}\n\n// ============================================================================\n// Styles\n// ============================================================================\n\nconst styles = {\n container: {\n display: 'flex',\n flexDirection: 'column' as const,\n height: '100%',\n overflow: 'hidden',\n },\n form: {\n flex: 1,\n overflow: 'auto',\n padding: '16px',\n },\n fieldWrapper: {\n marginBottom: '16px',\n },\n label: {\n display: 'block',\n fontSize: '13px',\n fontWeight: 500,\n color: 'var(--color-text-primary)',\n marginBottom: '6px',\n },\n required: {\n color: 'var(--color-status-error-text)',\n marginLeft: '2px',\n },\n input: {\n width: '100%',\n padding: '8px 12px',\n fontSize: '14px',\n border: '1px solid var(--color-border-default)',\n borderRadius: '6px',\n backgroundColor: 'var(--color-bg-surface)',\n transition: 'border-color 0.15s, box-shadow 0.15s',\n outline: 'none',\n },\n inputError: {\n borderColor: 'var(--color-status-error-border)',\n },\n inputFocus: {\n borderColor: 'var(--color-border-focus)',\n boxShadow: 'var(--shadow-focus)',\n },\n textarea: {\n resize: 'vertical' as const,\n minHeight: '80px',\n },\n select: {\n appearance: 'none' as const,\n backgroundImage: `url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e\")`,\n backgroundPosition: 'right 8px center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: '20px',\n paddingRight: '36px',\n },\n checkbox: {\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n },\n checkboxInput: {\n width: '16px',\n height: '16px',\n cursor: 'pointer',\n },\n helpText: {\n fontSize: '12px',\n color: 'var(--color-text-muted)',\n marginTop: '4px',\n },\n errorText: {\n fontSize: '12px',\n color: 'var(--color-status-error-text)',\n marginTop: '4px',\n display: 'flex',\n alignItems: 'center',\n gap: '4px',\n },\n footer: {\n display: 'flex',\n justifyContent: 'flex-end',\n gap: '12px',\n padding: '12px 16px',\n borderTop: '1px solid var(--color-border-subtle)',\n backgroundColor: 'var(--color-bg-subtle)',\n },\n button: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '8px',\n padding: '8px 16px',\n fontSize: '14px',\n fontWeight: 500,\n borderRadius: '6px',\n cursor: 'pointer',\n transition: 'all 0.15s',\n border: 'none',\n },\n submitButton: {\n backgroundColor: 'var(--color-action-primary-bg)',\n color: 'var(--color-text-inverse)',\n },\n resetButton: {\n backgroundColor: 'var(--color-bg-surface)',\n color: 'var(--color-text-primary)',\n border: '1px solid var(--color-border-default)',\n },\n successMessage: {\n display: 'flex',\n alignItems: 'center',\n gap: '8px',\n padding: '12px 16px',\n backgroundColor: 'var(--color-status-success-bgSubtle)',\n border: '1px solid var(--color-status-success-border)',\n borderRadius: '6px',\n marginBottom: '16px',\n color: 'var(--color-status-success-text)',\n fontSize: '14px',\n },\n emptyState: {\n display: 'flex',\n flexDirection: 'column' as const,\n alignItems: 'center',\n justifyContent: 'center',\n height: '100%',\n padding: '32px',\n color: 'var(--color-text-muted)',\n textAlign: 'center' as const,\n },\n};\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const FormWidget: FC<FormWidgetProps> = memo(function FormWidget({ widget, data = {}, onDrilldown, onSubmit }) {\n const { t } = useI18n();\n const defaultConfig: FormConfig = {\n fields: [],\n layout: 'vertical',\n submitLabel: 'Submit',\n showReset: true,\n validateOnBlur: true,\n validateOnChange: false,\n };\n const config: FormConfig = widget.config\n ? { ...defaultConfig, ...(widget.config as Partial<FormConfig>) }\n : defaultConfig;\n\n // Resolve parser-driven values and dynamic options for data-driven fields\n const normalized = useMemo(() => normalizeFormData(data, config.fields), [data, config.fields]);\n\n // Initialize form values from normalised parser output or config defaults\n const initialValues = useMemo(() => {\n return normalized.values;\n }, [normalized.values]);\n\n const [values, setValues] = useState<Record<string, unknown>>(initialValues);\n const [errors, setErrors] = useState<FieldErrors>({});\n const [touched, setTouched] = useState<Set<string>>(new Set());\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [submitSuccess, setSubmitSuccess] = useState(false);\n\n // Handle field change\n const handleChange = useCallback(\n (fieldName: string, value: unknown) => {\n setValues((prev) => ({ ...prev, [fieldName]: value }));\n setSubmitSuccess(false);\n\n if (config.validateOnChange) {\n const field = config.fields.find((f) => f.name === fieldName);\n if (field) {\n const error = validateField(value, field, t);\n setErrors((prev) => ({ ...prev, [fieldName]: error }));\n }\n }\n },\n [config.fields, config.validateOnChange, t]\n );\n\n // Handle field blur\n const handleBlur = useCallback(\n (fieldName: string) => {\n setTouched((prev) => new Set(prev).add(fieldName));\n\n if (config.validateOnBlur) {\n const field = config.fields.find((f) => f.name === fieldName);\n if (field) {\n const error = validateField(values[fieldName], field, t);\n setErrors((prev) => ({ ...prev, [fieldName]: error }));\n }\n }\n },\n [config.fields, config.validateOnBlur, values, t]\n );\n\n // Handle form submit\n const handleSubmit = useCallback(\n async (e: React.FormEvent) => {\n e.preventDefault();\n\n // Validate all fields\n const allErrors = validateForm(values, config.fields, t);\n setErrors(allErrors);\n setTouched(new Set(config.fields.map((f) => f.name)));\n\n // Check if there are errors\n const hasErrors = Object.values(allErrors).some((e) => e !== null);\n if (hasErrors) {\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n // Emit form submit event via onDrilldown or onSubmit\n const formData = {\n ...values,\n _action: config.submitAction || 'form_submit',\n _widgetId: widget.id,\n _timestamp: new Date().toISOString(),\n };\n\n if (onSubmit) {\n await onSubmit(formData);\n }\n\n if (onDrilldown) {\n onDrilldown({\n type: 'form_submit',\n action: config.submitAction || 'form_submit',\n data: formData,\n });\n }\n\n setSubmitSuccess(true);\n } catch (error) {\n } finally {\n setIsSubmitting(false);\n }\n },\n [values, config.fields, config.submitAction, widget.id, onSubmit, onDrilldown, t]\n );\n\n // Handle form reset\n const handleReset = useCallback(() => {\n setValues(initialValues);\n setErrors({});\n setTouched(new Set());\n setSubmitSuccess(false);\n }, [initialValues]);\n\n // Render a field\n const renderField = useCallback(\n (field: FormField) => {\n const value = values[field.name];\n const error = touched.has(field.name) ? errors[field.name] : null;\n const hasError = Boolean(error);\n\n const inputStyle = {\n ...styles.input,\n ...(hasError ? styles.inputError : {}),\n };\n\n switch (field.type) {\n case 'textarea':\n return (\n <textarea\n id={field.name}\n name={field.name}\n value={String(value ?? '')}\n placeholder={field.placeholder}\n required={field.required}\n disabled={field.disabled || isSubmitting}\n readOnly={field.readonly}\n rows={field.rows || 4}\n style={{ ...inputStyle, ...styles.textarea }}\n onChange={(e) => handleChange(field.name, e.target.value)}\n onBlur={() => handleBlur(field.name)}\n />\n );\n\n case 'select': {\n const selectOptions = normalized.fieldOptions[field.name] ?? field.options ?? [];\n return (\n <select\n id={field.name}\n name={field.name}\n value={String(value ?? '')}\n required={field.required}\n disabled={field.disabled || isSubmitting}\n style={{ ...inputStyle, ...styles.select }}\n onChange={(e) => handleChange(field.name, e.target.value)}\n onBlur={() => handleBlur(field.name)}\n >\n <option value=\"\">\n {field.placeholder ||\n t('bigconsole.widget.form.selectPlaceholder', 'Select {{label}}...', { label: field.label ?? '' })}\n </option>\n {selectOptions.map((opt) => (\n <option key={opt.value} value={opt.value} disabled={opt.disabled}>\n {opt.label}\n </option>\n ))}\n </select>\n );\n }\n\n case 'checkbox':\n return (\n <div style={styles.checkbox}>\n <input\n type=\"checkbox\"\n id={field.name}\n name={field.name}\n checked={Boolean(value)}\n disabled={field.disabled || isSubmitting}\n style={styles.checkboxInput}\n onChange={(e) => handleChange(field.name, e.target.checked)}\n onBlur={() => handleBlur(field.name)}\n />\n <label htmlFor={field.name} style={{ fontSize: '14px', cursor: 'pointer' }}>\n {field.label}\n </label>\n </div>\n );\n\n case 'radio': {\n const radioOptions = normalized.fieldOptions[field.name] ?? field.options ?? [];\n return (\n <div style={{ display: 'flex', flexDirection: 'column', gap: '8px' }}>\n {radioOptions.map((opt) => (\n <div key={opt.value} style={styles.checkbox}>\n <input\n type=\"radio\"\n id={`${field.name}-${opt.value}`}\n name={field.name}\n value={opt.value}\n checked={value === opt.value}\n disabled={field.disabled || opt.disabled || isSubmitting}\n style={styles.checkboxInput}\n onChange={(e) => handleChange(field.name, e.target.value)}\n onBlur={() => handleBlur(field.name)}\n />\n <label htmlFor={`${field.name}-${opt.value}`} style={{ fontSize: '14px', cursor: 'pointer' }}>\n {opt.label}\n </label>\n </div>\n ))}\n </div>\n );\n }\n\n case 'hidden':\n return <input type=\"hidden\" name={field.name} value={String(value ?? '')} />;\n\n default:\n return (\n <input\n type={field.type}\n id={field.name}\n name={field.name}\n value={String(value ?? '')}\n placeholder={field.placeholder}\n required={field.required}\n disabled={field.disabled || isSubmitting}\n readOnly={field.readonly}\n min={field.min}\n max={field.max}\n step={field.step}\n pattern={field.pattern}\n style={inputStyle}\n onChange={(e) =>\n handleChange(field.name, field.type === 'number' ? e.target.valueAsNumber : e.target.value)\n }\n onBlur={() => handleBlur(field.name)}\n />\n );\n }\n },\n [values, errors, touched, isSubmitting, handleChange, handleBlur, normalized, t]\n );\n\n // Empty state\n if (config.fields.length === 0) {\n return (\n <div style={styles.emptyState}>\n <Settings style={{ width: '48px', height: '48px', marginBottom: '16px', opacity: 0.5 }} />\n <p style={{ fontSize: '14px' }}>{t('bigconsole.widget.form.configureTitle', 'Configure Form Fields')}</p>\n <p style={{ fontSize: '12px', marginTop: '4px' }}>\n {t('bigconsole.widget.form.configureHint', 'Add fields in widget settings to create your form')}\n </p>\n </div>\n );\n }\n\n // Grid layout styles\n const gridStyle =\n config.layout === 'grid'\n ? {\n display: 'grid',\n gridTemplateColumns: `repeat(${config.columns || 2}, 1fr)`,\n gap: '16px',\n }\n : {};\n\n return (\n <div style={styles.container}>\n <form onSubmit={handleSubmit} style={{ ...styles.form, ...gridStyle }}>\n {/* Success message */}\n {submitSuccess && config.successMessage && (\n <div style={{ ...styles.successMessage, gridColumn: '1 / -1' }}>\n <CheckCircle style={{ width: '18px', height: '18px' }} />\n {config.successMessage}\n </div>\n )}\n\n {/* Form fields */}\n {config.fields.map((field) => {\n if (field.type === 'hidden') {\n return renderField(field);\n }\n\n const error = touched.has(field.name) ? errors[field.name] : null;\n\n return (\n <div key={field.name} style={styles.fieldWrapper}>\n {field.type !== 'checkbox' && (\n <label htmlFor={field.name} style={styles.label}>\n {field.label}\n {field.required && <span style={styles.required}>*</span>}\n </label>\n )}\n\n {renderField(field)}\n\n {field.helpText && !error && <p style={styles.helpText}>{field.helpText}</p>}\n\n {error && (\n <p style={styles.errorText}>\n <AlertCircle style={{ width: '14px', height: '14px' }} />\n {error}\n </p>\n )}\n </div>\n );\n })}\n </form>\n\n {/* Footer with buttons */}\n <div style={styles.footer}>\n {config.showReset !== false && (\n <button\n type=\"button\"\n onClick={handleReset}\n disabled={isSubmitting}\n style={{\n ...styles.button,\n ...styles.resetButton,\n opacity: isSubmitting ? 0.6 : 1,\n }}\n >\n <RotateCcw style={{ width: '16px', height: '16px' }} />\n {config.resetLabel || t('bigconsole.widget.form.reset', 'Reset')}\n </button>\n )}\n\n <button\n type=\"submit\"\n onClick={handleSubmit}\n disabled={isSubmitting}\n style={{\n ...styles.button,\n ...styles.submitButton,\n opacity: isSubmitting ? 0.6 : 1,\n }}\n >\n {isSubmitting ? (\n <Loader2 style={{ width: '16px', height: '16px', animation: 'spin 1s linear infinite' }} />\n ) : (\n <Send style={{ width: '16px', height: '16px' }} />\n )}\n {config.submitLabel || t('bigconsole.widget.form.submit', 'Submit')}\n </button>\n </div>\n </div>\n );\n});\n\nexport default FormWidget;\n"],"mappings":";;;;;AA8DA,SAAS,EAAc,GAAgB,GAAkB,GAAyB;CAChF,IAAM,IAAW,OAAO,KAAS,GAAG,EAC9B,IAAU,KAAU,QAA+B,EAAS,MAAM,KAAK;AAG7E,KAAI,EAAM,YAAY,EACpB,QAAO,EAAE,8CAA8C,yBAAyB,EAAE,OAAO,EAAM,SAAS,IAAI,CAAC;AAI/G,KAAI,EAAS,QAAO;AAGpB,KAAI,EAAM,WACR,MAAK,IAAM,KAAQ,EAAM,WACvB,SAAQ,EAAK,MAAb;EACE,KAAK;AACH,OAAI,EAAS,QAAO,EAAK;AACzB;EACF,KAAK;AACH,OAAI,EAAS,SAAS,OAAO,EAAK,MAAM,CAAE,QAAO,EAAK;AACtD;EACF,KAAK;AACH,OAAI,EAAS,SAAS,OAAO,EAAK,MAAM,CAAE,QAAO,EAAK;AACtD;EACF,KAAK;AACH,OAAI,OAAO,EAAM,GAAG,OAAO,EAAK,MAAM,CAAE,QAAO,EAAK;AACpD;EACF,KAAK;AACH,OAAI,OAAO,EAAM,GAAG,OAAO,EAAK,MAAM,CAAE,QAAO,EAAK;AACpD;EACF,KAAK;AACH,OAAI,EAAK,SAAS,CAAC,IAAI,OAAO,OAAO,EAAK,MAAM,CAAC,CAAC,KAAK,EAAS,CAC9D,QAAO,EAAK;AAEd;EACF,KAAK;AACH,OAAI,CAAC,6BAA6B,KAAK,EAAS,CAC9C,QAAO,EAAK;AAEd;;AAMR,KAAI,EAAM,SAAS,WAAW,CAAC,EAAM,YAAY,MAAM,MAAM,EAAE,SAAS,QAAQ,IAC1E,CAAC,6BAA6B,KAAK,EAAS,CAC9C,QAAO,EAAE,2CAA2C,qCAAqC;AAI7F,KAAI,EAAM,SAAS,MACjB,KAAI;AACF,MAAI,IAAI,EAAS;SACX;AACN,SAAO,EAAE,yCAAyC,2BAA2B;;AAIjF,KAAI,EAAM,SAAS,UAAU;AAC3B,MAAI,MAAM,OAAO,EAAM,CAAC,CACtB,QAAO,EAAE,4CAA4C,8BAA8B;AAErF,MAAI,EAAM,QAAQ,KAAA,KAAa,OAAO,EAAM,GAAG,OAAO,EAAM,IAAI,CAC9D,QAAO,EAAE,yCAAyC,kCAAkC,EAClF,KAAK,EAAM,OAAO,IACnB,CAAC;AAEJ,MAAI,EAAM,QAAQ,KAAA,KAAa,OAAO,EAAM,GAAG,OAAO,EAAM,IAAI,CAC9D,QAAO,EAAE,yCAAyC,iCAAiC,EACjF,KAAK,EAAM,OAAO,IACnB,CAAC;;AAIN,QAAO;;AAGT,SAAS,EAAa,GAAiC,GAAqB,GAAuB;CACjG,IAAM,IAAsB,EAAE;AAC9B,MAAK,IAAM,KAAS,GAAQ;EAC1B,IAAM,IAAQ,EAAc,EAAO,EAAM,OAAO,GAAO,EAAE;AACzD,EAAI,MACF,EAAO,EAAM,QAAQ;;AAGzB,QAAO;;AA0BT,SAAgB,EAAkB,GAA2C,GAAyC;CACpH,IAAM,IAAkC,EAAE,EACpC,IAAkD,EAAE;AAE1D,KAAI,CAAC,KAAQ,OAAO,KAAS,YAAY,MAAM,QAAQ,EAAK,EAAE;AAC5D,OAAK,IAAM,KAAS,EAClB,GAAO,EAAM,QAAQ,EAAM,iBAAiB,EAAM,SAAS,aAAa,KAAQ;AAElF,SAAO;GAAE;GAAQ;GAAc;;CAGjC,IAAM,IACJ,EAAK,UAAU,OAAO,EAAK,UAAW,YAAY,CAAC,MAAM,QAAQ,EAAK,OAAO,GACxE,EAAK,SACN,KAAA,GAEA,IACJ,EAAK,WAAW,OAAO,EAAK,WAAY,YAAY,CAAC,MAAM,QAAQ,EAAK,QAAQ,GAC3E,EAAK,UACN,KAAA;AAEN,MAAK,IAAM,KAAS,GAAQ;EAE1B,IAAI,IAAiB,IAAiB,EAAM,SAAS,EAAK,EAAM,SAAS,EAAM;AAS/E,MANI,EAAM,SAAS,cAAc,MAAU,KAAA,MACzC,IAAQ,KAEV,EAAO,EAAM,QAAQ,KAAS,IAG1B,EAAM,SAAS,YAAY,EAAM,SAAS,SAAS;GACrD,IAAM,IAAa,IAAkB,EAAM,SAAS,EAAK,GAAG,EAAM,KAAK;AACvE,GAAI,MAAM,QAAQ,EAAW,KAC3B,EAAa,EAAM,QAAQ,EACxB,KAAK,MAAQ;AACZ,QAAI,KAAO,OAAO,KAAQ,UAAU;KAClC,IAAM,IAAI,GACJ,IAA8B;MAClC,OAAO,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG;MAC7C,OAAO,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAG;MAC7E;AAID,YAHI,EAAE,aAAa,OACjB,EAAW,WAAW,KAEjB;;AAKT,WAHI,OAAO,KAAQ,YAAY,OAAO,KAAQ,WACrC;KAAE,OAAO,OAAO,EAAI;KAAE,OAAO,OAAO,EAAI;KAAE,GAE5C;KACP,CACD,QAAQ,MAAgC,MAAQ,KAAK;;;AAK9D,QAAO;EAAE;EAAQ;EAAc;;AAOjC,IAAM,IAAS;CACb,WAAW;EACT,SAAS;EACT,eAAe;EACf,QAAQ;EACR,UAAU;EACX;CACD,MAAM;EACJ,MAAM;EACN,UAAU;EACV,SAAS;EACV;CACD,cAAc,EACZ,cAAc,QACf;CACD,OAAO;EACL,SAAS;EACT,UAAU;EACV,YAAY;EACZ,OAAO;EACP,cAAc;EACf;CACD,UAAU;EACR,OAAO;EACP,YAAY;EACb;CACD,OAAO;EACL,OAAO;EACP,SAAS;EACT,UAAU;EACV,QAAQ;EACR,cAAc;EACd,iBAAiB;EACjB,YAAY;EACZ,SAAS;EACV;CACD,YAAY,EACV,aAAa,oCACd;CACD,YAAY;EACV,aAAa;EACb,WAAW;EACZ;CACD,UAAU;EACR,QAAQ;EACR,WAAW;EACZ;CACD,QAAQ;EACN,YAAY;EACZ,iBAAiB;EACjB,oBAAoB;EACpB,kBAAkB;EAClB,gBAAgB;EAChB,cAAc;EACf;CACD,UAAU;EACR,SAAS;EACT,YAAY;EACZ,KAAK;EACN;CACD,eAAe;EACb,OAAO;EACP,QAAQ;EACR,QAAQ;EACT;CACD,UAAU;EACR,UAAU;EACV,OAAO;EACP,WAAW;EACZ;CACD,WAAW;EACT,UAAU;EACV,OAAO;EACP,WAAW;EACX,SAAS;EACT,YAAY;EACZ,KAAK;EACN;CACD,QAAQ;EACN,SAAS;EACT,gBAAgB;EAChB,KAAK;EACL,SAAS;EACT,WAAW;EACX,iBAAiB;EAClB;CACD,QAAQ;EACN,SAAS;EACT,YAAY;EACZ,KAAK;EACL,SAAS;EACT,UAAU;EACV,YAAY;EACZ,cAAc;EACd,QAAQ;EACR,YAAY;EACZ,QAAQ;EACT;CACD,cAAc;EACZ,iBAAiB;EACjB,OAAO;EACR;CACD,aAAa;EACX,iBAAiB;EACjB,OAAO;EACP,QAAQ;EACT;CACD,gBAAgB;EACd,SAAS;EACT,YAAY;EACZ,KAAK;EACL,SAAS;EACT,iBAAiB;EACjB,QAAQ;EACR,cAAc;EACd,cAAc;EACd,OAAO;EACP,UAAU;EACX;CACD,YAAY;EACV,SAAS;EACT,eAAe;EACf,YAAY;EACZ,gBAAgB;EAChB,QAAQ;EACR,SAAS;EACT,OAAO;EACP,WAAW;EACZ;CACF,EAMY,IAAkC,EAAK,SAAoB,EAAE,WAAQ,UAAO,EAAE,EAAE,gBAAa,eAAY;CACpH,IAAM,EAAE,SAAM,GAAS,EACjB,IAA4B;EAChC,QAAQ,EAAE;EACV,QAAQ;EACR,aAAa;EACb,WAAW;EACX,gBAAgB;EAChB,kBAAkB;EACnB,EACK,IAAqB,EAAO,SAC9B;EAAE,GAAG;EAAe,GAAI,EAAO;EAAgC,GAC/D,GAGE,IAAa,QAAc,EAAkB,GAAM,EAAO,OAAO,EAAE,CAAC,GAAM,EAAO,OAAO,CAAC,EAGzF,IAAgB,QACb,EAAW,QACjB,CAAC,EAAW,OAAO,CAAC,EAEjB,CAAC,GAAQ,KAAa,EAAkC,EAAc,EACtE,CAAC,GAAQ,KAAa,EAAsB,EAAE,CAAC,EAC/C,CAAC,GAAS,KAAc,kBAAsB,IAAI,KAAK,CAAC,EACxD,CAAC,GAAc,KAAmB,EAAS,GAAM,EACjD,CAAC,GAAe,KAAoB,EAAS,GAAM,EAGnD,IAAe,GAClB,GAAmB,MAAmB;AAIrC,MAHA,GAAW,OAAU;GAAE,GAAG;IAAO,IAAY;GAAO,EAAE,EACtD,EAAiB,GAAM,EAEnB,EAAO,kBAAkB;GAC3B,IAAM,IAAQ,EAAO,OAAO,MAAM,MAAM,EAAE,SAAS,EAAU;AAC7D,OAAI,GAAO;IACT,IAAM,IAAQ,EAAc,GAAO,GAAO,EAAE;AAC5C,OAAW,OAAU;KAAE,GAAG;MAAO,IAAY;KAAO,EAAE;;;IAI5D;EAAC,EAAO;EAAQ,EAAO;EAAkB;EAAE,CAC5C,EAGK,IAAa,GAChB,MAAsB;AAGrB,MAFA,GAAY,MAAS,IAAI,IAAI,EAAK,CAAC,IAAI,EAAU,CAAC,EAE9C,EAAO,gBAAgB;GACzB,IAAM,IAAQ,EAAO,OAAO,MAAM,MAAM,EAAE,SAAS,EAAU;AAC7D,OAAI,GAAO;IACT,IAAM,IAAQ,EAAc,EAAO,IAAY,GAAO,EAAE;AACxD,OAAW,OAAU;KAAE,GAAG;MAAO,IAAY;KAAO,EAAE;;;IAI5D;EAAC,EAAO;EAAQ,EAAO;EAAgB;EAAQ;EAAE,CAClD,EAGK,IAAe,EACnB,OAAO,MAAuB;AAC5B,IAAE,gBAAgB;EAGlB,IAAM,IAAY,EAAa,GAAQ,EAAO,QAAQ,EAAE;AACxD,QAAU,EAAU,EACpB,EAAW,IAAI,IAAI,EAAO,OAAO,KAAK,MAAM,EAAE,KAAK,CAAC,CAAC,EAGnC,QAAO,OAAO,EAAU,CAAC,MAAM,MAAM,MAAM,KAAK,EAKlE;KAAgB,GAAK;AAErB,OAAI;IAEF,IAAM,IAAW;KACf,GAAG;KACH,SAAS,EAAO,gBAAgB;KAChC,WAAW,EAAO;KAClB,6BAAY,IAAI,MAAM,EAAC,aAAa;KACrC;AAcD,IAZI,KACF,MAAM,EAAS,EAAS,EAGtB,KACF,EAAY;KACV,MAAM;KACN,QAAQ,EAAO,gBAAgB;KAC/B,MAAM;KACP,CAAC,EAGJ,EAAiB,GAAK;WACR,WACN;AACR,MAAgB,GAAM;;;IAG1B;EAAC;EAAQ,EAAO;EAAQ,EAAO;EAAc,EAAO;EAAI;EAAU;EAAa;EAAE,CAClF,EAGK,IAAc,QAAkB;AAIpC,EAHA,EAAU,EAAc,EACxB,EAAU,EAAE,CAAC,EACb,kBAAW,IAAI,KAAK,CAAC,EACrB,EAAiB,GAAM;IACtB,CAAC,EAAc,CAAC,EAGb,IAAc,GACjB,MAAqB;EACpB,IAAM,IAAQ,EAAO,EAAM,OAErB,IAAW,GADH,EAAQ,IAAI,EAAM,KAAK,IAAG,EAAO,EAAM,QAG/C,IAAa;GACjB,GAAG,EAAO;GACV,GAAI,IAAW,EAAO,aAAa,EAAE;GACtC;AAED,UAAQ,EAAM,MAAd;GACE,KAAK,WACH,QACE,kBAAC,YAAD;IACE,IAAI,EAAM;IACV,MAAM,EAAM;IACZ,OAAO,OAAO,KAAS,GAAG;IAC1B,aAAa,EAAM;IACnB,UAAU,EAAM;IAChB,UAAU,EAAM,YAAY;IAC5B,UAAU,EAAM;IAChB,MAAM,EAAM,QAAQ;IACpB,OAAO;KAAE,GAAG;KAAY,GAAG,EAAO;KAAU;IAC5C,WAAW,MAAM,EAAa,EAAM,MAAM,EAAE,OAAO,MAAM;IACzD,cAAc,EAAW,EAAM,KAAK;IACpC,CAAA;GAGN,KAAK,UAAU;IACb,IAAM,IAAgB,EAAW,aAAa,EAAM,SAAS,EAAM,WAAW,EAAE;AAChF,WACE,kBAAC,UAAD;KACE,IAAI,EAAM;KACV,MAAM,EAAM;KACZ,OAAO,OAAO,KAAS,GAAG;KAC1B,UAAU,EAAM;KAChB,UAAU,EAAM,YAAY;KAC5B,OAAO;MAAE,GAAG;MAAY,GAAG,EAAO;MAAQ;KAC1C,WAAW,MAAM,EAAa,EAAM,MAAM,EAAE,OAAO,MAAM;KACzD,cAAc,EAAW,EAAM,KAAK;eARtC,CAUE,kBAAC,UAAD;MAAQ,OAAM;gBACX,EAAM,eACL,EAAE,4CAA4C,uBAAuB,EAAE,OAAO,EAAM,SAAS,IAAI,CAAC;MAC7F,CAAA,EACR,EAAc,KAAK,MAClB,kBAAC,UAAD;MAAwB,OAAO,EAAI;MAAO,UAAU,EAAI;gBACrD,EAAI;MACE,EAFI,EAAI,MAER,CACT,CACK;;;GAIb,KAAK,WACH,QACE,kBAAC,OAAD;IAAK,OAAO,EAAO;cAAnB,CACE,kBAAC,SAAD;KACE,MAAK;KACL,IAAI,EAAM;KACV,MAAM,EAAM;KACZ,SAAS,EAAQ;KACjB,UAAU,EAAM,YAAY;KAC5B,OAAO,EAAO;KACd,WAAW,MAAM,EAAa,EAAM,MAAM,EAAE,OAAO,QAAQ;KAC3D,cAAc,EAAW,EAAM,KAAK;KACpC,CAAA,EACF,kBAAC,SAAD;KAAO,SAAS,EAAM;KAAM,OAAO;MAAE,UAAU;MAAQ,QAAQ;MAAW;eACvE,EAAM;KACD,CAAA,CACJ;;GAGV,KAAK,QAEH,QACE,kBAAC,OAAD;IAAK,OAAO;KAAE,SAAS;KAAQ,eAAe;KAAU,KAAK;KAAO;eAFjD,EAAW,aAAa,EAAM,SAAS,EAAM,WAAW,EAAE,EAG7D,KAAK,MACjB,kBAAC,OAAD;KAAqB,OAAO,EAAO;eAAnC,CACE,kBAAC,SAAD;MACE,MAAK;MACL,IAAI,GAAG,EAAM,KAAK,GAAG,EAAI;MACzB,MAAM,EAAM;MACZ,OAAO,EAAI;MACX,SAAS,MAAU,EAAI;MACvB,UAAU,EAAM,YAAY,EAAI,YAAY;MAC5C,OAAO,EAAO;MACd,WAAW,MAAM,EAAa,EAAM,MAAM,EAAE,OAAO,MAAM;MACzD,cAAc,EAAW,EAAM,KAAK;MACpC,CAAA,EACF,kBAAC,SAAD;MAAO,SAAS,GAAG,EAAM,KAAK,GAAG,EAAI;MAAS,OAAO;OAAE,UAAU;OAAQ,QAAQ;OAAW;gBACzF,EAAI;MACC,CAAA,CACJ;OAfI,EAAI,MAeR,CACN;IACE,CAAA;GAIV,KAAK,SACH,QAAO,kBAAC,SAAD;IAAO,MAAK;IAAS,MAAM,EAAM;IAAM,OAAO,OAAO,KAAS,GAAG;IAAI,CAAA;GAE9E,QACE,QACE,kBAAC,SAAD;IACE,MAAM,EAAM;IACZ,IAAI,EAAM;IACV,MAAM,EAAM;IACZ,OAAO,OAAO,KAAS,GAAG;IAC1B,aAAa,EAAM;IACnB,UAAU,EAAM;IAChB,UAAU,EAAM,YAAY;IAC5B,UAAU,EAAM;IAChB,KAAK,EAAM;IACX,KAAK,EAAM;IACX,MAAM,EAAM;IACZ,SAAS,EAAM;IACf,OAAO;IACP,WAAW,MACT,EAAa,EAAM,MAAM,EAAM,SAAS,WAAW,EAAE,OAAO,gBAAgB,EAAE,OAAO,MAAM;IAE7F,cAAc,EAAW,EAAM,KAAK;IACpC,CAAA;;IAIV;EAAC;EAAQ;EAAQ;EAAS;EAAc;EAAc;EAAY;EAAY;EAAE,CACjF;AAGD,KAAI,EAAO,OAAO,WAAW,EAC3B,QACE,kBAAC,OAAD;EAAK,OAAO,EAAO;YAAnB;GACE,kBAAC,GAAD,EAAU,OAAO;IAAE,OAAO;IAAQ,QAAQ;IAAQ,cAAc;IAAQ,SAAS;IAAK,EAAI,CAAA;GAC1F,kBAAC,KAAD;IAAG,OAAO,EAAE,UAAU,QAAQ;cAAG,EAAE,yCAAyC,wBAAwB;IAAK,CAAA;GACzG,kBAAC,KAAD;IAAG,OAAO;KAAE,UAAU;KAAQ,WAAW;KAAO;cAC7C,EAAE,wCAAwC,oDAAoD;IAC7F,CAAA;GACA;;CAKV,IAAM,IACJ,EAAO,WAAW,SACd;EACE,SAAS;EACT,qBAAqB,UAAU,EAAO,WAAW,EAAE;EACnD,KAAK;EACN,GACD,EAAE;AAER,QACE,kBAAC,OAAD;EAAK,OAAO,EAAO;YAAnB,CACE,kBAAC,QAAD;GAAM,UAAU;GAAc,OAAO;IAAE,GAAG,EAAO;IAAM,GAAG;IAAW;aAArE,CAEG,KAAiB,EAAO,kBACvB,kBAAC,OAAD;IAAK,OAAO;KAAE,GAAG,EAAO;KAAgB,YAAY;KAAU;cAA9D,CACE,kBAAC,GAAD,EAAa,OAAO;KAAE,OAAO;KAAQ,QAAQ;KAAQ,EAAI,CAAA,EACxD,EAAO,eACJ;OAIP,EAAO,OAAO,KAAK,MAAU;AAC5B,QAAI,EAAM,SAAS,SACjB,QAAO,EAAY,EAAM;IAG3B,IAAM,IAAQ,EAAQ,IAAI,EAAM,KAAK,GAAG,EAAO,EAAM,QAAQ;AAE7D,WACE,kBAAC,OAAD;KAAsB,OAAO,EAAO;eAApC;MACG,EAAM,SAAS,cACd,kBAAC,SAAD;OAAO,SAAS,EAAM;OAAM,OAAO,EAAO;iBAA1C,CACG,EAAM,OACN,EAAM,YAAY,kBAAC,QAAD;QAAM,OAAO,EAAO;kBAAU;QAAQ,CAAA,CACnD;;MAGT,EAAY,EAAM;MAElB,EAAM,YAAY,CAAC,KAAS,kBAAC,KAAD;OAAG,OAAO,EAAO;iBAAW,EAAM;OAAa,CAAA;MAE3E,KACC,kBAAC,KAAD;OAAG,OAAO,EAAO;iBAAjB,CACE,kBAAC,GAAD,EAAa,OAAO;QAAE,OAAO;QAAQ,QAAQ;QAAQ,EAAI,CAAA,EACxD,EACC;;MAEF;OAlBI,EAAM,KAkBV;KAER,CACG;MAGP,kBAAC,OAAD;GAAK,OAAO,EAAO;aAAnB,CACG,EAAO,cAAc,MACpB,kBAAC,UAAD;IACE,MAAK;IACL,SAAS;IACT,UAAU;IACV,OAAO;KACL,GAAG,EAAO;KACV,GAAG,EAAO;KACV,SAAS,IAAe,KAAM;KAC/B;cARH,CAUE,kBAAC,GAAD,EAAW,OAAO;KAAE,OAAO;KAAQ,QAAQ;KAAQ,EAAI,CAAA,EACtD,EAAO,cAAc,EAAE,gCAAgC,QAAQ,CACzD;OAGX,kBAAC,UAAD;IACE,MAAK;IACL,SAAS;IACT,UAAU;IACV,OAAO;KACL,GAAG,EAAO;KACV,GAAG,EAAO;KACV,SAAS,IAAe,KAAM;KAC/B;cARH,CAUG,IACC,kBAAC,GAAD,EAAS,OAAO;KAAE,OAAO;KAAQ,QAAQ;KAAQ,WAAW;KAA2B,EAAI,CAAA,GAE3F,kBAAC,GAAD,EAAM,OAAO;KAAE,OAAO;KAAQ,QAAQ;KAAQ,EAAI,CAAA,EAEnD,EAAO,eAAe,EAAE,iCAAiC,SAAS,CAC5D;MACL;KACF;;EAER"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/form/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,GACxB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/funnel/index.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAW7C,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/funnel/index.tsx"],"sourcesContent":["/**\n * Funnel Widget\n *\n * Wrapper for ChartWidget with FUNNEL chart type pre-configured.\n */\n\nimport { type FC, memo } from 'react';\nimport type { Widget } from '../../../types';\nimport { ChartWidget } from '../chart';\nimport type { ChartData } from '../chart/charts/types';\n\nexport interface FunnelWidgetProps {\n widget: Widget;\n data?: ChartData[];\n onClick?: (dataPoint: ChartData, index: number) => void;\n}\n\nexport const FunnelWidget: FC<FunnelWidgetProps> = memo(function FunnelWidget({ widget, data, onClick }) {\n // Ensure chart type is FUNNEL\n const widgetWithType: Widget = {\n ...widget,\n config: {\n ...widget.config,\n chartType: 'FUNNEL',\n },\n };\n\n return <ChartWidget widget={widgetWithType} data={data} onClick={onClick} />;\n});\n\nexport default FunnelWidget;\n"],"mappings":";;;;;AAiBA,IAAa,IAAsC,EAAK,SAAsB,EAAE,WAAQ,SAAM,cAAW;AAUvG,QAAO,kBAAC,GAAD;EAAa,QARW;GAC7B,GAAG;GACH,QAAQ;IACN,GAAG,EAAO;IACV,WAAW;IACZ;GACF;EAEiD;EAAe;EAAW,CAAA;EAC5E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CircularGauge.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/gauge/CircularGauge.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAiB,MAAM,OAAO,CAAC;AAM/C,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACzC;AAMD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG1D;AAwBD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAgF/C,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CircularGauge.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/gauge/CircularGauge.tsx"],"sourcesContent":["/**\n * CircularGauge Component\n *\n * Circular gauge visualization with arc and value display.\n */\n\nimport { type FC, memo, useMemo } from 'react';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface ThresholdConfig {\n /** Threshold value */\n value: number;\n /** Color for values up to this threshold */\n color: string;\n}\n\nexport interface CircularGaugeProps {\n /** Current value */\n value: number;\n /** Minimum value */\n min?: number;\n /** Maximum value */\n max?: number;\n /** Size of the gauge */\n size?: number;\n /** Stroke width of the arc */\n strokeWidth?: number;\n /** Thresholds for color zones */\n thresholds?: ThresholdConfig[];\n /** Unit label */\n unit?: string;\n /** Whether to show the value */\n showValue?: boolean;\n /** Value format function */\n formatValue?: (value: number) => string;\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\n/**\n * Width of the gauge range.\n *\n * A degenerate range (`min === max`, or an inverted one) makes every ratio\n * `NaN`/`Infinity`, which React emits as `stroke-dasharray=\"NaN …\"` or\n * `width: NaN%` — both invalid, so the browser drops the declaration and the\n * gauge renders unpredictably. Falling back to 1 makes the gauge read at its\n * minimum instead. Mirrors the `max - min || 1` guard already used by\n * HeatmapWidget, SparklineChart and MapWidget.\n */\nexport function gaugeSpan(min: number, max: number): number {\n const span = max - min;\n return Number.isFinite(span) && span > 0 ? span : 1;\n}\n\nfunction getColorForValue(value: number, thresholds?: ThresholdConfig[]): string {\n if (!thresholds?.length) {\n return 'var(--color-action-primary-bg)';\n }\n\n // Sort thresholds by value\n const sorted = [...thresholds].sort((a, b) => a.value - b.value);\n\n for (const threshold of sorted) {\n if (value <= threshold.value) {\n return threshold.color;\n }\n }\n\n // Return last threshold color if above all\n return sorted[sorted.length - 1].color;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const CircularGauge: FC<CircularGaugeProps> = memo(function CircularGauge({\n value,\n min = 0,\n max = 100,\n size = 120,\n strokeWidth = 12,\n thresholds,\n unit,\n showValue = true,\n formatValue = (v: number) => v.toFixed(0),\n}) {\n // Calculate arc geometry\n const geometry = useMemo(() => {\n const radius = (size - strokeWidth) / 2;\n const circumference = radius * Math.PI * 2;\n const startAngle = -225; // Start from bottom-left\n const endAngle = 45; // End at bottom-right\n const totalAngle = endAngle - startAngle; // 270 degrees\n\n // Clamp value to range\n const clampedValue = Math.max(min, Math.min(max, value));\n const percentage = (clampedValue - min) / gaugeSpan(min, max);\n const angle = percentage * totalAngle;\n\n // Calculate arc path\n const arcLength = (angle / 360) * circumference;\n const backgroundArcLength = (totalAngle / 360) * circumference;\n\n return {\n radius,\n circumference,\n arcLength,\n backgroundArcLength,\n startAngle,\n percentage,\n };\n }, [size, strokeWidth, value, min, max]);\n\n const color = getColorForValue(value, thresholds);\n\n return (\n <div className=\"relative inline-flex items-center justify-center\" style={{ width: size, height: size }}>\n <svg width={size} height={size} viewBox={`0 0 ${size} ${size}`} className=\"transform -rotate-135\">\n {/* Background arc */}\n <circle\n cx={size / 2}\n cy={size / 2}\n r={geometry.radius}\n fill=\"none\"\n stroke=\"var(--color-border-default)\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={`${geometry.backgroundArcLength} ${geometry.circumference}`}\n />\n\n {/* Value arc */}\n <circle\n cx={size / 2}\n cy={size / 2}\n r={geometry.radius}\n fill=\"none\"\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeDasharray={`${geometry.arcLength} ${geometry.circumference}`}\n className=\"transition-all duration-500 ease-out\"\n />\n </svg>\n\n {/* Center content */}\n {showValue && (\n <div className=\"absolute inset-0 flex flex-col items-center justify-center\">\n <span className=\"text-2xl font-bold text-text-primary\" style={{ color }}>\n {formatValue(value)}\n </span>\n {unit && <span className=\"text-xs text-text-secondary\">{unit}</span>}\n </div>\n )}\n </div>\n );\n});\n\nexport default CircularGauge;\n"],"mappings":";;;AAsDA,SAAgB,EAAU,GAAa,GAAqB;CAC1D,IAAM,IAAO,IAAM;AACnB,QAAO,OAAO,SAAS,EAAK,IAAI,IAAO,IAAI,IAAO;;AAGpD,SAAS,EAAiB,GAAe,GAAwC;AAC/E,KAAI,CAAC,GAAY,OACf,QAAO;CAIT,IAAM,IAAS,CAAC,GAAG,EAAW,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM;AAEhE,MAAK,IAAM,KAAa,EACtB,KAAI,KAAS,EAAU,MACrB,QAAO,EAAU;AAKrB,QAAO,EAAO,EAAO,SAAS,GAAG;;AAOnC,IAAa,IAAwC,EAAK,SAAuB,EAC/E,UACA,SAAM,GACN,SAAM,KACN,UAAO,KACP,iBAAc,IACd,eACA,SACA,eAAY,IACZ,kBAAe,MAAc,EAAE,QAAQ,EAAE,IACxC;CAED,IAAM,IAAW,QAAc;EAC7B,IAAM,KAAU,IAAO,KAAe,GAChC,IAAgB,IAAS,KAAK,KAAK,GACnC,IAAa;AACF,OACa;EAJ9B,IAQM,KADe,KAAK,IAAI,GAAK,KAAK,IAAI,GAAK,EAAM,CAAC,GACrB,KAAO,EAAU,GAAK,EAAI;AAO7D,SAAO;GACL;GACA;GACA,WATY,IAAa,MAGA,MAAO;GAOhC,qBAN2B,MAAa,MAAO;GAO/C;GACA;GACD;IACA;EAAC;EAAM;EAAa;EAAO;EAAK;EAAI,CAAC,EAElC,IAAQ,EAAiB,GAAO,EAAW;AAEjD,QACE,kBAAC,OAAD;EAAK,WAAU;EAAmD,OAAO;GAAE,OAAO;GAAM,QAAQ;GAAM;YAAtG,CACE,kBAAC,OAAD;GAAK,OAAO;GAAM,QAAQ;GAAM,SAAS,OAAO,EAAK,GAAG;GAAQ,WAAU;aAA1E,CAEE,kBAAC,UAAD;IACE,IAAI,IAAO;IACX,IAAI,IAAO;IACX,GAAG,EAAS;IACZ,MAAK;IACL,QAAO;IACM;IACb,eAAc;IACd,iBAAiB,GAAG,EAAS,oBAAoB,GAAG,EAAS;IAC7D,CAAA,EAGF,kBAAC,UAAD;IACE,IAAI,IAAO;IACX,IAAI,IAAO;IACX,GAAG,EAAS;IACZ,MAAK;IACL,QAAQ;IACK;IACb,eAAc;IACd,iBAAiB,GAAG,EAAS,UAAU,GAAG,EAAS;IACnD,WAAU;IACV,CAAA,CACE;MAGL,KACC,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,QAAD;IAAM,WAAU;IAAuC,OAAO,EAAE,UAAO;cACpE,EAAY,EAAM;IACd,CAAA,EACN,KAAQ,kBAAC,QAAD;IAAM,WAAU;cAA+B;IAAY,CAAA,CAChE;KAEJ;;EAER"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GaugeConfig.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/gauge/GaugeConfig.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,IAAI,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAMhF,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,mCAAmC;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACxC;AAaD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAsQ3C,CAAC;AAEH,eAAe,WAAW,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GaugeConfig.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/gauge/GaugeConfig.tsx"],"sourcesContent":["/**\n * GaugeConfig Component\n *\n * Configuration panel for Gauge widgets.\n */\n\nimport { type FC, memo, useCallback } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport type { GaugeConfig as ConfigType, GaugeThreshold } from '../../../types';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface GaugeConfigProps {\n /** Current configuration */\n config: ConfigType;\n /** Callback when config changes */\n onChange: (config: ConfigType) => void;\n}\n\n/** Semantic fallbacks for bands a config has not defined yet. */\nconst DEFAULT_THRESHOLD_BANDS: readonly GaugeThreshold[] = [\n { value: 33, color: 'error' },\n { value: 66, color: 'warning' },\n { value: 100, color: 'success' },\n];\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const GaugeConfig: FC<GaugeConfigProps> = memo(function GaugeConfig({ config, onChange }) {\n const { t } = useI18n();\n const handleChange = useCallback(\n <K extends keyof ConfigType>(key: K, value: ConfigType[K]) => {\n onChange({ ...config, [key]: value });\n },\n [config, onChange]\n );\n\n /**\n * Update one threshold band's value without disturbing the rest of the entry.\n *\n * Writing a whole new `{value, color}` by index used to discard whatever\n * colour the band already carried — including the hex the backend widget\n * catalog seeds — so editing one band left a mixed hex/semantic array and\n * silently repainted that band. It also dropped the optional `label`.\n *\n * Writing by bare index into a shorter array would leave holes (`[ , , {…}]`),\n * which the widget then maps over as `undefined`; seed any missing lower\n * bands with their semantic default instead.\n */\n const handleThresholdValueChange = useCallback(\n (index: number, rawValue: string) => {\n const next: GaugeThreshold[] = [];\n for (let i = 0; i <= index; i++) {\n next[i] = config.thresholds?.[i] ?? DEFAULT_THRESHOLD_BANDS[i] ?? { value: 100, color: 'success' };\n }\n // Preserve everything except the edited value (colour, label, …).\n next[index] = { ...next[index], value: Number(rawValue) };\n // Keep any bands beyond the edited one untouched.\n for (let i = index + 1; i < (config.thresholds?.length ?? 0); i++) {\n next[i] = config.thresholds?.[i] ?? { value: 100, color: 'success' };\n }\n handleChange('thresholds', next);\n },\n [config.thresholds, handleChange]\n );\n\n return (\n <div className=\"min-w-0 space-y-form-gap\">\n {/* Variant */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.gauge.gaugeType', 'Gauge Type')}\n </label>\n <select\n value={config.variant || 'circular'}\n onChange={(e) => handleChange('variant', e.target.value as ConfigType['variant'])}\n className=\"\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n >\n <option value=\"circular\">{t('bigconsole.widget.config.gauge.variant.circular', 'Circular')}</option>\n <option value=\"linear\">{t('bigconsole.widget.config.gauge.variant.linear', 'Linear')}</option>\n </select>\n </div>\n\n {/* Min/Max Range */}\n <div className=\"grid grid-cols-1 gap-3 sm:grid-cols-2\">\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.gauge.minimum', 'Minimum')}\n </label>\n <input\n type=\"number\"\n value={config.min ?? 0}\n onChange={(e) => handleChange('min', Number(e.target.value))}\n className=\"\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n />\n </div>\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.gauge.maximum', 'Maximum')}\n </label>\n <input\n type=\"number\"\n value={config.max ?? 100}\n onChange={(e) => handleChange('max', Number(e.target.value))}\n className=\"\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n />\n </div>\n </div>\n\n {/* Unit */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.gauge.unitLabel', 'Unit Label')}\n </label>\n <input\n type=\"text\"\n value={config.unit || ''}\n onChange={(e) => handleChange('unit', e.target.value)}\n placeholder={t('bigconsole.widget.config.gauge.unitPlaceholder', 'e.g., %, ms, users')}\n className=\"\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n />\n </div>\n\n {/* Format */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.gauge.valueFormat', 'Value Format')}\n </label>\n <select\n value={config.format || 'number'}\n onChange={(e) => handleChange('format', e.target.value as ConfigType['format'])}\n className=\"\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n >\n <option value=\"number\">{t('bigconsole.widget.config.gauge.format.number', 'Number')}</option>\n <option value=\"percentage\">{t('bigconsole.widget.config.gauge.format.percentage', 'Percentage')}</option>\n <option value=\"currency\">{t('bigconsole.widget.config.gauge.format.currency', 'Currency')}</option>\n </select>\n </div>\n\n {/* Thresholds Section */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-2\">\n {t('bigconsole.widget.config.gauge.colorThresholds', 'Color Thresholds')}\n </label>\n <p className=\"text-xs text-text-secondary mb-3\">\n {t(\n 'bigconsole.widget.config.gauge.colorThresholdsHelp',\n 'Define color zones based on value ranges. Values up to each threshold will use that color.'\n )}\n </p>\n\n <div className=\"space-y-2\">\n {/* Red zone */}\n <div className=\"flex items-center gap-2\">\n <div className=\"w-4 h-4 rounded bg-status-error-bg\" />\n <span className=\"text-sm text-text-primary flex-1\">\n {t('bigconsole.widget.config.gauge.threshold.danger', 'Danger (Red)')}\n </span>\n <input\n type=\"number\"\n value={config.thresholds?.[0]?.value ?? 33}\n onChange={(e) => handleThresholdValueChange(0, e.target.value)}\n className=\"\n w-20 px-2 py-1\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n />\n </div>\n\n {/* Yellow zone */}\n <div className=\"flex items-center gap-2\">\n <div className=\"w-4 h-4 rounded bg-status-warning-bg\" />\n <span className=\"text-sm text-text-primary flex-1\">\n {t('bigconsole.widget.config.gauge.threshold.warning', 'Warning (Yellow)')}\n </span>\n <input\n type=\"number\"\n value={config.thresholds?.[1]?.value ?? 66}\n onChange={(e) => handleThresholdValueChange(1, e.target.value)}\n className=\"\n w-20 px-2 py-1\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n />\n </div>\n\n {/* Green zone */}\n <div className=\"flex items-center gap-2\">\n <div className=\"w-4 h-4 rounded bg-status-success-bg\" />\n <span className=\"text-sm text-text-primary flex-1\">\n {t('bigconsole.widget.config.gauge.threshold.good', 'Good (Green)')}\n </span>\n <input\n type=\"number\"\n value={config.thresholds?.[2]?.value ?? 100}\n onChange={(e) => handleThresholdValueChange(2, e.target.value)}\n className=\"\n w-20 px-2 py-1\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n />\n </div>\n </div>\n </div>\n\n {/* Show zones (for linear gauge) */}\n <div\n role=\"group\"\n aria-label=\"Display options\"\n className=\"space-y-3 border-t border-[var(--color-border-subtle)] pt-form-gap\"\n >\n {/* Toggles are a different KIND of control from the field stack above, so they\n get their own labelled group instead of being visually identical to it\n (BOFF-5636). */}\n <p className=\"text-xs font-bold uppercase tracking-wider text-text-secondary\">Display options</p>\n {config.variant === 'linear' && (\n <label className=\"flex items-center gap-3\">\n <input\n type=\"checkbox\"\n checked={config.showZones === true}\n onChange={(e) => handleChange('showZones', e.target.checked)}\n className=\"\n w-4 h-4\n text-action-primary-bg\n bg-bg-surface\n border-border-default\n rounded\n focus:ring-action-primary-bg\n \"\n />\n <span className=\"text-sm text-text-primary\">\n {t('bigconsole.widget.config.gauge.showZones', 'Show color zones in background')}\n </span>\n </label>\n )}\n {config.variant !== 'linear' && (\n <p className=\"text-xs text-text-secondary\">\n {t('bigconsole.widget.config.gauge.noCircularOptions', 'No display options for the circular gauge.')}\n </p>\n )}\n </div>\n </div>\n );\n});\n\nexport default GaugeConfig;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GaugeWidget.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/gauge/GaugeWidget.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA8B,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,gBAAgB,CAAC;AAS1D,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC/D;AAED,MAAM,WAAW,SAAS;IACxB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuJD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAwR3C,CAAC;AAEH,eAAe,WAAW,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GaugeWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/gauge/GaugeWidget.tsx"],"sourcesContent":["/**\n * GaugeWidget Component\n *\n * Gauge widget with circular and linear variants.\n */\n\nimport { type FC, memo, useMemo, useCallback } from 'react';\nimport type { Widget, GaugeConfig } from '../../../types';\nimport { CircularGauge, type ThresholdConfig } from './CircularGauge';\nimport { LinearGauge } from './LinearGauge';\nimport { unwrapRows } from '../utils/inferFields';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface GaugeWidgetProps {\n /** Widget configuration */\n widget: Widget;\n /** Gauge data */\n data?: GaugeData;\n /** Click handler for drilldown */\n onClick?: () => void;\n /** Drilldown handler - receives gauge data */\n onDrilldown?: (selectedData: Record<string, unknown>) => void;\n}\n\nexport interface GaugeData {\n /** Current value */\n value: number;\n /** Optional label */\n label?: string;\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\n/**\n * Semantic threshold colours.\n *\n * These MUST reference custom properties that actually exist in\n * `@burdenoff/fe-libs` (`--color-status-*`, see fe-libs\n * `src/shared/tokens/build/semantic.css`). An undefined custom property is\n * invalid-at-computed-value-time, so the browser drops the declaration\n * entirely: the SVG arc falls back to `stroke: none` and the linear bar to\n * `background-color: transparent` — i.e. the gauge renders permanently empty.\n */\nconst THRESHOLD_TOKENS = {\n success: 'var(--color-status-success-bg)',\n warning: 'var(--color-status-warning-bg)',\n error: 'var(--color-status-error-bg)',\n} as const;\n\ntype ThresholdToken = keyof typeof THRESHOLD_TOKENS;\n\n/**\n * Raw colours that already exist in persisted widget configs, mapped onto the\n * semantic token carrying the same meaning.\n *\n * Two sources produce these: older bundled-registry defaults ('red'/'yellow'/\n * 'green') and the BACKEND widget catalog, whose gauge `defaultConfig` seeds\n * hex (`#ef4444`/`#f59e0b`/`#22c55e`) and wins wholesale over the bundled\n * defaults on create (DashboardCanvas: `widgetData.defaultConfig || definition.defaultConfig`).\n * Translating them keeps existing gauges painting the intended colour *and*\n * makes them theme-aware, instead of being stuck on a fixed light-mode hex.\n */\nconst LEGACY_COLOR_ALIASES: Readonly<Record<string, ThresholdToken>> = {\n red: 'error',\n '#ef4444': 'error',\n '#dc2626': 'error',\n yellow: 'warning',\n amber: 'warning',\n orange: 'warning',\n '#f59e0b': 'warning',\n '#eab308': 'warning',\n green: 'success',\n '#22c55e': 'success',\n '#059669': 'success',\n};\n\nfunction isThresholdToken(color: string): color is ThresholdToken {\n return color in THRESHOLD_TOKENS;\n}\n\n/** Any CSS colour a persisted config might legitimately carry. */\nfunction looksLikeCssColor(color: string): boolean {\n // Valid hex lengths are 3, 4, 6 and 8 — a `{3,8}` range would also admit\n // 5- and 7-digit strings, which are not colours and should fall back rather\n // than reach the DOM.\n return (\n /^#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(color) ||\n /^(rgb|rgba|hsl|hsla|color|oklch|lab)\\(/i.test(color)\n );\n}\n\n/**\n * Resolve a configured threshold colour to a paintable value.\n *\n * Order matters. Semantic names and known legacy colours become tokens so they\n * theme correctly. An explicit `var(--…)` passes through. An unrecognised but\n * valid *hex or function-syntax* CSS colour also passes through: it is\n * user/backend data rather than source code, and substituting a token would\n * silently repaint a red band blue — worse than the theming smell it would fix.\n *\n * Bare CSS named colours are deliberately NOT passed through. The ones that\n * historically appear in gauge configs are covered by `LEGACY_COLOR_ALIASES`;\n * anything else is far likelier a misconfiguration than an intent, so it falls\n * back to a token (with a dev warning) rather than reaching the DOM.\n */\nfunction resolveThresholdColor(color: string): string {\n const normalized = color.trim().toLowerCase();\n\n if (isThresholdToken(normalized)) return THRESHOLD_TOKENS[normalized];\n\n const alias = LEGACY_COLOR_ALIASES[normalized];\n if (alias) return THRESHOLD_TOKENS[alias];\n\n // Already a token reference — pass through untouched.\n if (normalized.startsWith('var(')) return color;\n\n if (looksLikeCssColor(normalized)) {\n if (import.meta.env.DEV) {\n console.warn(\n `[GaugeWidget] Threshold colour \"${color}\" is a raw CSS colour and will not ` +\n 'adapt to the active theme. Prefer success/warning/error, which map to fe-libs tokens.'\n );\n }\n return color;\n }\n\n if (import.meta.env.DEV) {\n console.warn(\n `[GaugeWidget] Unrecognised threshold colour \"${color}\" — expected one of ` +\n `${Object.keys(THRESHOLD_TOKENS).join('/')}, a CSS colour, or a var(--color-…) token. ` +\n 'Falling back to the primary token so the gauge still paints.'\n );\n }\n\n return 'var(--color-action-primary-bg)';\n}\n\nconst DEFAULT_THRESHOLDS: ThresholdConfig[] = [\n { value: 33, color: THRESHOLD_TOKENS.error },\n { value: 66, color: THRESHOLD_TOKENS.warning },\n { value: 100, color: THRESHOLD_TOKENS.success },\n];\n\nfunction buildThresholds(config?: GaugeConfig): ThresholdConfig[] {\n if (!config?.thresholds?.length) {\n return DEFAULT_THRESHOLDS;\n }\n\n return config.thresholds.map((t) => ({\n value: t.value,\n color: resolveThresholdColor(t.color),\n }));\n}\n\nfunction formatGaugeValue(value: number, config?: GaugeConfig): string {\n const format = config?.format || 'number';\n\n switch (format) {\n case 'percentage':\n return `${value.toFixed(0)}%`;\n case 'currency':\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: 0,\n }).format(value);\n case 'number':\n default:\n return new Intl.NumberFormat('en-US', {\n maximumFractionDigits: config?.decimals || 0,\n }).format(value);\n }\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const GaugeWidget: FC<GaugeWidgetProps> = memo(function GaugeWidget({\n widget,\n data: rawData,\n onClick,\n onDrilldown,\n}) {\n const config = widget.config as unknown as GaugeConfig | undefined;\n\n const thresholds = useMemo(() => buildThresholds(config), [config]);\n\n const formatValue = useCallback((value: number) => formatGaugeValue(value, config), [config]);\n\n const hasDrilldown = !!widget.drilldown?.enabled;\n const isLinear = config?.variant === 'linear';\n\n // Normalize data from different formats (DataSink array, single object, etc.)\n const normalizedData = useMemo((): GaugeData | null => {\n if (!rawData) return null;\n\n // Explicit top-level `value` always wins — even if a sibling envelope\n // key exists (`{value: 42, data: [...]}` is a common summary+detail\n // shape) we prefer the summary value rather than coercing to array mode.\n if (rawData && typeof rawData === 'object' && !Array.isArray(rawData)) {\n const asRecord = rawData as unknown as Record<string, unknown>;\n if ('value' in asRecord && typeof asRecord.value === 'number') {\n return rawData as GaugeData;\n }\n }\n\n // BOFF-2246: unwrap common envelopes so the existing array handler below\n // (with its rich common-field heuristics) runs for parsers emitting\n // `{data: [...]}` / `{items: [...]}` — previously those payloads hit\n // \"No gauge data\" because no handler matched.\n //\n // Caveat: summary+detail payloads like `{ totalSales: 120, data: [...] }`\n // should keep the top-level numeric (the existing single-object handler\n // below has a generic \"any numeric field\" last-resort scan that would\n // otherwise surface it). Skip the unwrap whenever ANY numeric sibling\n // exists alongside the envelope key — matches the scope of the generic\n // scan so we don't regress previously-working payloads.\n let data: unknown = rawData;\n if (data && typeof data === 'object' && !Array.isArray(data)) {\n const obj = data as Record<string, unknown>;\n const hasTopLevelNumericSibling = Object.entries(obj).some(([k, v]) => {\n if (k === 'data' || k === 'items' || k === 'rows') return false;\n return typeof v === 'number';\n });\n\n if (!hasTopLevelNumericSibling) {\n // Array-aware unwrap — picks the first envelope key that's actually\n // an array, so payloads like `{data: {page: 1}, items: [...]}` still\n // reach the array handler below.\n const maybe = unwrapRows(obj);\n if (maybe && maybe.length > 0) data = maybe;\n }\n }\n\n // Get configured value field from widget config\n const valueField =\n ((config as Record<string, unknown> | undefined)?.valueField as string) ||\n ((config as Record<string, unknown> | undefined)?.value_field as string) ||\n 'value';\n\n // Handle array from DataSink - extract value from first item\n if (Array.isArray(data) && data.length > 0) {\n const firstItem = data[0] as Record<string, unknown>;\n\n // Try configured field first\n if (typeof firstItem[valueField] === 'number') {\n return {\n value: firstItem[valueField] as number,\n label: typeof firstItem.label === 'string' ? firstItem.label : undefined,\n };\n }\n\n // Try common numeric field names\n const numericFields = [\n 'value',\n 'growth',\n 'percentage',\n 'percent',\n 'progress',\n 'score',\n 'rate',\n 'amount',\n 'total',\n ];\n for (const field of numericFields) {\n if (typeof firstItem[field] === 'number') {\n return {\n value: firstItem[field] as number,\n label:\n typeof firstItem.label === 'string'\n ? firstItem.label\n : typeof firstItem.name === 'string'\n ? firstItem.name\n : undefined,\n };\n }\n }\n\n // Find any numeric field\n const numericEntry = Object.entries(firstItem).find(([, v]) => typeof v === 'number');\n if (numericEntry) {\n return {\n value: numericEntry[1] as number,\n label: `${numericEntry[0].charAt(0).toUpperCase()}${numericEntry[0].slice(1)}`,\n };\n }\n\n // Try to aggregate (average) across all rows if single item didn't work\n if (data.length > 1) {\n const allNumericFields = Object.entries(firstItem).filter(([, v]) => typeof v === 'number');\n if (allNumericFields.length > 0) {\n const [fieldName] = allNumericFields[0];\n const avg =\n data.reduce((sum, row) => {\n const val = (row as Record<string, unknown>)[fieldName];\n return sum + (typeof val === 'number' ? val : 0);\n }, 0) / data.length;\n\n return {\n value: Math.round(avg * 100) / 100,\n label: `Avg ${fieldName.charAt(0).toUpperCase()}${fieldName.slice(1)}`,\n };\n }\n }\n }\n\n // Handle single object without 'value' property\n if (typeof data === 'object' && !Array.isArray(data)) {\n const dataObj = data as unknown as Record<string, unknown>;\n\n // Try configured field\n if (typeof dataObj[valueField] === 'number') {\n return {\n value: dataObj[valueField] as number,\n label: typeof dataObj.label === 'string' ? dataObj.label : undefined,\n };\n }\n\n // Try common field names\n const numericFields = [\n 'value',\n 'growth',\n 'percentage',\n 'percent',\n 'progress',\n 'score',\n 'rate',\n 'amount',\n 'total',\n ];\n for (const field of numericFields) {\n if (typeof dataObj[field] === 'number') {\n return {\n value: dataObj[field] as number,\n label: typeof dataObj.label === 'string' ? dataObj.label : undefined,\n };\n }\n }\n\n // Find any numeric field\n const numericEntry = Object.entries(dataObj).find(([, v]) => typeof v === 'number');\n if (numericEntry) {\n return {\n value: numericEntry[1] as number,\n label: `${numericEntry[0].charAt(0).toUpperCase()}${numericEntry[0].slice(1)}`,\n };\n }\n }\n\n // Handle direct number\n if (typeof data === 'number') {\n return { value: data };\n }\n\n // Handle string that can be parsed as number\n if (typeof data === 'string') {\n const parsed = parseFloat(data);\n if (!isNaN(parsed)) {\n return { value: parsed };\n }\n }\n\n return null;\n }, [rawData, config]);\n\n // Handle drilldown click - must be after normalizedData is computed\n const handleClick = useCallback(() => {\n // Support both legacy onClick and new onDrilldown\n if (onDrilldown && normalizedData) {\n onDrilldown({\n value: normalizedData.value,\n label: normalizedData.label,\n min: config?.min,\n max: config?.max,\n });\n } else if (onClick && widget.drilldowns?.length) {\n onClick();\n }\n }, [onClick, onDrilldown, widget.drilldowns, normalizedData, config?.min, config?.max]);\n\n const isClickable = Boolean(hasDrilldown || (onClick && widget.drilldowns?.length));\n\n if (!normalizedData) {\n return (\n <div className=\"flex items-center justify-center h-full text-text-secondary text-sm\">\n <div className=\"text-center\">\n <svg className=\"w-12 h-12 mx-auto mb-2 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=\"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z\"\n />\n </svg>\n <p>No gauge data</p>\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`\n flex flex-col items-center justify-center h-full p-4\n ${isClickable ? 'cursor-pointer hover:bg-bg-sunken/50 transition-colors' : ''}\n `}\n onClick={handleClick}\n role={isClickable ? 'button' : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onKeyDown={(e) => {\n if (isClickable && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n handleClick();\n }\n }}\n >\n {/* Label */}\n {normalizedData.label && <p className=\"text-sm text-text-secondary mb-3 text-center\">{normalizedData.label}</p>}\n\n {/* Gauge */}\n <div className={`${isLinear ? 'w-full max-w-xs' : ''}`}>\n {isLinear ? (\n <LinearGauge\n value={normalizedData.value}\n min={config?.min}\n max={config?.max}\n thresholds={thresholds}\n unit={config?.unit}\n formatValue={formatValue}\n showZones={config?.showZones}\n />\n ) : (\n <CircularGauge\n value={normalizedData.value}\n min={config?.min}\n max={config?.max}\n thresholds={thresholds}\n unit={config?.unit}\n formatValue={formatValue}\n size={config?.size === 'sm' ? 100 : config?.size === 'md' ? 140 : config?.size === 'lg' ? 180 : 140}\n />\n )}\n </div>\n\n {/* Drilldown indicator */}\n {isClickable && (\n <div className=\"mt-3 flex items-center justify-center\">\n <span className=\"text-xs text-text-secondary flex items-center gap-1\">\n View details\n <svg className=\"w-3 h-3\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M9 5l7 7-7 7\" />\n </svg>\n </span>\n </div>\n )}\n </div>\n );\n});\n\nexport default GaugeWidget;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LinearGauge.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/gauge/LinearGauge.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAiB,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAMlE,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;IAC/B,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qCAAqC;IACrC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,kCAAkC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA0BD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA4F3C,CAAC;AAEH,eAAe,WAAW,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LinearGauge.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/gauge/LinearGauge.tsx"],"sourcesContent":["/**\n * LinearGauge Component\n *\n * Horizontal linear gauge visualization.\n */\n\nimport { type FC, memo, useMemo } from 'react';\nimport { gaugeSpan, type ThresholdConfig } from './CircularGauge';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface LinearGaugeProps {\n /** Current value */\n value: number;\n /** Minimum value */\n min?: number;\n /** Maximum value */\n max?: number;\n /** Height of the gauge bar */\n height?: number;\n /** Thresholds for color zones */\n thresholds?: ThresholdConfig[];\n /** Unit label */\n unit?: string;\n /** Whether to show the value */\n showValue?: boolean;\n /** Whether to show min/max labels */\n showRange?: boolean;\n /** Value format function */\n formatValue?: (value: number) => string;\n /** Whether to show color zones */\n showZones?: boolean;\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\nfunction getColorForValue(value: number, thresholds?: ThresholdConfig[]): string {\n if (!thresholds?.length) {\n return 'var(--color-action-primary-bg)';\n }\n\n const sorted = [...thresholds].sort((a, b) => a.value - b.value);\n\n for (const threshold of sorted) {\n if (value <= threshold.value) {\n return threshold.color;\n }\n }\n\n return sorted[sorted.length - 1].color;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const LinearGauge: FC<LinearGaugeProps> = memo(function LinearGauge({\n value,\n min = 0,\n max = 100,\n height = 12,\n thresholds,\n unit,\n showValue = true,\n showRange = true,\n formatValue = (v: number) => v.toFixed(0),\n showZones = false,\n}) {\n // Calculate percentage\n const percentage = useMemo(() => {\n const clampedValue = Math.max(min, Math.min(max, value));\n return ((clampedValue - min) / gaugeSpan(min, max)) * 100;\n }, [value, min, max]);\n\n const color = getColorForValue(value, thresholds);\n\n // Calculate zone widths for background\n const zones = useMemo(() => {\n if (!showZones || !thresholds?.length) return null;\n\n const sorted = [...thresholds].sort((a, b) => a.value - b.value);\n const zones: { width: number; color: string }[] = [];\n let prevValue = min;\n\n for (const threshold of sorted) {\n const width = ((threshold.value - prevValue) / gaugeSpan(min, max)) * 100;\n zones.push({ width, color: threshold.color });\n prevValue = threshold.value;\n }\n\n return zones;\n }, [showZones, thresholds, min, max]);\n\n return (\n <div className=\"w-full\">\n {/* Value display */}\n {showValue && (\n <div className=\"flex items-baseline gap-1 mb-2\">\n <span className=\"text-2xl font-bold\" style={{ color }}>\n {formatValue(value)}\n </span>\n {unit && <span className=\"text-sm text-text-secondary\">{unit}</span>}\n </div>\n )}\n\n {/* Gauge bar */}\n <div className=\"relative w-full rounded-full overflow-hidden bg-bg-sunken\" style={{ height }}>\n {/* Zone backgrounds */}\n {zones && (\n <div className=\"absolute inset-0 flex\">\n {zones.map((zone, index) => (\n <div\n key={index}\n className=\"h-full opacity-20\"\n style={{ width: `${zone.width}%`, backgroundColor: zone.color }}\n />\n ))}\n </div>\n )}\n\n {/* Value bar */}\n <div\n className=\"absolute inset-y-0 left-0 rounded-full transition-all duration-500 ease-out\"\n style={{\n width: `${percentage}%`,\n backgroundColor: color,\n }}\n />\n\n {/* Value marker */}\n <div\n className=\"absolute top-1/2 -translate-y-1/2 w-1 bg-bg-surface transition-all duration-500\"\n style={{\n left: `calc(${percentage}% - 2px)`,\n height: height + 4,\n }}\n />\n </div>\n\n {/* Range labels */}\n {showRange && (\n <div className=\"flex justify-between mt-1\">\n <span className=\"text-xs text-text-secondary\">{formatValue(min)}</span>\n <span className=\"text-xs text-text-secondary\">{formatValue(max)}</span>\n </div>\n )}\n </div>\n );\n});\n\nexport default LinearGauge;\n"],"mappings":";;;;AAwCA,SAAS,EAAiB,GAAe,GAAwC;AAC/E,KAAI,CAAC,GAAY,OACf,QAAO;CAGT,IAAM,IAAS,CAAC,GAAG,EAAW,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM;AAEhE,MAAK,IAAM,KAAa,EACtB,KAAI,KAAS,EAAU,MACrB,QAAO,EAAU;AAIrB,QAAO,EAAO,EAAO,SAAS,GAAG;;AAOnC,IAAa,IAAoC,EAAK,SAAqB,EACzE,UACA,SAAM,GACN,SAAM,KACN,YAAS,IACT,eACA,SACA,eAAY,IACZ,eAAY,IACZ,kBAAe,MAAc,EAAE,QAAQ,EAAE,EACzC,eAAY,MACX;CAED,IAAM,IAAa,SACI,KAAK,IAAI,GAAK,KAAK,IAAI,GAAK,EAAM,CAAC,GAChC,KAAO,EAAU,GAAK,EAAI,GAAI,KACrD;EAAC;EAAO;EAAK;EAAI,CAAC,EAEf,IAAQ,EAAiB,GAAO,EAAW,EAG3C,IAAQ,QAAc;AAC1B,MAAI,CAAC,KAAa,CAAC,GAAY,OAAQ,QAAO;EAE9C,IAAM,IAAS,CAAC,GAAG,EAAW,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAC1D,IAA4C,EAAE,EAChD,IAAY;AAEhB,OAAK,IAAM,KAAa,GAAQ;GAC9B,IAAM,KAAU,EAAU,QAAQ,KAAa,EAAU,GAAK,EAAI,GAAI;AAEtE,GADA,EAAM,KAAK;IAAE;IAAO,OAAO,EAAU;IAAO,CAAC,EAC7C,IAAY,EAAU;;AAGxB,SAAO;IACN;EAAC;EAAW;EAAY;EAAK;EAAI,CAAC;AAErC,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GAEG,KACC,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,QAAD;KAAM,WAAU;KAAqB,OAAO,EAAE,UAAO;eAClD,EAAY,EAAM;KACd,CAAA,EACN,KAAQ,kBAAC,QAAD;KAAM,WAAU;eAA+B;KAAY,CAAA,CAChE;;GAIR,kBAAC,OAAD;IAAK,WAAU;IAA4D,OAAO,EAAE,WAAQ;cAA5F;KAEG,KACC,kBAAC,OAAD;MAAK,WAAU;gBACZ,EAAM,KAAK,GAAM,MAChB,kBAAC,OAAD;OAEE,WAAU;OACV,OAAO;QAAE,OAAO,GAAG,EAAK,MAAM;QAAI,iBAAiB,EAAK;QAAO;OAC/D,EAHK,EAGL,CACF;MACE,CAAA;KAIR,kBAAC,OAAD;MACE,WAAU;MACV,OAAO;OACL,OAAO,GAAG,EAAW;OACrB,iBAAiB;OAClB;MACD,CAAA;KAGF,kBAAC,OAAD;MACE,WAAU;MACV,OAAO;OACL,MAAM,QAAQ,EAAW;OACzB,QAAQ,IAAS;OAClB;MACD,CAAA;KACE;;GAGL,KACC,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,QAAD;KAAM,WAAU;eAA+B,EAAY,EAAI;KAAQ,CAAA,EACvE,kBAAC,QAAD;KAAM,WAAU;eAA+B,EAAY,EAAI;KAAQ,CAAA,CACnE;;GAEJ;;EAER"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/gauge/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HeatmapConfig.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/heatmap/HeatmapConfig.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA8B,MAAM,OAAO,CAAC;AAE5D,OAAO,KAAK,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMlE,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,mCAAmC;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACxC;AAmBD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAsJ/C,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HeatmapConfig.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/heatmap/HeatmapConfig.tsx"],"sourcesContent":["/**\n * HeatmapConfig Component\n *\n * Configuration panel for Heatmap widgets.\n */\n\nimport { type FC, memo, useCallback, useMemo } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport type { HeatmapConfig as ConfigType } from '../../../types';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface HeatmapConfigProps {\n /** Current configuration */\n config: ConfigType;\n /** Callback when config changes */\n onChange: (config: ConfigType) => void;\n}\n\n// ============================================================================\n// Constants\n// ============================================================================\n\nconst FIELD_CLASSES = `\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n`;\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const HeatmapConfig: FC<HeatmapConfigProps> = memo(function HeatmapConfig({ config, onChange }) {\n const { t } = useI18n();\n\n const COLOR_SCHEMES = useMemo(\n () => [\n { value: 'blue', label: t('bigconsole.widget.config.heatmap.colorScheme.blue', 'Blue') },\n { value: 'green', label: t('bigconsole.widget.config.heatmap.colorScheme.green', 'Green') },\n { value: 'red', label: t('bigconsole.widget.config.heatmap.colorScheme.red', 'Red') },\n ],\n [t]\n );\n\n const handleChange = useCallback(\n <K extends keyof ConfigType>(key: K, value: ConfigType[K]) => {\n onChange({ ...config, [key]: value });\n },\n [config, onChange]\n );\n\n return (\n <div className=\"min-w-0 space-y-form-gap\">\n {/* Axis + value fields */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.heatmap.xAxisFieldLabel', 'X-Axis Field')}\n </label>\n <input\n type=\"text\"\n value={config.xAxisField || ''}\n onChange={(e) => handleChange('xAxisField', e.target.value)}\n placeholder={t('bigconsole.widget.config.heatmap.xAxisFieldPlaceholder', 'e.g., hour, column')}\n className={FIELD_CLASSES}\n />\n </div>\n\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.heatmap.yAxisFieldLabel', 'Y-Axis Field')}\n </label>\n <input\n type=\"text\"\n value={config.yAxisField || ''}\n onChange={(e) => handleChange('yAxisField', e.target.value)}\n placeholder={t('bigconsole.widget.config.heatmap.yAxisFieldPlaceholder', 'e.g., day, row')}\n className={FIELD_CLASSES}\n />\n </div>\n\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.heatmap.valueFieldLabel', 'Value Field')}\n </label>\n <input\n type=\"text\"\n value={config.valueField || ''}\n onChange={(e) => handleChange('valueField', e.target.value)}\n placeholder={t('bigconsole.widget.config.heatmap.valueFieldPlaceholder', 'e.g., tickets, count')}\n className={FIELD_CLASSES}\n />\n <p className=\"mt-1 text-xs text-text-secondary\">\n {t(\n 'bigconsole.widget.config.heatmap.valueFieldHelp',\n \"Left empty, the widget reads the parser's rows / columns / cells output directly.\"\n )}\n </p>\n </div>\n\n {/* Color scheme */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.heatmap.colorSchemeLabel', 'Color Scheme')}\n </label>\n <select\n value={config.colorScheme || 'blue'}\n onChange={(e) => handleChange('colorScheme', e.target.value)}\n className={FIELD_CLASSES}\n >\n {COLOR_SCHEMES.map((scheme) => (\n <option key={scheme.value} value={scheme.value}>\n {scheme.label}\n </option>\n ))}\n </select>\n </div>\n\n {/* Decimals */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.heatmap.decimalPlacesLabel', 'Decimal Places')}\n </label>\n <input\n type=\"number\"\n min={0}\n max={6}\n value={config.decimals ?? 0}\n onChange={(e) => handleChange('decimals', Number(e.target.value))}\n className={FIELD_CLASSES}\n />\n </div>\n\n {/* Toggles */}\n <div\n role=\"group\"\n aria-label=\"Display options\"\n className=\"space-y-3 border-t border-[var(--color-border-subtle)] pt-form-gap\"\n >\n {/* Toggles are a different KIND of control from the field stack above, so they\n get their own labelled group instead of being visually identical to it\n (BOFF-5636). */}\n <p className=\"text-xs font-bold uppercase tracking-wider text-text-secondary\">Display options</p>\n <label className=\"flex items-center gap-3\">\n <input\n type=\"checkbox\"\n checked={config.showValues !== false}\n onChange={(e) => handleChange('showValues', e.target.checked)}\n className=\"\n w-4 h-4\n text-action-primary-bg\n bg-bg-surface\n border-border-default\n rounded\n focus:ring-action-primary-bg\n \"\n />\n <span className=\"text-sm text-text-primary\">\n {t('bigconsole.widget.config.heatmap.showValues', 'Show cell values')}\n </span>\n </label>\n\n <label className=\"flex items-center gap-3\">\n <input\n type=\"checkbox\"\n checked={config.showLegend !== false}\n onChange={(e) => handleChange('showLegend', e.target.checked)}\n className=\"\n w-4 h-4\n text-action-primary-bg\n bg-bg-surface\n border-border-default\n rounded\n focus:ring-action-primary-bg\n \"\n />\n <span className=\"text-sm text-text-primary\">\n {t('bigconsole.widget.config.heatmap.showLegend', 'Show color legend')}\n </span>\n </label>\n </div>\n </div>\n );\n});\n\nexport default HeatmapConfig;\n"],"mappings":";;;;AAyBA,IAAM,IAAgB,sLAaT,IAAwC,EAAK,SAAuB,EAAE,WAAQ,eAAY;CACrG,IAAM,EAAE,SAAM,GAAS,EAEjB,IAAgB,QACd;EACJ;GAAE,OAAO;GAAQ,OAAO,EAAE,qDAAqD,OAAO;GAAE;EACxF;GAAE,OAAO;GAAS,OAAO,EAAE,sDAAsD,QAAQ;GAAE;EAC3F;GAAE,OAAO;GAAO,OAAO,EAAE,oDAAoD,MAAM;GAAE;EACtF,EACD,CAAC,EAAE,CACJ,EAEK,IAAe,GACU,GAAQ,MAAyB;AAC5D,IAAS;GAAE,GAAG;IAAS,IAAM;GAAO,CAAC;IAEvC,CAAC,GAAQ,EAAS,CACnB;AAED,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GAEE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;IAAO,WAAU;cACd,EAAE,oDAAoD,eAAe;IAChE,CAAA,EACR,kBAAC,SAAD;IACE,MAAK;IACL,OAAO,EAAO,cAAc;IAC5B,WAAW,MAAM,EAAa,cAAc,EAAE,OAAO,MAAM;IAC3D,aAAa,EAAE,0DAA0D,qBAAqB;IAC9F,WAAW;IACX,CAAA,CACE,EAAA,CAAA;GAEN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;IAAO,WAAU;cACd,EAAE,oDAAoD,eAAe;IAChE,CAAA,EACR,kBAAC,SAAD;IACE,MAAK;IACL,OAAO,EAAO,cAAc;IAC5B,WAAW,MAAM,EAAa,cAAc,EAAE,OAAO,MAAM;IAC3D,aAAa,EAAE,0DAA0D,iBAAiB;IAC1F,WAAW;IACX,CAAA,CACE,EAAA,CAAA;GAEN,kBAAC,OAAD,EAAA,UAAA;IACE,kBAAC,SAAD;KAAO,WAAU;eACd,EAAE,oDAAoD,cAAc;KAC/D,CAAA;IACR,kBAAC,SAAD;KACE,MAAK;KACL,OAAO,EAAO,cAAc;KAC5B,WAAW,MAAM,EAAa,cAAc,EAAE,OAAO,MAAM;KAC3D,aAAa,EAAE,0DAA0D,uBAAuB;KAChG,WAAW;KACX,CAAA;IACF,kBAAC,KAAD;KAAG,WAAU;eACV,EACC,mDACA,oFACD;KACC,CAAA;IACA,EAAA,CAAA;GAGN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;IAAO,WAAU;cACd,EAAE,qDAAqD,eAAe;IACjE,CAAA,EACR,kBAAC,UAAD;IACE,OAAO,EAAO,eAAe;IAC7B,WAAW,MAAM,EAAa,eAAe,EAAE,OAAO,MAAM;IAC5D,WAAW;cAEV,EAAc,KAAK,MAClB,kBAAC,UAAD;KAA2B,OAAO,EAAO;eACtC,EAAO;KACD,EAFI,EAAO,MAEX,CACT;IACK,CAAA,CACL,EAAA,CAAA;GAGN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;IAAO,WAAU;cACd,EAAE,uDAAuD,iBAAiB;IACrE,CAAA,EACR,kBAAC,SAAD;IACE,MAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO,EAAO,YAAY;IAC1B,WAAW,MAAM,EAAa,YAAY,OAAO,EAAE,OAAO,MAAM,CAAC;IACjE,WAAW;IACX,CAAA,CACE,EAAA,CAAA;GAGN,kBAAC,OAAD;IACE,MAAK;IACL,cAAW;IACX,WAAU;cAHZ;KAQE,kBAAC,KAAD;MAAG,WAAU;gBAAiE;MAAmB,CAAA;KACjG,kBAAC,SAAD;MAAO,WAAU;gBAAjB,CACE,kBAAC,SAAD;OACE,MAAK;OACL,SAAS,EAAO,eAAe;OAC/B,WAAW,MAAM,EAAa,cAAc,EAAE,OAAO,QAAQ;OAC7D,WAAU;OAQV,CAAA,EACF,kBAAC,QAAD;OAAM,WAAU;iBACb,EAAE,+CAA+C,mBAAmB;OAChE,CAAA,CACD;;KAER,kBAAC,SAAD;MAAO,WAAU;gBAAjB,CACE,kBAAC,SAAD;OACE,MAAK;OACL,SAAS,EAAO,eAAe;OAC/B,WAAW,MAAM,EAAa,cAAc,EAAE,OAAO,QAAQ;OAC7D,WAAU;OAQV,CAAA,EACF,kBAAC,QAAD;OAAM,WAAU;iBACb,EAAE,+CAA+C,oBAAoB;OACjE,CAAA,CACD;;KACJ;;GACF;;EAER"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HeatmapWidget.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/heatmap/HeatmapWidget.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA8B,MAAM,OAAO,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,gBAAgB,CAAC;AAM5D,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD;;;;;;;;GAQG;AACH,QAAA,MAAM,WAAW;;;;CAsBqC,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,WAAW,CAAC;AAkB1D,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAsH/C,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HeatmapWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/heatmap/HeatmapWidget.tsx"],"sourcesContent":["/**\n * HeatmapWidget Component\n *\n * Heatmap grid visualization with color intensity based on values.\n */\n\nimport { type FC, memo, useMemo, useCallback } from 'react';\nimport type { Widget, HeatmapConfig } from '../../../types';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface HeatmapWidgetProps {\n widget: Widget;\n data?: HeatmapData;\n onClick?: (cell: HeatmapCell) => void;\n}\n\nexport interface HeatmapCell {\n row: string;\n column: string;\n value: number;\n}\n\nexport interface HeatmapData {\n rows: string[];\n columns: string[];\n cells: HeatmapCell[];\n minValue?: number;\n maxValue?: number;\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\n/**\n * Intensity ramps, five steps from lowest to highest.\n *\n * Every class is written out in full and never assembled at runtime: Tailwind\n * only emits utilities it can find as literal strings, so a template-built\n * class like `bg-…/${opacity}` produces no CSS unless something else happens\n * to declare it. Keeping the ramps here means the cells and the legend share\n * one source of truth and both are statically discoverable.\n */\nconst COLOR_RAMPS = {\n blue: [\n 'bg-action-primary-bg/10',\n 'bg-action-primary-bg/30',\n 'bg-action-primary-bg/50',\n 'bg-action-primary-bg/70',\n 'bg-action-primary-bg/90',\n ],\n green: [\n 'bg-status-success-bg/10',\n 'bg-status-success-bg/30',\n 'bg-status-success-bg/50',\n 'bg-status-success-bg/70',\n 'bg-status-success-bg/90',\n ],\n red: [\n 'bg-status-error-bg/10',\n 'bg-status-error-bg/30',\n 'bg-status-error-bg/50',\n 'bg-status-error-bg/70',\n 'bg-status-error-bg/90',\n ],\n} as const satisfies Record<string, readonly string[]>;\n\nexport type HeatmapColorScheme = keyof typeof COLOR_RAMPS;\n\n/** The ramp for a scheme, falling back to blue for anything unrecognised. */\nfunction rampFor(colorScheme?: string): readonly string[] {\n return COLOR_RAMPS[(colorScheme ?? 'blue') as HeatmapColorScheme] ?? COLOR_RAMPS.blue;\n}\n\nfunction getColorIntensity(value: number, min: number, max: number, colorScheme: string = 'blue'): string {\n const normalized = Math.max(0, Math.min(1, (value - min) / (max - min || 1)));\n const ramp = rampFor(colorScheme);\n const step = normalized < 0.2 ? 0 : normalized < 0.4 ? 1 : normalized < 0.6 ? 2 : normalized < 0.8 ? 3 : 4;\n return ramp[step] as string;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const HeatmapWidget: FC<HeatmapWidgetProps> = memo(function HeatmapWidget({ widget, data, onClick }) {\n const config = widget.config as unknown as HeatmapConfig | undefined;\n\n // Build cell lookup map\n const cellMap = useMemo(() => {\n const map = new Map<string, number>();\n if (data?.cells && Array.isArray(data.cells)) {\n data.cells.forEach((cell) => {\n map.set(`${cell.row}:${cell.column}`, cell.value);\n });\n }\n return map;\n }, [data?.cells]);\n\n // Calculate min/max\n const { minValue, maxValue } = useMemo(() => {\n if (!data?.cells || !Array.isArray(data.cells) || !data.cells.length) {\n return { minValue: 0, maxValue: 100 };\n }\n\n const values = data.cells.map((c) => c.value);\n return {\n minValue: data.minValue ?? Math.min(...values),\n maxValue: data.maxValue ?? Math.max(...values),\n };\n }, [data]);\n\n const handleCellClick = useCallback(\n (row: string, column: string, value: number) => {\n if (onClick && widget.drilldowns?.length) {\n onClick({ row, column, value });\n }\n },\n [onClick, widget.drilldowns]\n );\n\n const isClickable = Boolean(onClick && widget.drilldowns?.length);\n\n // Early return if data is not properly structured\n if (!data || !Array.isArray(data.rows) || !Array.isArray(data.columns) || !data.rows.length || !data.columns.length) {\n return (\n <div className=\"flex items-center justify-center h-full text-text-secondary text-sm\">\n No heatmap data available\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col h-full p-4\">\n {/* Grid — `min-h-0` lets this flex child shrink so it scrolls instead of\n clipping its last rows when the widget is shorter than the grid. */}\n <div className=\"min-h-0 flex-1 overflow-auto\">\n <table className=\"w-full border-collapse\">\n <thead>\n <tr>\n <th className=\"p-2 text-xs text-text-secondary text-left\" />\n {data.columns.map((col) => (\n <th key={col} className=\"p-2 text-xs font-medium text-text-secondary text-center min-w-[60px]\">\n {col}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {data.rows.map((row) => (\n <tr key={row}>\n <td className=\"p-2 text-xs font-medium text-text-secondary text-left\">{row}</td>\n {data.columns.map((col) => {\n const value = cellMap.get(`${row}:${col}`) ?? 0;\n const colorClass = getColorIntensity(value, minValue, maxValue, config?.colorScheme);\n\n return (\n <td\n key={col}\n className={`\n p-0 text-center\n ${isClickable ? 'cursor-pointer' : ''}\n `}\n onClick={() => handleCellClick(row, col, value)}\n >\n <div\n className={`\n m-0.5 p-2 rounded\n ${colorClass}\n ${isClickable ? 'hover:ring-2 hover:ring-action-primary-bg' : ''}\n transition-all\n `}\n title={`${row} / ${col}: ${value}`}\n >\n {config?.showValues !== false && (\n <span className=\"text-xs font-medium text-text-primary\">\n {typeof value === 'number' ? value.toFixed(config?.decimals || 0) : value}\n </span>\n )}\n </div>\n </td>\n );\n })}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n\n {/* Legend */}\n {config?.showLegend !== false && (\n <div className=\"flex items-center justify-center gap-2 mt-4\">\n <span className=\"text-xs text-text-secondary\">Low</span>\n <div className=\"flex gap-0.5\">\n {rampFor(config?.colorScheme).map((swatch) => (\n <div key={swatch} className={`w-6 h-4 rounded ${swatch}`} />\n ))}\n </div>\n <span className=\"text-xs text-text-secondary\">High</span>\n </div>\n )}\n </div>\n );\n});\n\nexport default HeatmapWidget;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/heatmap/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7G,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IframeWidget.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/iframe-widget/IframeWidget.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAiB,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACjD,IAAI,EAAE,UAAU,GAAG,SAAS,GAC3B,QAAQ,CAAC,UAAU,CAAC,GAAG;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CA4B5C;AAMD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAkC7C,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IframeWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/iframe-widget/IframeWidget.tsx"],"sourcesContent":["/**\n * IframeWidget Component\n *\n * Displays embedded iframe content.\n *\n * Data flow: DataSink → Parser → Widget\n * - Static configuration lives in `widget.config` (url, sandbox, allowFullscreen, title).\n * - Dynamic parser output is passed in `data` and overrides matching config keys.\n * - This lets the iframe render from manual configuration, parser-driven data, or both.\n */\n\nimport { type FC, memo, useMemo } from 'react';\nimport type { Widget } from '../../../types';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface IframeWidgetProps {\n widget: Widget;\n data?: IframeData;\n}\n\nexport interface IframeData {\n url?: string;\n title?: string;\n allowFullscreen?: boolean;\n sandbox?: string;\n loading?: 'lazy' | 'eager';\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\n/**\n * Resolve the effective iframe configuration.\n *\n * Priority (highest first):\n * 1. Parser-provided `data` fields\n * 2. User-configured `widget.config` fields\n * 3. Safe defaults (empty URL, restricted sandbox, no fullscreen)\n *\n * This is the function the widget tests exercise directly; keeping the merge\n * logic pure makes the DataSink → Parser → Widget contract explicit.\n */\nexport function resolveIframeConfig(\n widgetConfig: Record<string, unknown> | undefined,\n data: IframeData | undefined\n): Required<IframeData> & { hasUrl: boolean } {\n const cfg = widgetConfig ?? {};\n\n const coercedBoolean = (value: unknown): boolean | undefined => {\n if (typeof value === 'boolean') return value;\n if (typeof value === 'string') return value.toLowerCase() === 'true';\n return undefined;\n };\n\n const coercedLoading = (value: unknown): 'lazy' | 'eager' => {\n if (value === 'eager' || value === 'lazy') return value;\n return 'lazy';\n };\n\n const url = (data?.url ?? cfg.url ?? '') as string;\n const title = (data?.title ?? cfg.title ?? 'Embedded Content') as string;\n const allowFullscreen = coercedBoolean(data?.allowFullscreen ?? cfg.allowFullscreen) ?? false;\n const sandbox = ((data?.sandbox ?? cfg.sandbox) as string | undefined) ?? 'allow-scripts allow-same-origin';\n const loading = coercedLoading(data?.loading ?? cfg.loading);\n\n return {\n url,\n title,\n allowFullscreen,\n sandbox,\n loading,\n hasUrl: typeof url === 'string' && url.length > 0,\n };\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const IframeWidget: FC<IframeWidgetProps> = memo(function IframeWidget({ widget, data }) {\n const config = useMemo(() => resolveIframeConfig(widget.config, data), [widget.config, data]);\n\n if (!config.hasUrl) {\n return (\n <div className=\"flex items-center justify-center h-full text-text-secondary text-sm\">\n <div className=\"text-center\">\n <svg className=\"w-12 h-12 mx-auto mb-2 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=\"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14\"\n />\n </svg>\n <p>No URL configured</p>\n <p className=\"text-xs text-text-muted mt-1\">Configure a URL to embed content</p>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"h-full w-full\">\n <iframe\n src={config.url}\n title={config.title}\n className=\"w-full h-full border-0 rounded\"\n allowFullScreen={config.allowFullscreen}\n sandbox={config.sandbox}\n loading={config.loading}\n />\n </div>\n );\n});\n\nexport default IframeWidget;\n"],"mappings":";;;AA8CA,SAAgB,EACd,GACA,GAC4C;CAC5C,IAAM,IAAM,KAAgB,EAAE,EAExB,KAAkB,MAAwC;AAC9D,MAAI,OAAO,KAAU,UAAW,QAAO;AACvC,MAAI,OAAO,KAAU,SAAU,QAAO,EAAM,aAAa,KAAK;IAI1D,KAAkB,MAClB,MAAU,WAAW,MAAU,SAAe,IAC3C,QAGH,IAAO,GAAM,OAAO,EAAI,OAAO;AAMrC,QAAO;EACL;EACA,OAPa,GAAM,SAAS,EAAI,SAAS;EAQzC,iBAPsB,EAAe,GAAM,mBAAmB,EAAI,gBAAgB,IAAI;EAQtF,SAPgB,GAAM,WAAW,EAAI,WAAmC;EAQxE,SAPc,EAAe,GAAM,WAAW,EAAI,QAAQ;EAQ1D,QAAQ,OAAO,KAAQ,YAAY,EAAI,SAAS;EACjD;;AAOH,IAAa,IAAsC,EAAK,SAAsB,EAAE,WAAQ,WAAQ;CAC9F,IAAM,IAAS,QAAc,EAAoB,EAAO,QAAQ,EAAK,EAAE,CAAC,EAAO,QAAQ,EAAK,CAAC;AAqB7F,QAnBK,EAAO,SAoBV,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,UAAD;GACE,KAAK,EAAO;GACZ,OAAO,EAAO;GACd,WAAU;GACV,iBAAiB,EAAO;GACxB,SAAS,EAAO;GAChB,SAAS,EAAO;GAChB,CAAA;EACE,CAAA,GA3BJ,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD;GAAK,WAAU;aAAf;IACE,kBAAC,OAAD;KAAK,WAAU;KAAyC,MAAK;KAAO,QAAO;KAAe,SAAQ;eAChG,kBAAC,QAAD;MACE,eAAc;MACd,gBAAe;MACf,aAAa;MACb,GAAE;MACF,CAAA;KACE,CAAA;IACN,kBAAC,KAAD,EAAA,UAAG,qBAAqB,CAAA;IACxB,kBAAC,KAAD;KAAG,WAAU;eAA+B;KAAoC,CAAA;IAC5E;;EACF,CAAA;EAgBV"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/iframe-widget/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5G,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/widgets/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanView.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kanban/KanbanView.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAmC,MAAM,OAAO,CAAC;AACjE,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAM5D,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,qGAAqG;IACrG,CAAC,EAAE,iBAAiB,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AAmBD,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAqNzC,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanView.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/kanban/KanbanView.tsx"],"sourcesContent":["/**\n * KanbanWidget Component\n *\n * Simple kanban board view with columns and tasks.\n */\n\nimport { type FC, memo, useMemo, useRef, useState } from 'react';\nimport {\n normalizeKanban,\n applyKanbanMoves,\n validKanbanMoves,\n type KanbanData,\n type KanbanTask,\n type KanbanColumnMove,\n} from './model';\nexport type { KanbanData, KanbanTask, KanbanColumn } from './model';\nimport type { Widget } from '../../../types';\nimport type { WidgetTranslateFn } from '../utils/translate';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface KanbanViewProps extends KanbanWidgetProps {\n /** Translator — the app passes useI18n().t; the public embed passes a static fallback translator. */\n t: WidgetTranslateFn;\n interactive?: boolean;\n onSaveMoves?: (moves: KanbanColumnMove[]) => Promise<boolean>;\n}\n\nexport interface KanbanWidgetProps {\n widget: Widget;\n data?: KanbanData;\n onClick?: (task: KanbanTask) => void;\n}\n\nfunction getPriorityColor(priority?: string): string {\n switch (priority) {\n case 'high':\n return 'bg-status-error-bg/20 text-status-error-text';\n case 'medium':\n return 'bg-status-warning-bg/20 text-[var(--color-status-warning-text)]';\n case 'low':\n return 'bg-status-success-bg/20 text-status-success-text';\n default:\n return 'bg-bg-sunken text-text-secondary';\n }\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const KanbanView: FC<KanbanViewProps> = memo(function KanbanView({\n widget,\n data,\n onClick,\n t,\n onSaveMoves,\n interactive = false,\n}) {\n const config = widget.config as Record<string, unknown> | undefined;\n const { columns, tasks: sourceTasks } = useMemo(() => normalizeKanban(data, config), [data, config]);\n const [local, setLocal] = useState<{ data: unknown; widgetId: string; moves: KanbanColumnMove[] } | null>(null);\n const [saving, setSaving] = useState(false);\n const [announcement, setAnnouncement] = useState('');\n const dragging = useRef<string | null>(null);\n const moves =\n local && local.data === data && local.widgetId === widget.id\n ? local.moves\n : validKanbanMoves(config?.kanbanColumnMoves);\n const tasks = useMemo(() => applyKanbanMoves(sourceTasks, columns, moves), [sourceTasks, columns, moves]);\n const moveTask = async (taskId: string, targetColumn: string) => {\n if (!interactive || saving || !columns.some((column) => column.id === targetColumn)) return;\n const task = sourceTasks.find((item) => item.id === taskId);\n if (!task || tasks.find((item) => item.id === taskId)?.column === targetColumn) return;\n const previous = validKanbanMoves(moves);\n const next = [\n ...previous.filter((move) => move.taskId !== taskId),\n { taskId, sourceColumn: task.column, targetColumn },\n ];\n setLocal({ data, widgetId: widget.id, moves: next });\n if (!onSaveMoves || !task.stableId) {\n setAnnouncement(\n t('bigconsole.widget.kanban.move.temporary', '{{title}} moved to {{column}} for this view.', {\n title: task.title,\n column: targetColumn,\n })\n );\n return;\n }\n setSaving(true);\n let saved: boolean;\n try {\n saved = await onSaveMoves(\n next.filter((move) => sourceTasks.some((source) => source.id === move.taskId && source.stableId))\n );\n } catch {\n saved = false;\n }\n setSaving(false);\n if (!saved) {\n setLocal({ data, widgetId: widget.id, moves: previous });\n setAnnouncement(\n t(\n 'bigconsole.widget.kanban.move.failed',\n 'Could not save the move. The card was returned to its previous column.'\n )\n );\n } else {\n setAnnouncement(\n t('bigconsole.widget.kanban.move.saved', '{{title}} moved to {{column}} and saved.', {\n title: task.title,\n column: targetColumn,\n })\n );\n }\n };\n\n // Group tasks by column\n const tasksByColumn = useMemo(() => {\n const grouped = new Map<string, KanbanTask[]>();\n columns.forEach((col) => {\n grouped.set(\n col.id,\n tasks.filter((t) => t.column === col.id)\n );\n });\n return grouped;\n }, [columns, tasks]);\n\n if (!columns.length) {\n return (\n <div className=\"flex items-center justify-center h-full text-text-secondary text-sm\">\n <div className=\"text-center\">\n <svg className=\"w-12 h-12 mx-auto mb-2 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=\"M9 17V7m0 10a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2h2a2 2 0 012 2m0 10a2 2 0 002 2h2a2 2 0 002-2M9 7a2 2 0 012-2h2a2 2 0 012 2m0 10V7m0 10a2 2 0 002 2h2a2 2 0 002-2V7a2 2 0 00-2-2h-2a2 2 0 00-2 2\"\n />\n </svg>\n <p>{t('bigconsole.widget.kanban.emptyState', 'No board data')}</p>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"flex h-full flex-col\">\n {interactive && (\n <p role=\"status\" className=\"px-2 pt-2 text-xs text-text-secondary\">\n {announcement ||\n (onSaveMoves\n ? t('bigconsole.widget.kanban.move.editorHint', 'Moves are saved to this widget.')\n : t('bigconsole.widget.kanban.move.viewerHint', 'Moves are temporary in this view.'))}\n </p>\n )}\n <div className=\"flex min-h-0 flex-1 p-2 gap-2 overflow-x-auto\">\n {columns.map((column) => {\n const columnTasks = tasksByColumn.get(column.id) || [];\n\n return (\n <div\n key={column.id}\n aria-label={`Column ${column.title}`}\n className=\"flex-shrink-0 w-48 flex flex-col bg-bg-sunken/50 rounded-lg\"\n onDragOver={(event) => {\n if (dragging.current && !saving) {\n // The dashboard's palette drop zone uses a copy effect; task moves must stay local.\n event.stopPropagation();\n event.preventDefault();\n event.dataTransfer.dropEffect = 'move';\n }\n }}\n onDrop={(event) => {\n event.preventDefault();\n event.stopPropagation();\n const id = dragging.current;\n dragging.current = null;\n if (id) void moveTask(id, column.id);\n }}\n >\n {/* Column Header */}\n <div className=\"flex items-center gap-2 p-2 border-b border-border-default\">\n <div\n className=\"w-2 h-2 rounded-full\"\n style={{ backgroundColor: column.color || 'var(--color-text-muted)' }}\n />\n <span className=\"text-xs font-medium text-text-primary truncate\">{column.title}</span>\n <span className=\"ml-auto text-xs text-text-muted\">{columnTasks.length}</span>\n </div>\n\n {/* Tasks */}\n <div className=\"flex-1 p-2 space-y-2 overflow-y-auto\">\n {columnTasks.map((task) => (\n <div\n key={task.id}\n draggable={interactive && !saving}\n onDragStart={(event) => {\n event.stopPropagation();\n dragging.current = task.id;\n event.dataTransfer.effectAllowed = 'move';\n event.dataTransfer.setData('text/plain', task.id);\n }}\n onDragEnd={() => {\n dragging.current = null;\n }}\n className={`\n p-2 bg-bg-surface rounded border border-border-default\n ${onClick ? 'cursor-pointer hover:border-action-primary-bg' : ''}\n transition-colors\n `}\n onClick={() => onClick?.(task)}\n >\n <p className=\"text-xs font-medium text-text-primary line-clamp-2\">{task.title}</p>\n {task.description && (\n <p className=\"mt-1 text-xs text-text-secondary line-clamp-3\">{task.description}</p>\n )}\n {interactive && (\n <select\n aria-label={`Move ${task.title} to column`}\n value={task.column}\n disabled={saving}\n onClick={(event) => event.stopPropagation()}\n onChange={(event) => {\n void moveTask(task.id, event.target.value);\n }}\n className=\"mt-2 w-full rounded border border-border-default bg-bg-surface text-xs text-text-secondary\"\n >\n {columns.map((target) => (\n <option key={target.id} value={target.id}>\n {target.title}\n </option>\n ))}\n </select>\n )}\n\n <div className=\"flex items-center gap-1 mt-2 flex-wrap\">\n {task.priority && (\n <span className={`px-1.5 py-0.5 text-[10px] rounded ${getPriorityColor(task.priority)}`}>\n {task.priority}\n </span>\n )}\n {task.assignee && (\n <span className=\"px-1.5 py-0.5 text-[10px] rounded bg-action-primary-bg/10 text-action-primary-text\">\n {task.assignee}\n </span>\n )}\n </div>\n </div>\n ))}\n\n {columnTasks.length === 0 && (\n <p className=\"text-[10px] text-text-muted text-center py-4\">\n {t('bigconsole.widget.kanban.noTasks', 'No tasks')}\n </p>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n});\n\nexport default KanbanView;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanWidget.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kanban/KanbanWidget.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAElE,cAAc,cAAc,CAAC;AAE7B,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAW7C,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/kanban/KanbanWidget.tsx"],"sourcesContent":["/**\n * KanbanWidget — in-app wrapper around the pure KanbanView (BOFF-7926).\n *\n * The view is i18n-provider-free so the public embed bundle can render it with a\n * static translator (the fe-libs I18nProvider touches localStorage, which throws\n * in third-party iframes when the visitor blocks third-party storage).\n */\n\nimport { type FC, memo } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useWidgetConfigPersist } from '../../../hooks/useWidgetConfigPersist';\nimport { KanbanView, type KanbanWidgetProps } from './KanbanView';\n\nexport * from './KanbanView';\n\nexport const KanbanWidget: FC<KanbanWidgetProps> = memo(function KanbanWidget(props) {\n const { t } = useI18n();\n const { canPersist, persistConfig } = useWidgetConfigPersist(props.widget);\n return (\n <KanbanView\n {...props}\n t={t}\n interactive\n onSaveMoves={canPersist ? (moves) => persistConfig({ kanbanColumnMoves: moves }) : undefined}\n />\n );\n});\n\nexport default KanbanWidget;\n"],"mappings":";;;;;;AAeA,IAAa,IAAsC,EAAK,SAAsB,GAAO;CACnF,IAAM,EAAE,SAAM,GAAS,EACjB,EAAE,eAAY,qBAAkB,EAAuB,EAAM,OAAO;AAC1E,QACE,kBAAC,GAAD;EACE,GAAI;EACD;EACH,aAAA;EACA,aAAa,KAAc,MAAU,EAAc,EAAE,mBAAmB,GAAO,CAAC,GAAG,KAAA;EACnF,CAAA;EAEJ"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kanban/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kanban/model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACtB;AAqED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;IAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE,CAwDlD;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAWnE;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CAY3G"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/kanban/model.ts"],"sourcesContent":["export interface KanbanColumn {\n id: string;\n title: string;\n color?: string;\n}\n\nexport interface KanbanTask {\n id: string;\n title: string;\n column: string;\n description?: string;\n stableId?: boolean;\n priority?: 'high' | 'medium' | 'low';\n assignee?: string;\n labels?: string[];\n dueDate?: string;\n}\n\nexport interface KanbanData {\n columns?: KanbanColumn[];\n tasks?: KanbanTask[];\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\n// Field names we try, in order, when the widget config doesn't name one\n// explicitly. A DataSink/parser typically emits a flat array of rows (e.g. the\n// Linear \"Kanban board\" parser -> [{ id, title, status, assignee, ... }]), so\n// the board is derived from a status/column field on those rows.\nconst COLUMN_FIELD_CANDIDATES = ['status', 'state', 'column', 'stage', 'category', 'phase', 'group'];\nconst TITLE_FIELD_CANDIDATES = ['title', 'name', 'summary', 'label', 'identifier', 'id'];\n\nfunction asString(value: unknown): string | undefined {\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n}\n\n/** Coerce parser output into an array of object rows (handles common envelopes). */\nfunction asRows(data: unknown): Record<string, unknown>[] {\n const onlyObjects = (arr: unknown[]): Record<string, unknown>[] =>\n arr.filter((r): r is Record<string, unknown> => !!r && typeof r === 'object' && !Array.isArray(r));\n\n if (Array.isArray(data)) return onlyObjects(data);\n\n if (data && typeof data === 'object') {\n const obj = data as Record<string, unknown>;\n for (const key of ['tasks', 'rows', 'items', 'data', 'nodes', 'results', 'records']) {\n if (Array.isArray(obj[key])) return onlyObjects(obj[key] as unknown[]);\n }\n const firstArray = Object.values(obj).find((v) => Array.isArray(v));\n if (Array.isArray(firstArray)) return onlyObjects(firstArray);\n }\n return [];\n}\n\n/** First key that actually exists on the sample row. */\nfunction firstPresent(row: Record<string, unknown>, keys: (string | undefined)[]): string | undefined {\n for (const key of keys) {\n if (key && key in row) return key;\n }\n return undefined;\n}\n\nfunction normalizePriority(value: unknown): KanbanTask['priority'] {\n const v = asString(value)?.toLowerCase();\n if (!v) return undefined;\n if (v === 'urgent' || v === 'high') return 'high';\n if (v === 'medium' || v === 'normal') return 'medium';\n if (v === 'low') return 'low';\n return undefined;\n}\n\n/** Index fallbacks are local-only and cannot collide with source IDs. */\nfunction taskIdentities(values: unknown[]): { id: string; stableId: boolean }[] {\n const ids = values.map((value) => (typeof value === 'string' || typeof value === 'number' ? String(value) : ''));\n const counts = new Map<string, number>();\n ids.forEach((id) => {\n if (id) counts.set(id, (counts.get(id) ?? 0) + 1);\n });\n const used = new Set(ids);\n return ids.map((id, index) => {\n if (id && counts.get(id) === 1) return { id, stableId: true };\n let localId = `row-${index}`;\n while (used.has(localId)) localId += '-local';\n used.add(localId);\n return { id: localId, stableId: false };\n });\n}\n\n/**\n * Normalize widget data into the board's { columns, tasks } shape.\n *\n * KanbanWidget previously required the exact canonical shape and rendered\n * \"No board data\" for any DataSink/parser output that was a plain array of\n * rows (which is what parsers actually emit) — BOFF-4110. This adapts a flat\n * array into columns (distinct values of a status/column field, in first-seen\n * order) plus one card per row, honoring config field mappings with fallbacks.\n */\nexport function normalizeKanban(\n data: unknown,\n config?: Record<string, unknown>\n): { columns: KanbanColumn[]; tasks: KanbanTask[] } {\n // Canonical shape passes through untouched (back-compat).\n if (data && typeof data === 'object' && !Array.isArray(data) && Array.isArray((data as KanbanData).columns)) {\n const d = data as KanbanData;\n const identities = taskIdentities((d.tasks ?? []).map((task) => task.id));\n return {\n columns: d.columns ?? [],\n tasks: (d.tasks ?? []).map((task, index) => ({ ...task, ...identities[index] })),\n };\n }\n\n const rows = asRows(data);\n if (rows.length === 0) return { columns: [], tasks: [] };\n\n const sample = rows[0];\n const columnField = firstPresent(sample, [\n asString(config?.columnField),\n asString(config?.groupField),\n asString(config?.statusField),\n ...COLUMN_FIELD_CANDIDATES,\n asString(config?.xAxisField),\n asString(config?.labelField),\n ]);\n if (!columnField) return { columns: [], tasks: [] };\n\n const titleField = firstPresent(sample, [\n asString(config?.cardTitleField),\n asString(config?.titleField),\n ...TITLE_FIELD_CANDIDATES,\n asString(config?.labelField),\n ]);\n\n const identities = taskIdentities(rows.map((row) => row.id ?? row.identifier ?? row.key));\n const columnTitles = new Map<string, string>();\n const columnOrder: string[] = [];\n const tasks: KanbanTask[] = rows.map((row, i) => {\n const columnRaw = row[columnField];\n const column = columnRaw == null || columnRaw === '' ? 'Uncategorized' : String(columnRaw);\n if (!columnTitles.has(column)) {\n columnTitles.set(column, column);\n columnOrder.push(column);\n }\n const labels = Array.isArray(row.labels) ? row.labels.filter((l): l is string => typeof l === 'string') : undefined;\n return {\n ...identities[i],\n description: asString(row[asString(config?.cardDescriptionField) ?? 'description']),\n title: titleField && row[titleField] != null ? String(row[titleField]) : `Item ${i + 1}`,\n column,\n assignee: asString(row.assignee),\n priority: normalizePriority(row.priority ?? row.priorityLabel),\n labels: labels && labels.length > 0 ? labels : undefined,\n };\n });\n\n const columns: KanbanColumn[] = columnOrder.map((id) => ({ id, title: columnTitles.get(id) ?? id }));\n return { columns, tasks };\n}\n\nexport interface KanbanColumnMove {\n taskId: string;\n sourceColumn: string;\n targetColumn: string;\n}\n\nexport function validKanbanMoves(value: unknown): KanbanColumnMove[] {\n if (!Array.isArray(value)) return [];\n return value.filter((move): move is KanbanColumnMove => {\n if (!move || typeof move !== 'object') return false;\n const candidate = move as Partial<KanbanColumnMove>;\n return (\n typeof candidate.taskId === 'string' &&\n typeof candidate.sourceColumn === 'string' &&\n typeof candidate.targetColumn === 'string'\n );\n });\n}\n\n/** Overrides only affect a current card in its original source column. */\nexport function applyKanbanMoves(tasks: KanbanTask[], columns: KanbanColumn[], value: unknown): KanbanTask[] {\n const moves = validKanbanMoves(value);\n const targets = new Set(columns.map((column) => column.id));\n return tasks.map((task) => {\n const move = [...moves]\n .reverse()\n .find(\n (candidate) =>\n candidate.taskId === task.id && candidate.sourceColumn === task.column && targets.has(candidate.targetColumn)\n );\n return move ? { ...task, column: move.targetColumn } : task;\n });\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KPIWidget.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kpi/KPIWidget.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAMpF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAuCD,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAgFvC,CAAC;AAEH,eAAe,SAAS,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KPIWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/kpi/KPIWidget.tsx"],"sourcesContent":["/**\n * KPIWidget Component\n *\n * Multi-KPI comparison card showing multiple metrics together.\n */\n\nimport { type FC, memo, useCallback } from 'react';\nimport type { Widget, KPIConfig } from '../../../types';\nimport { TrendIndicator, type TrendDirection } from '../metric-card/TrendIndicator';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface KPIWidgetProps {\n widget: Widget;\n data?: KPIData;\n onClick?: (metricIndex: number) => void;\n}\n\nexport interface KPIMetric {\n label: string;\n value: number | string;\n previousValue?: number;\n changePercent?: number;\n trend?: TrendDirection;\n unit?: string;\n}\n\nexport interface KPIData {\n metrics: KPIMetric[];\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\nfunction formatValue(value: number | string, format?: string): string {\n if (typeof value === 'string') return value;\n\n switch (format) {\n case 'currency':\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: 0,\n }).format(value);\n case 'percentage':\n return `${(value * 100).toFixed(1)}%`;\n case 'compact':\n return new Intl.NumberFormat('en-US', {\n notation: 'compact',\n maximumFractionDigits: 1,\n }).format(value);\n default:\n return new Intl.NumberFormat('en-US', {\n maximumFractionDigits: 2,\n }).format(value);\n }\n}\n\nfunction getTrend(changePercent?: number): TrendDirection {\n if (changePercent === undefined || changePercent === 0) return 'flat';\n return changePercent > 0 ? 'up' : 'down';\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const KPIWidget: FC<KPIWidgetProps> = memo(function KPIWidget({ widget, data, onClick }) {\n const config = widget.config as unknown as KPIConfig | undefined;\n\n const handleMetricClick = useCallback(\n (index: number) => {\n if (onClick && widget.drilldowns?.length) {\n onClick(index);\n }\n },\n [onClick, widget.drilldowns]\n );\n\n const isClickable = Boolean(onClick && widget.drilldowns?.length);\n\n if (!data?.metrics?.length) {\n return null;\n }\n\n const layout = config?.layout || 'horizontal';\n\n return (\n <div className=\"flex flex-col h-full p-4\">\n <div\n className={`\n grid gap-4\n ${layout === 'horizontal' ? 'md:grid-cols-2 lg:grid-cols-4' : 'grid-cols-1'}\n flex-1\n `}\n >\n {data.metrics.map((metric, index) => (\n <div\n key={index}\n className={`\n flex flex-col p-4\n bg-bg-sunken/50\n rounded-lg\n ${isClickable ? 'cursor-pointer hover:bg-bg-sunken transition-colors' : ''}\n `}\n onClick={() => handleMetricClick(index)}\n role={isClickable ? 'button' : undefined}\n tabIndex={isClickable ? 0 : undefined}\n >\n {/* Label */}\n <p className=\"text-xs text-text-secondary uppercase tracking-wide mb-1\">{metric.label}</p>\n\n {/* Value */}\n <div className=\"flex items-baseline gap-2\">\n <span className=\"text-2xl font-bold text-text-primary\">{formatValue(metric.value, config?.format)}</span>\n {metric.unit && <span className=\"text-sm text-text-secondary\">{metric.unit}</span>}\n </div>\n\n {/* Change indicator */}\n {metric.changePercent !== undefined && (\n <div className=\"flex items-center gap-1 mt-2\">\n <TrendIndicator\n direction={metric.trend || getTrend(metric.changePercent)}\n size=\"sm\"\n positiveIsGood={config?.positiveIsGood !== false}\n />\n <span\n className={`text-xs ${\n metric.changePercent >= 0\n ? config?.positiveIsGood !== false\n ? 'text-status-success-text'\n : 'text-status-error-text'\n : config?.positiveIsGood !== false\n ? 'text-status-error-text'\n : 'text-status-success-text'\n }`}\n >\n {metric.changePercent > 0 ? '+' : ''}\n {metric.changePercent.toFixed(1)}%\n </span>\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n );\n});\n\nexport default KPIWidget;\n"],"mappings":";;;;AAqCA,SAAS,EAAY,GAAwB,GAAyB;AACpE,KAAI,OAAO,KAAU,SAAU,QAAO;AAEtC,SAAQ,GAAR;EACE,KAAK,WACH,QAAO,IAAI,KAAK,aAAa,SAAS;GACpC,OAAO;GACP,UAAU;GACV,uBAAuB;GACxB,CAAC,CAAC,OAAO,EAAM;EAClB,KAAK,aACH,QAAO,IAAI,IAAQ,KAAK,QAAQ,EAAE,CAAC;EACrC,KAAK,UACH,QAAO,IAAI,KAAK,aAAa,SAAS;GACpC,UAAU;GACV,uBAAuB;GACxB,CAAC,CAAC,OAAO,EAAM;EAClB,QACE,QAAO,IAAI,KAAK,aAAa,SAAS,EACpC,uBAAuB,GACxB,CAAC,CAAC,OAAO,EAAM;;;AAItB,SAAS,EAAS,GAAwC;AAExD,QADI,MAAkB,KAAA,KAAa,MAAkB,IAAU,SACxD,IAAgB,IAAI,OAAO;;AAOS,EAAK,SAAmB,EAAE,WAAQ,SAAM,cAAW;CAC9F,IAAM,IAAS,EAAO,QAEhB,IAAoB,GACvB,MAAkB;AACjB,EAAI,KAAW,EAAO,YAAY,UAChC,EAAQ,EAAM;IAGlB,CAAC,GAAS,EAAO,WAAW,CAC7B,EAEK,IAAc,GAAQ,KAAW,EAAO,YAAY;AAQ1D,QANK,GAAM,SAAS,SAOlB,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD;GACE,WAAW;;aALF,GAAQ,UAAU,kBAOZ,eAAe,kCAAkC,cAAc;;;aAI7E,EAAK,QAAQ,KAAK,GAAQ,MACzB,kBAAC,OAAD;IAEE,WAAW;;;;gBAIP,IAAc,wDAAwD,GAAG;;IAE7E,eAAe,EAAkB,EAAM;IACvC,MAAM,IAAc,WAAW,KAAA;IAC/B,UAAU,IAAc,IAAI,KAAA;cAV9B;KAaE,kBAAC,KAAD;MAAG,WAAU;gBAA4D,EAAO;MAAU,CAAA;KAG1F,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,QAAD;OAAM,WAAU;iBAAwC,EAAY,EAAO,OAAO,GAAQ,OAAO;OAAQ,CAAA,EACxG,EAAO,QAAQ,kBAAC,QAAD;OAAM,WAAU;iBAA+B,EAAO;OAAY,CAAA,CAC9E;;KAGL,EAAO,kBAAkB,KAAA,KACxB,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,GAAD;OACE,WAAW,EAAO,SAAS,EAAS,EAAO,cAAc;OACzD,MAAK;OACL,gBAAgB,GAAQ,mBAAmB;OAC3C,CAAA,EACF,kBAAC,QAAD;OACE,WAAW,WACT,EAAO,iBAAiB,IACpB,GAAQ,mBAAmB,KAEzB,2BADA,6BAEF,GAAQ,mBAAmB,KAEzB,6BADA;iBAPV;QAWG,EAAO,gBAAgB,IAAI,MAAM;QACjC,EAAO,cAAc,QAAQ,EAAE;QAAC;QAC5B;SACH;;KAEJ;MA5CC,EA4CD,CACN;GACE,CAAA;EACF,CAAA,GA/DC;EAiET"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kpi/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KPIComparisonWidget.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAOxF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB;AAuHD,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CA8T3D,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KPIComparisonWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.tsx"],"sourcesContent":["/**\n * KPIComparisonWidget Component\n *\n * Displays multiple KPIs in a grid for comparison.\n */\n\nimport { type FC, memo } from 'react';\nimport type { Widget } from '../../../types';\nimport { type ConditionalRule, resolveConditionalStyle, conditionalStyleToClassName } from '../utils/conditionalFormat';\nimport { SparklineChart, type SparklineDataPoint } from '../metric-card/SparklineChart';\nimport { getTargetProgress, clampProgressWidth } from '../utils/targetProgress';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface KPIComparisonWidgetProps {\n widget: Widget;\n data?: KPIComparisonData;\n onClick?: (kpi: KPIItem) => void;\n onDrilldown?: (data: Record<string, unknown>) => void;\n}\n\nexport interface KPIItem {\n id: string;\n label: string;\n value: number;\n previousValue?: number;\n target?: number;\n unit?: string;\n trend?: 'up' | 'down' | 'stable';\n trendValue?: number;\n /** Optional history series used to draw the per-KPI sparkline. */\n sparklineData?: SparklineDataPoint[];\n}\n\nexport interface KPIComparisonData {\n kpis?: KPIItem[];\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\nfunction formatValue(value: number, unit?: string): string {\n if (unit === '$') {\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n notation: value >= 10000 ? 'compact' : 'standard',\n maximumFractionDigits: 1,\n }).format(value);\n }\n if (unit === '%') {\n return `${value.toFixed(1)}%`;\n }\n return new Intl.NumberFormat('en-US', {\n notation: value >= 10000 ? 'compact' : 'standard',\n maximumFractionDigits: 1,\n }).format(value);\n}\n\n/**\n * Whether a trend direction is a *good* outcome for this KPI.\n *\n * `positiveIsGood` defaults to true, but is false for metrics where falling is\n * the win — churn, latency, error rate. Without it a churn rate dropping 22%\n * renders red. Mirrors MetricCardWidget's `getSparklineColor` convention so the\n * two widgets agree.\n */\nfunction isTrendGood(trend: string | undefined, positiveIsGood: boolean): boolean | null {\n if (trend !== 'up' && trend !== 'down') return null;\n const isUp = trend === 'up';\n return positiveIsGood ? isUp : !isUp;\n}\n\nfunction getTrendColor(trend: string | undefined, positiveIsGood: boolean): string {\n const good = isTrendGood(trend, positiveIsGood);\n if (good === null) return 'text-text-secondary';\n return good ? 'text-status-success-text' : 'text-status-error-text';\n}\n\nfunction getSparklineColor(trend: string | undefined, positiveIsGood: boolean): 'success' | 'error' | 'primary' {\n const good = isTrendGood(trend, positiveIsGood);\n if (good === null) return 'primary';\n return good ? 'success' : 'error';\n}\n\n/**\n * Row fields a parser commonly uses to carry a KPI's history series, most\n * explicit first.\n *\n * Deliberately excludes bare `values` — it is generic enough that an unrelated\n * numeric column would be mistaken for a history series and render a spurious\n * chart.\n */\nconst SPARKLINE_FIELDS = ['sparklineData', 'sparkline', 'trendSeries', 'history', 'series'] as const;\n\n/** A trend needs at least two points; one datum is not a line. */\nconst MIN_SPARKLINE_POINTS = 2;\n\n/**\n * Coerce a raw field into sparkline points.\n *\n * Accepts the two shapes parsers realistically emit — `number[]` and\n * `{ value: number, timestamp?: string }[]` — and rejects everything else so a\n * malformed field renders no chart rather than a broken one.\n */\nfunction toSparklinePoints(raw: unknown): SparklineDataPoint[] | undefined {\n if (!Array.isArray(raw) || raw.length === 0) return undefined;\n\n const points = raw.reduce<SparklineDataPoint[]>((acc, entry) => {\n if (typeof entry === 'number' && Number.isFinite(entry)) {\n acc.push({ value: entry });\n return acc;\n }\n if (entry && typeof entry === 'object') {\n const record = entry as Record<string, unknown>;\n const value = record.value;\n if (typeof value === 'number' && Number.isFinite(value)) {\n acc.push({\n value,\n timestamp: typeof record.timestamp === 'string' ? record.timestamp : undefined,\n });\n }\n }\n return acc;\n }, []);\n\n return points.length >= MIN_SPARKLINE_POINTS ? points : undefined;\n}\n\n/**\n * Find a history series on a DataSink row, trying the known field names.\n *\n * Inference only — an explicit `kpi.sparklineData` on a `kpis[]` payload\n * bypasses this entirely, so a caller that deliberately supplies a series is\n * never second-guessed.\n */\nfunction extractSparklineFromRow(row: Record<string, unknown>): SparklineDataPoint[] | undefined {\n for (const field of SPARKLINE_FIELDS) {\n const points = toSparklinePoints(row[field]);\n if (points) return points;\n }\n return undefined;\n}\n\nfunction getTrendIcon(trend?: string): string {\n if (trend === 'up') return '↑';\n if (trend === 'down') return '↓';\n return '→';\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const KPIComparisonWidget: FC<KPIComparisonWidgetProps> = memo(function KPIComparisonWidget({\n widget,\n data,\n onClick,\n onDrilldown,\n}) {\n const hasDrilldown = !!widget.drilldown?.enabled;\n const config = widget.config as Record<string, unknown> | undefined;\n const conditionalRules = config?.conditionalRules as ConditionalRule[] | undefined;\n\n // Build KPIs array from data\n // Support multiple formats:\n // 1. data.kpis array (standard format)\n // 2. Single value from data.processed (e.g., 125000 from DataSink)\n // 3. data is a number/string directly\n // 4. Nested summary object (e.g., {sales: [...], summary: {totalSales: 123}})\n // 5. Array of objects from DataSink (e.g., [{month: \"Jan\", revenue: 45000}, ...])\n let kpis: KPIItem[] = [];\n\n // Get configured value field from widget config (for DataSink data)\n const valueField = (config?.valueField as string) || (config?.value_field as string) || 'value';\n const labelField = (config?.labelField as string) || (config?.label_field as string) || 'label';\n\n // Helper to convert object with numeric values to KPIs\n const objectToKpis = (obj: Record<string, unknown>): KPIItem[] => {\n const entries = Object.entries(obj);\n return entries\n .filter(([, v]) => typeof v === 'number')\n .map(([key, value]) => ({\n id: key,\n label: key.replace(/([A-Z])/g, ' $1').replace(/^./, (s) => s.toUpperCase()),\n value: value as number,\n unit:\n key.toLowerCase().includes('sales') ||\n key.toLowerCase().includes('revenue') ||\n key.toLowerCase().includes('value')\n ? '$'\n : undefined,\n }));\n };\n\n // Helper to extract KPI from a single data row using config fields\n const extractKpiFromRow = (row: Record<string, unknown>, index: number): KPIItem | null => {\n // Try to get value from configured field or common field names\n const valueCandidates = [valueField, 'value', 'revenue', 'amount', 'total', 'count', 'sales', 'growth'];\n let value: number | null = null;\n\n for (const field of valueCandidates) {\n if (typeof row[field] === 'number') {\n value = row[field] as number;\n break;\n }\n if (typeof row[field] === 'string' && !isNaN(parseFloat(row[field] as string))) {\n value = parseFloat(row[field] as string);\n break;\n }\n }\n\n if (value === null) {\n // Try to find any numeric field\n const numericEntry = Object.entries(row).find(([, v]) => typeof v === 'number');\n if (numericEntry) {\n value = numericEntry[1] as number;\n }\n }\n\n if (value === null) return null;\n\n // Try to get label from configured field or common field names\n const labelCandidates = [labelField, 'label', 'name', 'title', 'month', 'region', 'category'];\n let label = `Item ${index + 1}`;\n\n for (const field of labelCandidates) {\n if (row[field] && typeof row[field] === 'string') {\n label = row[field] as string;\n break;\n }\n }\n\n // Check for growth/trend fields\n const growthValue = row.growth ?? row.change ?? row.trend ?? row.percentChange;\n const trend =\n typeof growthValue === 'number' ? (growthValue > 0 ? 'up' : growthValue < 0 ? 'down' : 'stable') : undefined;\n\n return {\n id: `kpi-${index}`,\n label,\n value,\n unit:\n valueField.toLowerCase().includes('revenue') || valueField.toLowerCase().includes('sales') ? '$' : undefined,\n trend: trend as 'up' | 'down' | 'stable' | undefined,\n trendValue: typeof growthValue === 'number' ? growthValue : undefined,\n sparklineData: extractSparklineFromRow(row),\n };\n };\n\n if (data?.kpis && Array.isArray(data.kpis)) {\n // Standard KPIs array\n kpis = data.kpis;\n } else if (Array.isArray(data) && data.length > 0) {\n // Handle array of objects from DataSink — extract one KPI per row. The\n // display limit is applied uniformly further down so every data shape\n // (kpis array, object, row array) obeys the same rule.\n for (let i = 0; i < data.length; i++) {\n const row = data[i] as Record<string, unknown>;\n if (row && typeof row === 'object') {\n const kpi = extractKpiFromRow(row, i);\n if (kpi) kpis.push(kpi);\n }\n }\n\n // If we couldn't extract KPIs from rows, try to aggregate numeric fields\n if (kpis.length === 0 && data.length > 0) {\n const firstRow = data[0] as Record<string, unknown>;\n const numericFields = Object.entries(firstRow).filter(([, v]) => typeof v === 'number');\n\n // Create KPIs by aggregating (summing) each numeric field across all rows\n kpis = numericFields.map(([field]) => {\n const sum = data.reduce((acc, row) => {\n const val = (row as Record<string, unknown>)[field];\n return acc + (typeof val === 'number' ? val : 0);\n }, 0);\n\n return {\n id: field,\n label: field.replace(/([A-Z])/g, ' $1').replace(/^./, (s) => s.toUpperCase()),\n value: sum,\n unit: field.toLowerCase().includes('revenue') || field.toLowerCase().includes('sales') ? '$' : undefined,\n };\n });\n }\n } else if (typeof data === 'number' || typeof data === 'string') {\n // Single value - create a KPI from it using widget config\n const value = typeof data === 'string' ? parseFloat(data) : data;\n if (!isNaN(value)) {\n kpis = [\n {\n id: 'primary',\n label: ((config?.subtitle as string) || widget.title || 'Value').trim(),\n value,\n // KPIConfig.format's canonical value is 'percentage'; 'percent' is\n // tolerated only for hand-authored legacy configs. Matching just\n // 'percent' made this branch dead for every config the product writes.\n unit:\n config?.format === 'currency'\n ? '$'\n : config?.format === 'percentage' || config?.format === 'percent'\n ? '%'\n : undefined,\n },\n ];\n }\n } else if (data && typeof data === 'object' && !Array.isArray(data)) {\n const dataObj = data as Record<string, unknown>;\n\n // First, check if there's a nested 'summary' object with numeric values\n if ('summary' in dataObj && dataObj.summary && typeof dataObj.summary === 'object') {\n kpis = objectToKpis(dataObj.summary as Record<string, unknown>);\n }\n\n // If no KPIs from summary, try top-level numeric values\n if (kpis.length === 0) {\n kpis = objectToKpis(dataObj);\n }\n }\n\n // Single display limit for every data shape. Previously only the row-array\n // branch was capped (hard-coded at 4), so a 6-row parser output silently lost\n // two KPIs while an equivalent object payload rendered all six.\n // Floor first, then require at least 1 — a fractional limit between 0 and 1\n // passes a `> 0` check but floors to 0, which would render an empty grid\n // with nothing but the \"+N more\" footer.\n const rawMaxKpis = config?.maxKpis;\n const flooredMaxKpis = typeof rawMaxKpis === 'number' && Number.isFinite(rawMaxKpis) ? Math.floor(rawMaxKpis) : NaN;\n const maxKpis = flooredMaxKpis >= 1 ? flooredMaxKpis : undefined;\n const totalKpis = kpis.length;\n const visibleKpis = maxKpis === undefined ? kpis : kpis.slice(0, maxKpis);\n const hiddenKpiCount = totalKpis - visibleKpis.length;\n\n // The registry seeds the plural `showSparklines` (KPIConfig) while the shared\n // Style-tab panel writes the singular `showSparkline` (MetricCardConfig).\n // The Style tab is the user's deliberate action and the registry value is only\n // a default, so the singular key WINS when present. ANDing the two would let a\n // stale registry `false` silently override the checkbox, making it look inert.\n const showSparklines =\n typeof config?.showSparkline === 'boolean'\n ? config.showSparkline\n : typeof config?.showSparklines === 'boolean'\n ? config.showSparklines\n : true;\n\n // Falling is the win for churn / latency / error-rate style KPIs.\n const positiveIsGood = config?.positiveIsGood !== false;\n\n if (!kpis.length) {\n return (\n <div className=\"flex items-center justify-center h-full text-text-secondary text-sm\">\n <div className=\"text-center\">\n <svg className=\"w-12 h-12 mx-auto mb-2 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=\"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z\"\n />\n </svg>\n <p>No KPI data</p>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"h-full p-4 overflow-auto\">\n <div className=\"grid grid-cols-2 gap-3\">\n {visibleKpis.map((kpi, index) => {\n // Computed once per KPI — it gates the block, labels the percentage\n // and drives the bar width.\n const targetProgress = getTargetProgress(kpi.value, kpi.target);\n\n return (\n <div\n key={kpi.id ?? `kpi-${index}`}\n className={`\n p-3 rounded-lg border border-border-default bg-bg-sunken/30\n ${onClick || hasDrilldown ? 'cursor-pointer hover:border-action-primary-bg transition-colors' : ''}\n `}\n onClick={() => {\n // Trigger drilldown with KPI data if enabled\n if (hasDrilldown && onDrilldown) {\n onDrilldown({\n kpiId: kpi.id,\n kpiLabel: kpi.label,\n kpiValue: kpi.value,\n kpiUnit: kpi.unit,\n kpiTrend: kpi.trend,\n kpiTrendValue: kpi.trendValue,\n kpiTarget: kpi.target,\n kpiPreviousValue: kpi.previousValue,\n });\n }\n onClick?.(kpi);\n }}\n >\n {/* Label */}\n <p className=\"text-xs text-text-secondary truncate mb-1\">{kpi.label}</p>\n\n {/* Value (with optional threshold-based conditional color) */}\n <p\n className={`text-xl font-semibold ${\n conditionalStyleToClassName(\n resolveConditionalStyle(kpi.value, conditionalRules, { [kpi.label]: kpi.value, value: kpi.value })\n ) || 'text-text-primary'\n }`}\n >\n {formatValue(kpi.value, kpi.unit)}\n </p>\n\n {/* Trend */}\n {kpi.trendValue !== undefined && (\n <div className={`flex items-center gap-1 mt-1 text-xs ${getTrendColor(kpi.trend, positiveIsGood)}`}>\n <span>{getTrendIcon(kpi.trend)}</span>\n <span>\n {kpi.trendValue >= 0 ? '+' : ''}\n {kpi.trendValue.toFixed(1)}%\n </span>\n </div>\n )}\n\n {/* Sparkline — drawn when the KPI carries a history series and the\n Style-tab toggle is on. */}\n {showSparklines && kpi.sparklineData && kpi.sparklineData.length > 0 && (\n <div className=\"mt-2\">\n <SparklineChart\n data={kpi.sparklineData}\n width={120}\n height={28}\n color={getSparklineColor(kpi.trend, positiveIsGood)}\n />\n </div>\n )}\n\n {/* Target progress */}\n {targetProgress !== null && (\n <div className=\"mt-2\">\n <div className=\"flex justify-between text-[10px] text-text-muted mb-0.5\">\n <span>vs target</span>\n <span>{targetProgress.toFixed(0)}%</span>\n </div>\n <div className=\"h-1 bg-bg-sunken rounded-full overflow-hidden\">\n <div\n className={`h-full rounded-full ${\n kpi.target !== undefined && kpi.value >= kpi.target\n ? 'bg-status-success-bg'\n : 'bg-action-primary-bg'\n }`}\n style={{\n // Clamp both ends: a negative value would otherwise emit a\n // negative width, which the browser drops entirely.\n width: `${clampProgressWidth(targetProgress)}%`,\n }}\n />\n </div>\n </div>\n )}\n </div>\n );\n })}\n </div>\n\n {/* Never truncate silently — say how many KPIs are hidden by `maxKpis`. */}\n {hiddenKpiCount > 0 && (\n <p className=\"mt-2 text-xs text-text-tertiary text-center\">\n +{hiddenKpiCount} more {hiddenKpiCount === 1 ? 'KPI' : 'KPIs'} hidden\n </p>\n )}\n </div>\n );\n});\n\nexport default KPIComparisonWidget;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kpi-comparison/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,OAAO,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC"}
|