@burdenoff/microfe-bigconsole 2026.510.54
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 +88 -0
- package/dist/bigconsole/BigConsoleRoot.d.ts +29 -0
- package/dist/bigconsole/BigConsoleRoot.d.ts.map +1 -0
- package/dist/bigconsole/BigConsoleRoot.js +215 -0
- package/dist/bigconsole/BigConsoleRoot.js.map +1 -0
- package/dist/bigconsole/BigConsoleRoutes.d.ts +6 -0
- package/dist/bigconsole/BigConsoleRoutes.d.ts.map +1 -0
- package/dist/bigconsole/BigConsoleRoutes.js +239 -0
- package/dist/bigconsole/BigConsoleRoutes.js.map +1 -0
- package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts +11 -0
- package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts.map +1 -0
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js +199 -0
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +1 -0
- package/dist/bigconsole/components/DrilldownModal.d.ts +11 -0
- package/dist/bigconsole/components/DrilldownModal.d.ts.map +1 -0
- package/dist/bigconsole/components/DrilldownModal.js +117 -0
- package/dist/bigconsole/components/DrilldownModal.js.map +1 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts +19 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +430 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts +44 -0
- package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +342 -0
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts +25 -0
- package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardGrid.js +88 -0
- package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts +27 -0
- package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +131 -0
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -0
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts +26 -0
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +107 -0
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -0
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts +17 -0
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +342 -0
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts +12 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +449 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts +16 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +415 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts +13 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +315 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts +19 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +365 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts +8 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.js +3 -0
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts +10 -0
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +486 -0
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts +26 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +224 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts +6 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/index.js +1 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts +12 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +494 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts +6 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.js +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts +11 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +477 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts +6 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/index.js +1 -0
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts +19 -0
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +905 -0
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js.map +1 -0
- package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts +6 -0
- package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/TemplatePicker/index.js +1 -0
- package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts +23 -0
- package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/WidgetPalette.js +462 -0
- package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -0
- package/dist/bigconsole/components/dashboard/index.d.ts +19 -0
- package/dist/bigconsole/components/dashboard/index.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/index.js +20 -0
- package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts +18 -0
- package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js +247 -0
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -0
- package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts +21 -0
- package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts +20 -0
- package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkCard.d.ts +23 -0
- package/dist/bigconsole/components/datasink/DataSinkCard.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkCard.js +137 -0
- package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts +18 -0
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +43 -0
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts +17 -0
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +87 -0
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts +22 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts +17 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +88 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts +13 -0
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +98 -0
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts +13 -0
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +174 -0
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +1 -0
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts +17 -0
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +322 -0
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +1 -0
- package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts +31 -0
- package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts +10 -0
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +402 -0
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -0
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts +12 -0
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +128 -0
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +1 -0
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts +11 -0
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +204 -0
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +1 -0
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts +26 -0
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +301 -0
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -0
- package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts +13 -0
- package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/SetupStateBadge.js +107 -0
- package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +1 -0
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts +30 -0
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +163 -0
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +1 -0
- package/dist/bigconsole/components/datasink/index.d.ts +24 -0
- package/dist/bigconsole/components/datasink/index.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/DataSinkSelector.d.ts +21 -0
- package/dist/bigconsole/components/parser/DataSinkSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/DataSinkSelector.js +174 -0
- package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -0
- package/dist/bigconsole/components/parser/ExportParserDialog.d.ts +17 -0
- package/dist/bigconsole/components/parser/ExportParserDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ExportParserDialog.js +322 -0
- package/dist/bigconsole/components/parser/ExportParserDialog.js.map +1 -0
- package/dist/bigconsole/components/parser/ExpressionEditor.d.ts +25 -0
- package/dist/bigconsole/components/parser/ExpressionEditor.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ExpressionEditor.js +119 -0
- package/dist/bigconsole/components/parser/ExpressionEditor.js.map +1 -0
- package/dist/bigconsole/components/parser/ImportParserDialog.d.ts +12 -0
- package/dist/bigconsole/components/parser/ImportParserDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ImportParserDialog.js +427 -0
- package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -0
- package/dist/bigconsole/components/parser/ParserBuilder.d.ts +41 -0
- package/dist/bigconsole/components/parser/ParserBuilder.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserCard.d.ts +23 -0
- package/dist/bigconsole/components/parser/ParserCard.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserCard.js +248 -0
- package/dist/bigconsole/components/parser/ParserCard.js.map +1 -0
- package/dist/bigconsole/components/parser/ParserFormDialog.d.ts +42 -0
- package/dist/bigconsole/components/parser/ParserFormDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserSelector.d.ts +27 -0
- package/dist/bigconsole/components/parser/ParserSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserSelector.js +263 -0
- package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -0
- package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts +13 -0
- package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserStatusBadge.js +74 -0
- package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +1 -0
- package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts +11 -0
- package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserTypeBadge.js +48 -0
- package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +1 -0
- package/dist/bigconsole/components/parser/TestPanel.d.ts +25 -0
- package/dist/bigconsole/components/parser/TestPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/index.d.ts +17 -0
- package/dist/bigconsole/components/parser/index.d.ts.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineCard.d.ts +12 -0
- package/dist/bigconsole/components/pipeline/PipelineCard.d.ts.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineCard.js +159 -0
- package/dist/bigconsole/components/pipeline/PipelineCard.js.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts +11 -0
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +94 -0
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts +9 -0
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +36 -0
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +1 -0
- package/dist/bigconsole/components/pipeline/index.d.ts +9 -0
- package/dist/bigconsole/components/pipeline/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts +13 -0
- package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +671 -0
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -0
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts +26 -0
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +378 -0
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -0
- package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts +9 -0
- package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +1594 -0
- package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetConfigDialog.d.ts +25 -0
- package/dist/bigconsole/components/widgets/WidgetConfigDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetConfigDialog.js +882 -0
- package/dist/bigconsole/components/widgets/WidgetConfigDialog.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts +23 -0
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +75 -0
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetHeader.d.ts +31 -0
- package/dist/bigconsole/components/widgets/WidgetHeader.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetHeader.js +265 -0
- package/dist/bigconsole/components/widgets/WidgetHeader.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetMenu.d.ts +18 -0
- package/dist/bigconsole/components/widgets/WidgetMenu.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetMenu.js +296 -0
- package/dist/bigconsole/components/widgets/WidgetMenu.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts +113 -0
- package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetRegistry.js +836 -0
- package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts +16 -0
- package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetTypeSelector.js +291 -0
- package/dist/bigconsole/components/widgets/WidgetTypeSelector.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts +31 -0
- package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetWrapper.js +516 -0
- package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +1 -0
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts +38 -0
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +106 -0
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts +7 -0
- package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/adaptive-card/index.js +2 -0
- package/dist/bigconsole/components/widgets/area-chart/index.d.ts +12 -0
- package/dist/bigconsole/components/widgets/area-chart/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/bar-chart/index.d.ts +12 -0
- package/dist/bigconsole/components/widgets/bar-chart/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts +25 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +113 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/calendar/index.d.ts +3 -0
- package/dist/bigconsole/components/widgets/calendar/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/calendar/index.js +2 -0
- package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts +12 -0
- package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js +254 -0
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts +25 -0
- package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartLegend.js +40 -0
- package/dist/bigconsole/components/widgets/chart/ChartLegend.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts +24 -0
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.js +34 -0
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts +17 -0
- package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartWidget.js +151 -0
- package/dist/bigconsole/components/widgets/chart/ChartWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts +16 -0
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js +104 -0
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts +16 -0
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.js +90 -0
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts +18 -0
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js +70 -0
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts +16 -0
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.js +96 -0
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts +18 -0
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.js +98 -0
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/index.d.ts +12 -0
- package/dist/bigconsole/components/widgets/chart/charts/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/index.js +5 -0
- package/dist/bigconsole/components/widgets/chart/charts/types.d.ts +45 -0
- package/dist/bigconsole/components/widgets/chart/charts/types.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/index.d.ts +11 -0
- package/dist/bigconsole/components/widgets/chart/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/index.js +11 -0
- package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts +13 -0
- package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/custom/CustomWidget.js +201 -0
- package/dist/bigconsole/components/widgets/custom/CustomWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/custom/config.d.ts +9 -0
- package/dist/bigconsole/components/widgets/custom/config.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/custom/config.js +21 -0
- package/dist/bigconsole/components/widgets/custom/config.js.map +1 -0
- package/dist/bigconsole/components/widgets/custom/index.d.ts +8 -0
- package/dist/bigconsole/components/widgets/custom/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/custom/index.js +3 -0
- package/dist/bigconsole/components/widgets/custom/utils.d.ts +4 -0
- package/dist/bigconsole/components/widgets/custom/utils.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/custom/utils.js +13 -0
- package/dist/bigconsole/components/widgets/custom/utils.js.map +1 -0
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts +16 -0
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +377 -0
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -0
- package/dist/bigconsole/components/widgets/event-logs/index.d.ts +6 -0
- package/dist/bigconsole/components/widgets/event-logs/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/event-logs/index.js +1 -0
- package/dist/bigconsole/components/widgets/form/FormWidget.d.ts +27 -0
- package/dist/bigconsole/components/widgets/form/FormWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/form/FormWidget.js +486 -0
- package/dist/bigconsole/components/widgets/form/FormWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/form/index.d.ts +6 -0
- package/dist/bigconsole/components/widgets/form/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/form/index.js +2 -0
- package/dist/bigconsole/components/widgets/funnel/index.d.ts +12 -0
- package/dist/bigconsole/components/widgets/funnel/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/funnel/index.js +22 -0
- package/dist/bigconsole/components/widgets/funnel/index.js.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts +31 -0
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +77 -0
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts +12 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +180 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts +22 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +217 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts +28 -0
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +92 -0
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/index.d.ts +10 -0
- package/dist/bigconsole/components/widgets/gauge/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/index.js +5 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts +23 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js +98 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/heatmap/index.d.ts +7 -0
- package/dist/bigconsole/components/widgets/heatmap/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/heatmap/index.js +2 -0
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts +17 -0
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +45 -0
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts +3 -0
- package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/iframe-widget/index.js +2 -0
- package/dist/bigconsole/components/widgets/index.d.ts +34 -0
- package/dist/bigconsole/components/widgets/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/index.js +51 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts +29 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +92 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/kanban/index.d.ts +3 -0
- package/dist/bigconsole/components/widgets/kanban/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kanban/index.js +2 -0
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts +23 -0
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.js +83 -0
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/kpi/index.d.ts +7 -0
- package/dist/bigconsole/components/widgets/kpi/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kpi/index.js +1 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts +25 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +188 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts +3 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/index.js +2 -0
- package/dist/bigconsole/components/widgets/line-chart/index.d.ts +12 -0
- package/dist/bigconsole/components/widgets/line-chart/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListConfig.d.ts +12 -0
- package/dist/bigconsole/components/widgets/list/ListConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListConfig.js +131 -0
- package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListItem.d.ts +39 -0
- package/dist/bigconsole/components/widgets/list/ListItem.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListItem.js +103 -0
- package/dist/bigconsole/components/widgets/list/ListItem.js.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListWidget.d.ts +17 -0
- package/dist/bigconsole/components/widgets/list/ListWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListWidget.js +106 -0
- package/dist/bigconsole/components/widgets/list/ListWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/list/index.d.ts +9 -0
- package/dist/bigconsole/components/widgets/list/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/list/index.js +4 -0
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts +29 -0
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +125 -0
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/map-widget/index.d.ts +3 -0
- package/dist/bigconsole/components/widgets/map-widget/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/map-widget/index.js +2 -0
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts +15 -0
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js +34 -0
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts +12 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +158 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts +36 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +195 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts +23 -0
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +94 -0
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts +14 -0
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +55 -0
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/index.d.ts +11 -0
- package/dist/bigconsole/components/widgets/metric-card/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/index.js +6 -0
- package/dist/bigconsole/components/widgets/pie-chart/index.d.ts +12 -0
- package/dist/bigconsole/components/widgets/pie-chart/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts +26 -0
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +281 -0
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/pivot-table/index.d.ts +6 -0
- package/dist/bigconsole/components/widgets/pivot-table/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/pivot-table/index.js +2 -0
- package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts +29 -0
- package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressBar.js +94 -0
- package/dist/bigconsole/components/widgets/progress/ProgressBar.js.map +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts +12 -0
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +187 -0
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts +28 -0
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +201 -0
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/progress/index.d.ts +9 -0
- package/dist/bigconsole/components/widgets/progress/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/progress/index.js +4 -0
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts +25 -0
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +159 -0
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/retention/index.d.ts +7 -0
- package/dist/bigconsole/components/widgets/retention/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/retention/index.js +2 -0
- package/dist/bigconsole/components/widgets/states/EmptyState.d.ts +14 -0
- package/dist/bigconsole/components/widgets/states/EmptyState.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/states/EmptyState.js +61 -0
- package/dist/bigconsole/components/widgets/states/EmptyState.js.map +1 -0
- package/dist/bigconsole/components/widgets/states/ErrorState.d.ts +11 -0
- package/dist/bigconsole/components/widgets/states/ErrorState.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/states/ErrorState.js +56 -0
- package/dist/bigconsole/components/widgets/states/ErrorState.js.map +1 -0
- package/dist/bigconsole/components/widgets/states/LoadingState.d.ts +9 -0
- package/dist/bigconsole/components/widgets/states/LoadingState.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/states/LoadingState.js +21 -0
- package/dist/bigconsole/components/widgets/states/LoadingState.js.map +1 -0
- package/dist/bigconsole/components/widgets/states/index.d.ts +9 -0
- package/dist/bigconsole/components/widgets/states/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/states/index.js +3 -0
- package/dist/bigconsole/components/widgets/table/TableCell.d.ts +31 -0
- package/dist/bigconsole/components/widgets/table/TableCell.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableCell.js +65 -0
- package/dist/bigconsole/components/widgets/table/TableCell.js.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableConfig.d.ts +12 -0
- package/dist/bigconsole/components/widgets/table/TableConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableConfig.js +254 -0
- package/dist/bigconsole/components/widgets/table/TableConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableHeader.d.ts +32 -0
- package/dist/bigconsole/components/widgets/table/TableHeader.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableHeader.js +85 -0
- package/dist/bigconsole/components/widgets/table/TableHeader.js.map +1 -0
- package/dist/bigconsole/components/widgets/table/TablePagination.d.ts +23 -0
- package/dist/bigconsole/components/widgets/table/TablePagination.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/TablePagination.js +166 -0
- package/dist/bigconsole/components/widgets/table/TablePagination.js.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableWidget.d.ts +16 -0
- package/dist/bigconsole/components/widgets/table/TableWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableWidget.js +258 -0
- package/dist/bigconsole/components/widgets/table/TableWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/table/index.d.ts +11 -0
- package/dist/bigconsole/components/widgets/table/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/index.js +6 -0
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts +14 -0
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +47 -0
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/text-widget/index.d.ts +3 -0
- package/dist/bigconsole/components/widgets/text-widget/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/text-widget/index.js +2 -0
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts +31 -0
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +147 -0
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/timeline/index.d.ts +3 -0
- package/dist/bigconsole/components/widgets/timeline/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/timeline/index.js +2 -0
- package/dist/bigconsole/components/widgets/utils/inferFields.d.ts +45 -0
- package/dist/bigconsole/components/widgets/utils/inferFields.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/utils/inferFields.js +58 -0
- package/dist/bigconsole/components/widgets/utils/inferFields.js.map +1 -0
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts +16 -0
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +500 -0
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -0
- package/dist/bigconsole/components/widgets/webhook-config/index.d.ts +6 -0
- package/dist/bigconsole/components/widgets/webhook-config/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/webhook-config/index.js +1 -0
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts +26 -0
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +467 -0
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -0
- package/dist/bigconsole/components/widgets/widget-actions/index.d.ts +8 -0
- package/dist/bigconsole/components/widgets/widget-actions/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/widget-actions/index.js +1 -0
- package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts +19 -0
- package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowCard.d.ts +11 -0
- package/dist/bigconsole/components/workflow/WorkflowCard.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowCard.js +158 -0
- package/dist/bigconsole/components/workflow/WorkflowCard.js.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts +11 -0
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +94 -0
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts +13 -0
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +115 -0
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +1 -0
- package/dist/bigconsole/components/workflow/index.d.ts +10 -0
- package/dist/bigconsole/components/workflow/index.d.ts.map +1 -0
- package/dist/bigconsole/constants.d.ts +15 -0
- package/dist/bigconsole/constants.d.ts.map +1 -0
- package/dist/bigconsole/constants.js +6 -0
- package/dist/bigconsole/constants.js.map +1 -0
- package/dist/bigconsole/context/BigConsoleContext.d.ts +25 -0
- package/dist/bigconsole/context/BigConsoleContext.d.ts.map +1 -0
- package/dist/bigconsole/context/BigConsoleContext.js +53 -0
- package/dist/bigconsole/context/BigConsoleContext.js.map +1 -0
- package/dist/bigconsole/context/index.d.ts +2 -0
- package/dist/bigconsole/context/index.d.ts.map +1 -0
- package/dist/bigconsole/context/index.js +1 -0
- package/dist/bigconsole/contexts/CrossFilterContext.d.ts +48 -0
- package/dist/bigconsole/contexts/CrossFilterContext.d.ts.map +1 -0
- package/dist/bigconsole/contexts/CrossFilterContext.js +92 -0
- package/dist/bigconsole/contexts/CrossFilterContext.js.map +1 -0
- package/dist/bigconsole/contexts/NavigationContext.d.ts +45 -0
- package/dist/bigconsole/contexts/NavigationContext.d.ts.map +1 -0
- package/dist/bigconsole/contexts/NavigationContext.js +43 -0
- package/dist/bigconsole/contexts/NavigationContext.js.map +1 -0
- package/dist/bigconsole/contexts/index.d.ts +8 -0
- package/dist/bigconsole/contexts/index.d.ts.map +1 -0
- package/dist/bigconsole/contexts/index.js +2 -0
- package/dist/bigconsole/graphql/apollo-compat.d.ts +16 -0
- package/dist/bigconsole/graphql/apollo-compat.d.ts.map +1 -0
- package/dist/bigconsole/hooks/index.d.ts +35 -0
- package/dist/bigconsole/hooks/index.d.ts.map +1 -0
- package/dist/bigconsole/hooks/index.js +29 -0
- package/dist/bigconsole/hooks/useAutoRefresh.d.ts +51 -0
- package/dist/bigconsole/hooks/useAutoRefresh.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useAutoRefresh.js +93 -0
- package/dist/bigconsole/hooks/useAutoRefresh.js.map +1 -0
- package/dist/bigconsole/hooks/useCrossFilter.d.ts +79 -0
- package/dist/bigconsole/hooks/useCrossFilter.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useCrossFilter.js +63 -0
- package/dist/bigconsole/hooks/useCrossFilter.js.map +1 -0
- package/dist/bigconsole/hooks/useDashboardOperations.d.ts +43 -0
- package/dist/bigconsole/hooks/useDashboardOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDashboardOperations.js +187 -0
- package/dist/bigconsole/hooks/useDashboardOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useDashboardSharing.d.ts +60 -0
- package/dist/bigconsole/hooks/useDashboardSharing.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDashboardSharing.js +157 -0
- package/dist/bigconsole/hooks/useDashboardSharing.js.map +1 -0
- package/dist/bigconsole/hooks/useDashboardTemplates.d.ts +135 -0
- package/dist/bigconsole/hooks/useDashboardTemplates.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDashboardTemplates.js +298 -0
- package/dist/bigconsole/hooks/useDashboardTemplates.js.map +1 -0
- package/dist/bigconsole/hooks/useDashboardViews.d.ts +58 -0
- package/dist/bigconsole/hooks/useDashboardViews.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDashboardViews.js +170 -0
- package/dist/bigconsole/hooks/useDashboardViews.js.map +1 -0
- package/dist/bigconsole/hooks/useDataSinkOperations.d.ts +55 -0
- package/dist/bigconsole/hooks/useDataSinkOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDataSinkOperations.js +245 -0
- package/dist/bigconsole/hooks/useDataSinkOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts +31 -0
- package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDataSinkSubscription.js +127 -0
- package/dist/bigconsole/hooks/useDataSinkSubscription.js.map +1 -0
- package/dist/bigconsole/hooks/useDrilldown.d.ts +63 -0
- package/dist/bigconsole/hooks/useDrilldown.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDrilldown.js +192 -0
- package/dist/bigconsole/hooks/useDrilldown.js.map +1 -0
- package/dist/bigconsole/hooks/useDrilldownOperations.d.ts +42 -0
- package/dist/bigconsole/hooks/useDrilldownOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDrilldownOperations.js +62 -0
- package/dist/bigconsole/hooks/useDrilldownOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useEventLogs.d.ts +94 -0
- package/dist/bigconsole/hooks/useEventLogs.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useEventLogs.js +116 -0
- package/dist/bigconsole/hooks/useEventLogs.js.map +1 -0
- package/dist/bigconsole/hooks/useEventWebhooks.d.ts +91 -0
- package/dist/bigconsole/hooks/useEventWebhooks.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useEventWebhooks.js +138 -0
- package/dist/bigconsole/hooks/useEventWebhooks.js.map +1 -0
- package/dist/bigconsole/hooks/useExportDashboard.d.ts +28 -0
- package/dist/bigconsole/hooks/useExportDashboard.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useExportDashboard.js +65 -0
- package/dist/bigconsole/hooks/useExportDashboard.js.map +1 -0
- package/dist/bigconsole/hooks/useExportDataSink.d.ts +27 -0
- package/dist/bigconsole/hooks/useExportDataSink.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useExportDataSink.js +87 -0
- package/dist/bigconsole/hooks/useExportDataSink.js.map +1 -0
- package/dist/bigconsole/hooks/useExportParser.d.ts +25 -0
- package/dist/bigconsole/hooks/useExportParser.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useExportParser.js +81 -0
- package/dist/bigconsole/hooks/useExportParser.js.map +1 -0
- package/dist/bigconsole/hooks/useFilterPresets.d.ts +47 -0
- package/dist/bigconsole/hooks/useFilterPresets.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useFilterPresets.js +157 -0
- package/dist/bigconsole/hooks/useFilterPresets.js.map +1 -0
- package/dist/bigconsole/hooks/useFilterUrlSync.d.ts +46 -0
- package/dist/bigconsole/hooks/useFilterUrlSync.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useFilterUrlSync.js +179 -0
- package/dist/bigconsole/hooks/useFilterUrlSync.js.map +1 -0
- package/dist/bigconsole/hooks/useGlobalFilters.d.ts +69 -0
- package/dist/bigconsole/hooks/useGlobalFilters.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useGlobalFilters.js +154 -0
- package/dist/bigconsole/hooks/useGlobalFilters.js.map +1 -0
- package/dist/bigconsole/hooks/useImportDashboard.d.ts +88 -0
- package/dist/bigconsole/hooks/useImportDashboard.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useImportDashboard.js +157 -0
- package/dist/bigconsole/hooks/useImportDashboard.js.map +1 -0
- package/dist/bigconsole/hooks/useImportDataSink.d.ts +74 -0
- package/dist/bigconsole/hooks/useImportDataSink.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useImportDataSink.js +219 -0
- package/dist/bigconsole/hooks/useImportDataSink.js.map +1 -0
- package/dist/bigconsole/hooks/useImportParser.d.ts +77 -0
- package/dist/bigconsole/hooks/useImportParser.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useImportParser.js +222 -0
- package/dist/bigconsole/hooks/useImportParser.js.map +1 -0
- package/dist/bigconsole/hooks/useInstalledWidgets.d.ts +15 -0
- package/dist/bigconsole/hooks/useInstalledWidgets.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useInstalledWidgets.js +81 -0
- package/dist/bigconsole/hooks/useInstalledWidgets.js.map +1 -0
- package/dist/bigconsole/hooks/usePageOperations.d.ts +35 -0
- package/dist/bigconsole/hooks/usePageOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/usePageOperations.js +95 -0
- package/dist/bigconsole/hooks/usePageOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useParserOperations.d.ts +64 -0
- package/dist/bigconsole/hooks/useParserOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useParserOperations.js +151 -0
- package/dist/bigconsole/hooks/useParserOperations.js.map +1 -0
- package/dist/bigconsole/hooks/usePipelineOperations.d.ts +76 -0
- package/dist/bigconsole/hooks/usePipelineOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/usePipelineOperations.js +260 -0
- package/dist/bigconsole/hooks/usePipelineOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetActions.d.ts +69 -0
- package/dist/bigconsole/hooks/useWidgetActions.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetActions.js +114 -0
- package/dist/bigconsole/hooks/useWidgetActions.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetData.d.ts +45 -0
- package/dist/bigconsole/hooks/useWidgetData.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetData.js +83 -0
- package/dist/bigconsole/hooks/useWidgetData.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetEvents.d.ts +60 -0
- package/dist/bigconsole/hooks/useWidgetEvents.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetEvents.js +35 -0
- package/dist/bigconsole/hooks/useWidgetEvents.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetExport.d.ts +19 -0
- package/dist/bigconsole/hooks/useWidgetExport.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetExport.js +77 -0
- package/dist/bigconsole/hooks/useWidgetExport.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetOperations.d.ts +61 -0
- package/dist/bigconsole/hooks/useWidgetOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetOperations.js +248 -0
- package/dist/bigconsole/hooks/useWidgetOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useWorkflowOperations.d.ts +54 -0
- package/dist/bigconsole/hooks/useWorkflowOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWorkflowOperations.js +237 -0
- package/dist/bigconsole/hooks/useWorkflowOperations.js.map +1 -0
- package/dist/bigconsole/index.d.ts +30 -0
- package/dist/bigconsole/index.d.ts.map +1 -0
- package/dist/bigconsole/index.js +8 -0
- package/dist/bigconsole/modules/dashboard/index.d.ts +15 -0
- package/dist/bigconsole/modules/dashboard/index.d.ts.map +1 -0
- package/dist/bigconsole/modules/index.d.ts +15 -0
- package/dist/bigconsole/modules/index.d.ts.map +1 -0
- package/dist/bigconsole/modules/renderer/index.d.ts +8 -0
- package/dist/bigconsole/modules/renderer/index.d.ts.map +1 -0
- package/dist/bigconsole/modules/widget/index.d.ts +20 -0
- package/dist/bigconsole/modules/widget/index.d.ts.map +1 -0
- package/dist/bigconsole/pages/DashboardBuilderPage.d.ts +5 -0
- package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DashboardBuilderPage.js +398 -0
- package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -0
- package/dist/bigconsole/pages/DashboardViewPage.d.ts +5 -0
- package/dist/bigconsole/pages/DashboardViewPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DashboardViewPage.js +325 -0
- package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -0
- package/dist/bigconsole/pages/DashboardsPage.d.ts +5 -0
- package/dist/bigconsole/pages/DashboardsPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DashboardsPage.js +555 -0
- package/dist/bigconsole/pages/DashboardsPage.js.map +1 -0
- package/dist/bigconsole/pages/DataParsersPage.d.ts +9 -0
- package/dist/bigconsole/pages/DataParsersPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DataParsersPage.js +444 -0
- package/dist/bigconsole/pages/DataParsersPage.js.map +1 -0
- package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts +10 -0
- package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +538 -0
- package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -0
- package/dist/bigconsole/pages/DataSinkViewPage.d.ts +8 -0
- package/dist/bigconsole/pages/DataSinkViewPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DataSinkViewPage.js +342 -0
- package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -0
- package/dist/bigconsole/pages/DataSinksPage.d.ts +5 -0
- package/dist/bigconsole/pages/DataSinksPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DataSinksPage.js +835 -0
- package/dist/bigconsole/pages/DataSinksPage.js.map +1 -0
- package/dist/bigconsole/pages/DataSourcesPage.d.ts +10 -0
- package/dist/bigconsole/pages/DataSourcesPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DataSourcesPage.js +18 -0
- package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -0
- package/dist/bigconsole/pages/HomePage.d.ts +5 -0
- package/dist/bigconsole/pages/HomePage.d.ts.map +1 -0
- package/dist/bigconsole/pages/HomePage.js +338 -0
- package/dist/bigconsole/pages/HomePage.js.map +1 -0
- package/dist/bigconsole/pages/InsightsPage.d.ts +5 -0
- package/dist/bigconsole/pages/InsightsPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/InsightsPage.js +586 -0
- package/dist/bigconsole/pages/InsightsPage.js.map +1 -0
- package/dist/bigconsole/pages/ParserBuilderPage.d.ts +9 -0
- package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/ParserBuilderPage.js +727 -0
- package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -0
- package/dist/bigconsole/pages/ParserViewPage.d.ts +8 -0
- package/dist/bigconsole/pages/ParserViewPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/ParserViewPage.js +394 -0
- package/dist/bigconsole/pages/ParserViewPage.js.map +1 -0
- package/dist/bigconsole/pages/PipelineBuilderPage.d.ts +9 -0
- package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/PipelineBuilderPage.js +585 -0
- package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -0
- package/dist/bigconsole/pages/PipelineViewPage.d.ts +9 -0
- package/dist/bigconsole/pages/PipelineViewPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/PipelineViewPage.js +483 -0
- package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -0
- package/dist/bigconsole/pages/PipelinesPage.d.ts +9 -0
- package/dist/bigconsole/pages/PipelinesPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/PipelinesPage.js +375 -0
- package/dist/bigconsole/pages/PipelinesPage.js.map +1 -0
- package/dist/bigconsole/pages/SettingsPage.d.ts +5 -0
- package/dist/bigconsole/pages/SettingsPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/SettingsPage.js +478 -0
- package/dist/bigconsole/pages/SettingsPage.js.map +1 -0
- package/dist/bigconsole/pages/WidgetDemoPage.d.ts +5 -0
- package/dist/bigconsole/pages/WidgetDemoPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/WidgetDemoPage.js +257 -0
- package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -0
- package/dist/bigconsole/pages/WorkflowViewPage.d.ts +9 -0
- package/dist/bigconsole/pages/WorkflowViewPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/WorkflowViewPage.js +532 -0
- package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -0
- package/dist/bigconsole/pages/WorkflowsPage.d.ts +9 -0
- package/dist/bigconsole/pages/WorkflowsPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/WorkflowsPage.js +384 -0
- package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -0
- package/dist/bigconsole/pages/index.d.ts +14 -0
- package/dist/bigconsole/pages/index.d.ts.map +1 -0
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts +6 -0
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts.map +1 -0
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +471 -0
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +1 -0
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts +9 -0
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts.map +1 -0
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js +66 -0
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js.map +1 -0
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts +6 -0
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts.map +1 -0
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +384 -0
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +1 -0
- package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts +46 -0
- package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts.map +1 -0
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js +172 -0
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +1 -0
- package/dist/bigconsole/renderers/adapters/index.d.ts +10 -0
- package/dist/bigconsole/renderers/adapters/index.d.ts.map +1 -0
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts +46 -0
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts.map +1 -0
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js +55 -0
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js.map +1 -0
- package/dist/bigconsole/renderers/index.d.ts +10 -0
- package/dist/bigconsole/renderers/index.d.ts.map +1 -0
- package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts +42 -0
- package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts.map +1 -0
- package/dist/bigconsole/renderers/registry/RendererRegistry.js +139 -0
- package/dist/bigconsole/renderers/registry/RendererRegistry.js.map +1 -0
- package/dist/bigconsole/renderers/types/index.d.ts +7 -0
- package/dist/bigconsole/renderers/types/index.d.ts.map +1 -0
- package/dist/bigconsole/renderers/types/renderer.d.ts +228 -0
- package/dist/bigconsole/renderers/types/renderer.d.ts.map +1 -0
- package/dist/bigconsole/store/dashboardStore.d.ts +132 -0
- package/dist/bigconsole/store/dashboardStore.d.ts.map +1 -0
- package/dist/bigconsole/store/dashboardStore.js +246 -0
- package/dist/bigconsole/store/dashboardStore.js.map +1 -0
- package/dist/bigconsole/store/dataSinkStore.d.ts +94 -0
- package/dist/bigconsole/store/dataSinkStore.d.ts.map +1 -0
- package/dist/bigconsole/store/dataSinkStore.js +138 -0
- package/dist/bigconsole/store/dataSinkStore.js.map +1 -0
- package/dist/bigconsole/store/drilldownStore.d.ts +63 -0
- package/dist/bigconsole/store/drilldownStore.d.ts.map +1 -0
- package/dist/bigconsole/store/drilldownStore.js +69 -0
- package/dist/bigconsole/store/drilldownStore.js.map +1 -0
- package/dist/bigconsole/store/index.d.ts +13 -0
- package/dist/bigconsole/store/index.d.ts.map +1 -0
- package/dist/bigconsole/store/index.js +7 -0
- package/dist/bigconsole/store/parserStore.d.ts +106 -0
- package/dist/bigconsole/store/parserStore.d.ts.map +1 -0
- package/dist/bigconsole/store/parserStore.js +175 -0
- package/dist/bigconsole/store/parserStore.js.map +1 -0
- package/dist/bigconsole/store/pipelineStore.d.ts +113 -0
- package/dist/bigconsole/store/pipelineStore.d.ts.map +1 -0
- package/dist/bigconsole/store/pipelineStore.js +231 -0
- package/dist/bigconsole/store/pipelineStore.js.map +1 -0
- package/dist/bigconsole/store/widgetStore.d.ts +106 -0
- package/dist/bigconsole/store/widgetStore.d.ts.map +1 -0
- package/dist/bigconsole/store/widgetStore.js +217 -0
- package/dist/bigconsole/store/widgetStore.js.map +1 -0
- package/dist/bigconsole/store/workflowStore.d.ts +120 -0
- package/dist/bigconsole/store/workflowStore.d.ts.map +1 -0
- package/dist/bigconsole/store/workflowStore.js +193 -0
- package/dist/bigconsole/store/workflowStore.js.map +1 -0
- package/dist/bigconsole/types/index.d.ts +1233 -0
- package/dist/bigconsole/types/index.d.ts.map +1 -0
- package/dist/bigconsole/utils/index.d.ts +9 -0
- package/dist/bigconsole/utils/index.d.ts.map +1 -0
- package/dist/bigconsole/utils/semanticTokens.d.ts +88 -0
- package/dist/bigconsole/utils/semanticTokens.d.ts.map +1 -0
- package/dist/bigconsole/utils/semanticTokens.js +41 -0
- package/dist/bigconsole/utils/semanticTokens.js.map +1 -0
- package/dist/bigconsole/utils/widgetPositioning.d.ts +81 -0
- package/dist/bigconsole/utils/widgetPositioning.d.ts.map +1 -0
- package/dist/bigconsole/utils/widgetPositioning.js +44 -0
- package/dist/bigconsole/utils/widgetPositioning.js.map +1 -0
- package/dist/bigconsole/utils/widgetTypeMapping.d.ts +34 -0
- package/dist/bigconsole/utils/widgetTypeMapping.d.ts.map +1 -0
- package/dist/bigconsole/utils/widgetTypeMapping.js +56 -0
- package/dist/bigconsole/utils/widgetTypeMapping.js.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +20716 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +9514 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-operations.js +1993 -0
- package/dist/generated/wspace-operations.js.map +1 -0
- package/dist/generated/wspace-types.d.ts +53363 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/microfe-bigconsole.css +2 -0
- package/dist/utils/nativeBridge.d.ts +3 -0
- package/dist/utils/nativeBridge.d.ts.map +1 -0
- package/dist/utils/nativeBridge.js +2 -0
- package/package.json +118 -0
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
import { useIsWidgetSelected as e, useWidgetStore as t, useWidgetUIState as n } from "../../store/widgetStore.js";
|
|
2
|
+
import { useDashboardStore as r, useGlobalFilterValues as i } from "../../store/dashboardStore.js";
|
|
3
|
+
import "../../store/index.js";
|
|
4
|
+
import a from "../../hooks/useWidgetData.js";
|
|
5
|
+
import { formatTimeUntilRefresh as o, useWidgetAutoRefresh as ee } from "../../hooks/useAutoRefresh.js";
|
|
6
|
+
import te from "../../hooks/useWidgetExport.js";
|
|
7
|
+
import ne from "../../hooks/useDrilldown.js";
|
|
8
|
+
import "../../hooks/index.js";
|
|
9
|
+
import { getWidgetDefinition as re } from "./WidgetRegistry.js";
|
|
10
|
+
import ie from "./WidgetHeader.js";
|
|
11
|
+
import s from "./states/LoadingState.js";
|
|
12
|
+
import ae from "./states/ErrorState.js";
|
|
13
|
+
import c from "./states/EmptyState.js";
|
|
14
|
+
import l from "./WidgetErrorBoundary.js";
|
|
15
|
+
import { hasCustomIframeConfig as u, hasRenderableCustomConfig as oe } from "./custom/config.js";
|
|
16
|
+
import se from "../../renderers/factory/WidgetRendererFactory.js";
|
|
17
|
+
import d from "./widget-actions/WidgetActions.js";
|
|
18
|
+
import "./widget-actions/index.js";
|
|
19
|
+
import { Suspense as ce, lazy as f, memo as p, useCallback as m, useEffect as le, useMemo as h, useRef as g } from "react";
|
|
20
|
+
import { jsx as _, jsxs as ue } from "react/jsx-runtime";
|
|
21
|
+
//#region src/bigconsole/components/widgets/WidgetWrapper.tsx
|
|
22
|
+
var de = f(() => import("./metric-card/index.js").then((e) => ({ default: e.MetricCardWidget }))), v = f(() => import("./chart/index.js").then((e) => ({ default: e.ChartWidget }))), y = f(() => import("./table/index.js").then((e) => ({ default: e.TableWidget }))), fe = f(() => import("./gauge/index.js").then((e) => ({ default: e.GaugeWidget }))), pe = f(() => import("./progress/index.js").then((e) => ({ default: e.ProgressWidget }))), me = f(() => import("./list/index.js").then((e) => ({ default: e.ListWidget }))), he = f(() => import("./heatmap/index.js").then((e) => ({ default: e.HeatmapWidget }))), ge = f(() => import("./calendar/index.js").then((e) => ({ default: e.CalendarWidget }))), _e = f(() => import("./kanban/index.js").then((e) => ({ default: e.KanbanWidget }))), ve = f(() => import("./timeline/index.js").then((e) => ({ default: e.TimelineWidget }))), ye = f(() => import("./kpi-comparison/index.js").then((e) => ({ default: e.KPIComparisonWidget }))), be = f(() => import("./text-widget/index.js").then((e) => ({ default: e.TextWidget }))), xe = f(() => import("./map-widget/index.js").then((e) => ({ default: e.MapWidget }))), Se = f(() => import("./iframe-widget/index.js").then((e) => ({ default: e.IframeWidget }))), Ce = f(() => import("./custom/index.js").then((e) => ({ default: e.CustomWidget }))), we = f(() => import("./adaptive-card/index.js").then((e) => ({ default: e.AdaptiveCardWidget })));
|
|
23
|
+
function b(e, t) {
|
|
24
|
+
if (e.widget.id !== t.widget.id || e.widget.updatedAt !== t.widget.updatedAt || e.isLoading !== t.isLoading || e.error !== t.error || (e.actions?.length ?? 0) !== (t.actions?.length ?? 0)) return !1;
|
|
25
|
+
if (e.actions && t.actions) {
|
|
26
|
+
for (let n = 0; n < e.actions.length; n++) if (e.actions[n]?.id !== t.actions[n]?.id) return !1;
|
|
27
|
+
}
|
|
28
|
+
return !(e.data !== t.data || JSON.stringify(e.filterValues) !== JSON.stringify(t.filterValues));
|
|
29
|
+
}
|
|
30
|
+
var x = p(function({ widget: f, children: p, data: b, className: x = "", isLoading: Te, error: Ee, onRefresh: S, onDrilldown: C, actions: w, onAction: T, filterValues: E }) {
|
|
31
|
+
let D = r((e) => e.viewMode === "edit"), O = t((e) => e.selectWidget), k = e(f.id), A = n(f.id), j = i(), De = !!f.dataSinkId || !!f.datasetId || !!f.parserId, { data: M, loading: Oe } = a(f.id, {
|
|
32
|
+
skip: !De,
|
|
33
|
+
pollInterval: (f.refreshInterval ?? 0) * 1e3 || 0
|
|
34
|
+
}), N = h(() => {
|
|
35
|
+
if (typeof window > "u") return {};
|
|
36
|
+
let e = new URLSearchParams(window.location.search), t = {};
|
|
37
|
+
return e.forEach((e, n) => {
|
|
38
|
+
if (n.startsWith("filter_")) {
|
|
39
|
+
let r = n.slice(7);
|
|
40
|
+
r.startsWith("__") || (t[r] = e);
|
|
41
|
+
}
|
|
42
|
+
}), t;
|
|
43
|
+
}, []), P = h(() => {
|
|
44
|
+
let e = {};
|
|
45
|
+
return N && Object.keys(N).length > 0 && Object.assign(e, N), j && Object.keys(j).length > 0 && Object.assign(e, j), E && Object.keys(E).length > 0 && Object.assign(e, E), e;
|
|
46
|
+
}, [
|
|
47
|
+
N,
|
|
48
|
+
j,
|
|
49
|
+
E
|
|
50
|
+
]), F = Object.keys(P).length > 0, I = Te ?? (Oe && !M) ?? A.isLoading, L = Ee ?? A.errorMessage, ke = re(f.type), R = g(S);
|
|
51
|
+
le(() => {
|
|
52
|
+
R.current = S;
|
|
53
|
+
}, [S]);
|
|
54
|
+
let Ae = m(async () => {
|
|
55
|
+
R.current && await R.current();
|
|
56
|
+
}, []), { timeUntilRefresh: je, isPaused: Me } = ee({
|
|
57
|
+
widgetId: f.id,
|
|
58
|
+
refreshInterval: f.refreshInterval,
|
|
59
|
+
onRefresh: Ae,
|
|
60
|
+
enabled: !D && !!f.refreshInterval
|
|
61
|
+
}), z = g(null), B = h(() => {
|
|
62
|
+
if (b && Array.isArray(b)) return b;
|
|
63
|
+
let e = f.data;
|
|
64
|
+
if (e?.processed && Array.isArray(e.processed)) return e.processed;
|
|
65
|
+
if (e?.raw) {
|
|
66
|
+
let t = typeof e.raw == "string" ? JSON.parse(e.raw) : e.raw;
|
|
67
|
+
if (Array.isArray(t)) return t;
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}, [b, f]), { exportCSV: Ne, exportPNG: Pe } = te(f, {
|
|
71
|
+
data: B,
|
|
72
|
+
containerRef: z
|
|
73
|
+
}), V = m((e) => {
|
|
74
|
+
if (e == null) return !1;
|
|
75
|
+
if (Array.isArray(e)) return e.length > 0;
|
|
76
|
+
if (typeof e == "object") {
|
|
77
|
+
let t = e, n = Object.keys(t);
|
|
78
|
+
return n.length === 0 ? !1 : n.some((e) => {
|
|
79
|
+
let n = t[e];
|
|
80
|
+
return n == null || n === "" ? !1 : Array.isArray(n) ? n.length > 0 : typeof n == "object" ? V(n) : !0;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return !0;
|
|
84
|
+
}, []), H = m((e) => {
|
|
85
|
+
if (!F || !e) return e;
|
|
86
|
+
let t = {}, n = {};
|
|
87
|
+
Object.entries(P || {}).forEach(([e, r]) => {
|
|
88
|
+
if (e.startsWith("ctx_")) {
|
|
89
|
+
let n = e.slice(4);
|
|
90
|
+
t[n] = r;
|
|
91
|
+
} else e.startsWith("__") || (n[e] = r);
|
|
92
|
+
});
|
|
93
|
+
let r = (e, t) => {
|
|
94
|
+
if (t == null || t === "") return !0;
|
|
95
|
+
if (e == null) return !1;
|
|
96
|
+
let n = String(e).toLowerCase(), r = String(t).toLowerCase();
|
|
97
|
+
return n === r || n.includes(r);
|
|
98
|
+
}, i = (e, t) => {
|
|
99
|
+
let n = t.toLowerCase();
|
|
100
|
+
if (e[t] !== void 0) return e[t];
|
|
101
|
+
let r = Object.keys(e).find((e) => e.toLowerCase() === n);
|
|
102
|
+
if (r) return e[r];
|
|
103
|
+
let i = Object.keys(e).find((e) => e.toLowerCase().includes(n) || n.includes(e.toLowerCase()));
|
|
104
|
+
if (i) return e[i];
|
|
105
|
+
for (let t of [
|
|
106
|
+
"kpi",
|
|
107
|
+
"row",
|
|
108
|
+
"item",
|
|
109
|
+
"data",
|
|
110
|
+
"cell",
|
|
111
|
+
"record",
|
|
112
|
+
"entry"
|
|
113
|
+
]) if (n.startsWith(t) && n.length > t.length) {
|
|
114
|
+
let r = n.slice(t.length), i = Object.keys(e).find((e) => e.toLowerCase() === r);
|
|
115
|
+
if (i) return e[i];
|
|
116
|
+
}
|
|
117
|
+
}, a = (e) => e.filter((e) => {
|
|
118
|
+
for (let [n, a] of Object.entries(t)) {
|
|
119
|
+
if (a == null || a === "") continue;
|
|
120
|
+
let t = i(e, n);
|
|
121
|
+
if (t !== void 0 && !r(t, a)) return !1;
|
|
122
|
+
}
|
|
123
|
+
for (let [t, a] of Object.entries(n)) {
|
|
124
|
+
if (a == null || a === "") continue;
|
|
125
|
+
if (typeof a == "object") {
|
|
126
|
+
let t = a;
|
|
127
|
+
if (t.start || t.end) {
|
|
128
|
+
let n = Object.entries(e).filter(([e, t]) => e.toLowerCase().includes("date") || e.toLowerCase().includes("time"));
|
|
129
|
+
if (n.length > 0) {
|
|
130
|
+
let e = new Date(n[0][1]);
|
|
131
|
+
if (t.start && e < new Date(t.start) || t.end && e > new Date(t.end)) return !1;
|
|
132
|
+
}
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (typeof a == "object") {
|
|
137
|
+
let t = a;
|
|
138
|
+
if (t.min !== void 0 || t.max !== void 0) {
|
|
139
|
+
let n = Object.entries(e).filter(([e, t]) => typeof t == "number");
|
|
140
|
+
if (n.length > 0) {
|
|
141
|
+
let e = n[0][1];
|
|
142
|
+
if (t.min !== void 0 && e < t.min || t.max !== void 0 && e > t.max) return !1;
|
|
143
|
+
}
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
let n = i(e, t);
|
|
148
|
+
if (n !== void 0) {
|
|
149
|
+
if (!r(n, a)) return !1;
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
let o = String(a).toLowerCase();
|
|
153
|
+
if (!Object.values(e).map((e) => String(e).toLowerCase()).some((e) => e === o || e.includes(o))) {
|
|
154
|
+
let t = Object.keys(e).map((e) => e.toLowerCase()).filter((e) => e.includes("category") || e.includes("type") || e.includes("status") || e.includes("name") || e.includes("region") || e.includes("group")), n = !1;
|
|
155
|
+
for (let r of t) {
|
|
156
|
+
let t = Object.keys(e).find((e) => e.toLowerCase() === r);
|
|
157
|
+
if (t) {
|
|
158
|
+
let r = String(e[t]).toLowerCase();
|
|
159
|
+
if (r === o || r.includes(o)) {
|
|
160
|
+
n = !0;
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
if (!n) return !1;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return !0;
|
|
169
|
+
});
|
|
170
|
+
if (Array.isArray(e)) return a(e);
|
|
171
|
+
if (e && typeof e == "object") {
|
|
172
|
+
for (let t of [
|
|
173
|
+
"kpis",
|
|
174
|
+
"rows",
|
|
175
|
+
"items",
|
|
176
|
+
"members",
|
|
177
|
+
"questions",
|
|
178
|
+
"data",
|
|
179
|
+
"records",
|
|
180
|
+
"results",
|
|
181
|
+
"entries",
|
|
182
|
+
"list",
|
|
183
|
+
"values",
|
|
184
|
+
"series",
|
|
185
|
+
"datasets"
|
|
186
|
+
]) if (e[t] && Array.isArray(e[t])) {
|
|
187
|
+
let n = a(e[t]);
|
|
188
|
+
return {
|
|
189
|
+
...e,
|
|
190
|
+
[t]: n,
|
|
191
|
+
...t === "rows" ? { totalRows: n.length } : {}
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
let t = Object.entries(e).filter(([e, t]) => Array.isArray(t));
|
|
195
|
+
if (t.length > 0) {
|
|
196
|
+
let [n, r] = t[0], i = a(r);
|
|
197
|
+
return {
|
|
198
|
+
...e,
|
|
199
|
+
[n]: i
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
return e;
|
|
204
|
+
}, [
|
|
205
|
+
F,
|
|
206
|
+
P,
|
|
207
|
+
f.id
|
|
208
|
+
]), U = h(() => {
|
|
209
|
+
let e = null;
|
|
210
|
+
if (b && V(b)) e = b;
|
|
211
|
+
else if (M) {
|
|
212
|
+
let t = M;
|
|
213
|
+
if (t?.processed && V(t.processed)) e = t.processed;
|
|
214
|
+
else if (t?.raw) try {
|
|
215
|
+
let n = typeof t.raw == "string" ? JSON.parse(t.raw) : t.raw;
|
|
216
|
+
V(n) && (e = n);
|
|
217
|
+
} catch {}
|
|
218
|
+
} else {
|
|
219
|
+
let t = f.data;
|
|
220
|
+
if (t?.processed && V(t.processed)) e = t.processed;
|
|
221
|
+
else if (t?.raw) try {
|
|
222
|
+
let n = typeof t.raw == "string" ? JSON.parse(t.raw) : t.raw;
|
|
223
|
+
V(n) && (e = n);
|
|
224
|
+
} catch {}
|
|
225
|
+
}
|
|
226
|
+
if (!e) {
|
|
227
|
+
let t = f.config?.mockData;
|
|
228
|
+
if (t) try {
|
|
229
|
+
let n = typeof t == "string" ? JSON.parse(t) : t;
|
|
230
|
+
V(n) && (e = n);
|
|
231
|
+
} catch {}
|
|
232
|
+
}
|
|
233
|
+
return F && e ? H(e) : e;
|
|
234
|
+
}, [
|
|
235
|
+
b,
|
|
236
|
+
f,
|
|
237
|
+
M,
|
|
238
|
+
F,
|
|
239
|
+
H,
|
|
240
|
+
P,
|
|
241
|
+
V
|
|
242
|
+
]), W = h(() => U ?? null, [U]), { executeDrilldown: G, canDrilldown: K } = ne({ onDrilldown: (e, t) => {
|
|
243
|
+
C?.(e);
|
|
244
|
+
} }), q = h(() => K(f), [f, K]), J = m((e) => {
|
|
245
|
+
if (!f.drilldown?.enabled) return;
|
|
246
|
+
let t = {
|
|
247
|
+
selectedData: e || {},
|
|
248
|
+
globalFilters: j || {},
|
|
249
|
+
widgetData: W || {},
|
|
250
|
+
metadata: {
|
|
251
|
+
widgetId: f.id,
|
|
252
|
+
widgetType: f.type,
|
|
253
|
+
widgetTitle: f.title
|
|
254
|
+
},
|
|
255
|
+
sourceDashboardId: f.dashboardId
|
|
256
|
+
};
|
|
257
|
+
G(f.drilldown, t);
|
|
258
|
+
}, [
|
|
259
|
+
f,
|
|
260
|
+
W,
|
|
261
|
+
j,
|
|
262
|
+
G
|
|
263
|
+
]), Y = g(null), Fe = m((e) => {
|
|
264
|
+
Y.current = {
|
|
265
|
+
x: e.clientX,
|
|
266
|
+
y: e.clientY
|
|
267
|
+
};
|
|
268
|
+
}, []), Ie = m((e) => {
|
|
269
|
+
if (e.stopPropagation(), Y.current) {
|
|
270
|
+
let t = Math.abs(e.clientX - Y.current.x), n = Math.abs(e.clientY - Y.current.y);
|
|
271
|
+
if (t > 5 || n > 5) {
|
|
272
|
+
Y.current = null;
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
Y.current = null, D && O(f.id);
|
|
277
|
+
}, [
|
|
278
|
+
D,
|
|
279
|
+
O,
|
|
280
|
+
f.id
|
|
281
|
+
]), Le = m((e) => {
|
|
282
|
+
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), e.stopPropagation(), D && O(f.id));
|
|
283
|
+
}, [
|
|
284
|
+
D,
|
|
285
|
+
O,
|
|
286
|
+
f.id
|
|
287
|
+
]), Re = h(() => f.type === "custom" && oe(f.config), [f.type, f.config]), ze = h(() => f.type === "custom" && u(f.config), [f.type, f.config]), X = q && !ze, Be = !I && !L && !W && !Re, Z = h(() => f.renderer, [f]), Q = h(() => Z && Z !== "BIGCONSOLE", [Z]), Ve = h(() => ({
|
|
288
|
+
widgetId: f.id,
|
|
289
|
+
data: W || {}
|
|
290
|
+
}), [f.id, W]), $ = m((e, t) => {
|
|
291
|
+
if (!T) return;
|
|
292
|
+
let n = w?.find((t) => t.name === e.name);
|
|
293
|
+
T(n || e, t);
|
|
294
|
+
}, [T, w]), He = m(() => {
|
|
295
|
+
let e = {
|
|
296
|
+
widget: f,
|
|
297
|
+
data: (() => {
|
|
298
|
+
if (!W) return W;
|
|
299
|
+
if (f.type === "table" || f.type === "pivot_table") {
|
|
300
|
+
if (Array.isArray(W)) return W;
|
|
301
|
+
if (W && typeof W == "object" && "rows" in W) return W.rows;
|
|
302
|
+
}
|
|
303
|
+
if (f.type === "list") {
|
|
304
|
+
if (Array.isArray(W)) return W;
|
|
305
|
+
if (W && typeof W == "object" && "items" in W) return W.items;
|
|
306
|
+
}
|
|
307
|
+
if (f.type === "funnel_chart") {
|
|
308
|
+
if (Array.isArray(W)) return W;
|
|
309
|
+
if (W && typeof W == "object" && "stages" in W) return W.stages;
|
|
310
|
+
}
|
|
311
|
+
if (f.type === "chart") {
|
|
312
|
+
if (Array.isArray(W)) return W;
|
|
313
|
+
if (W && typeof W == "object" && "datasets" in W) {
|
|
314
|
+
let e = W;
|
|
315
|
+
if (e.labels && e.datasets) return e.labels.map((t, n) => {
|
|
316
|
+
let r = { name: t };
|
|
317
|
+
return e.datasets?.forEach((e) => {
|
|
318
|
+
r[e.name.toLowerCase()] = e.data[n];
|
|
319
|
+
}), r;
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
if (f.type === "text" && W && typeof W == "object" && !("content" in W)) {
|
|
324
|
+
let e = W, t = [];
|
|
325
|
+
for (let [n, r] of Object.entries(e)) if (r && typeof r == "object" && !Array.isArray(r)) {
|
|
326
|
+
t.push(`### ${n}`);
|
|
327
|
+
for (let [e, n] of Object.entries(r)) t.push(`- **${e}:** ${n}`);
|
|
328
|
+
} else Array.isArray(r) ? (t.push(`### ${n}`), r.slice(0, 10).forEach((e) => {
|
|
329
|
+
if (e && typeof e == "object") {
|
|
330
|
+
let n = Object.entries(e);
|
|
331
|
+
t.push(`- ${n.map(([e, t]) => `**${e}:** ${t}`).join(" | ")}`);
|
|
332
|
+
} else t.push(`- ${e}`);
|
|
333
|
+
})) : t.push(`- **${n}:** ${r}`);
|
|
334
|
+
return {
|
|
335
|
+
content: t.join("\n"),
|
|
336
|
+
format: "markdown"
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
if (f.type === "custom") {
|
|
340
|
+
let e = f.config?.valueField;
|
|
341
|
+
if (e && W && typeof W == "object" && !Array.isArray(W)) {
|
|
342
|
+
let t = W;
|
|
343
|
+
if (e in t) return {
|
|
344
|
+
value: t[e],
|
|
345
|
+
label: f.title,
|
|
346
|
+
data: t
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
return W;
|
|
351
|
+
})(),
|
|
352
|
+
onDrilldown: q ? J : void 0
|
|
353
|
+
};
|
|
354
|
+
if (Q) {
|
|
355
|
+
let e = {};
|
|
356
|
+
if (U && typeof U == "object" && !Array.isArray(U) && Object.keys(U).length > 0 && (e = { ...U }), f.config?._internalWidgetType === "custom" && Object.keys(e).length > 0) {
|
|
357
|
+
let t = f.config?.valueField;
|
|
358
|
+
if (t && t in e) {
|
|
359
|
+
let n = e[t], r = typeof n == "number" ? n.toLocaleString() : String(n);
|
|
360
|
+
e = {
|
|
361
|
+
...e,
|
|
362
|
+
value: n,
|
|
363
|
+
title: e.title || r,
|
|
364
|
+
description: e.description || f.title || "",
|
|
365
|
+
text: e.text || r
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
return /* @__PURE__ */ _(se, {
|
|
370
|
+
widget: f,
|
|
371
|
+
data: e,
|
|
372
|
+
isEditMode: D,
|
|
373
|
+
isSelected: k,
|
|
374
|
+
isLoading: I,
|
|
375
|
+
error: L,
|
|
376
|
+
onDrilldown: q ? J : void 0,
|
|
377
|
+
onAction: $
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
switch (f.type?.toLowerCase() || "") {
|
|
381
|
+
case "metric_card": return /* @__PURE__ */ _(de, { ...e });
|
|
382
|
+
case "kpi_card_comparison": return /* @__PURE__ */ _(ye, { ...e });
|
|
383
|
+
case "chart":
|
|
384
|
+
case "funnel_chart": return /* @__PURE__ */ _(v, { ...e });
|
|
385
|
+
case "table":
|
|
386
|
+
case "pivot_table": return /* @__PURE__ */ _(y, { ...e });
|
|
387
|
+
case "gauge": return /* @__PURE__ */ _(fe, { ...e });
|
|
388
|
+
case "progress": return /* @__PURE__ */ _(pe, { ...e });
|
|
389
|
+
case "list": return /* @__PURE__ */ _(me, { ...e });
|
|
390
|
+
case "heatmap": return /* @__PURE__ */ _(he, { ...e });
|
|
391
|
+
case "calendar": return /* @__PURE__ */ _(ge, { ...e });
|
|
392
|
+
case "timeline": return /* @__PURE__ */ _(ve, { ...e });
|
|
393
|
+
case "kanban": return /* @__PURE__ */ _(_e, { ...e });
|
|
394
|
+
case "form": return /* @__PURE__ */ _(we, { ...e });
|
|
395
|
+
case "text": return /* @__PURE__ */ _(be, { ...e });
|
|
396
|
+
case "iframe": return /* @__PURE__ */ _(Se, { ...e });
|
|
397
|
+
case "map": return /* @__PURE__ */ _(xe, { ...e });
|
|
398
|
+
case "custom": return /* @__PURE__ */ _(Ce, { ...e });
|
|
399
|
+
default: return p || /* @__PURE__ */ _(c, { widgetType: f.type });
|
|
400
|
+
}
|
|
401
|
+
}, [
|
|
402
|
+
f,
|
|
403
|
+
W,
|
|
404
|
+
p,
|
|
405
|
+
q,
|
|
406
|
+
J,
|
|
407
|
+
Q,
|
|
408
|
+
D,
|
|
409
|
+
k,
|
|
410
|
+
I,
|
|
411
|
+
L,
|
|
412
|
+
$,
|
|
413
|
+
U
|
|
414
|
+
]);
|
|
415
|
+
return /* @__PURE__ */ ue("div", {
|
|
416
|
+
ref: z,
|
|
417
|
+
className: `
|
|
418
|
+
group relative flex flex-col
|
|
419
|
+
h-full w-full
|
|
420
|
+
rounded-lg border
|
|
421
|
+
bg-bg-surface
|
|
422
|
+
transition-all duration-200
|
|
423
|
+
${k && D ? "border-action-primary-border ring-2 ring-action-primary-border/30" : "border-border-default hover:border-action-primary-bg"}
|
|
424
|
+
${D ? "cursor-pointer" : ""}
|
|
425
|
+
${x}
|
|
426
|
+
`,
|
|
427
|
+
onMouseDown: Fe,
|
|
428
|
+
onClick: Ie,
|
|
429
|
+
onKeyDown: Le,
|
|
430
|
+
tabIndex: D ? 0 : -1,
|
|
431
|
+
role: D ? "button" : void 0,
|
|
432
|
+
"aria-selected": k,
|
|
433
|
+
"aria-label": `Widget: ${f.title}`,
|
|
434
|
+
"data-widget-id": f.id,
|
|
435
|
+
"data-widget-type": f.type,
|
|
436
|
+
children: [
|
|
437
|
+
/* @__PURE__ */ _(ie, {
|
|
438
|
+
widget: f,
|
|
439
|
+
definition: ke,
|
|
440
|
+
isSelected: k,
|
|
441
|
+
isEditMode: D,
|
|
442
|
+
isLoading: I,
|
|
443
|
+
timeUntilRefresh: f.refreshInterval && !Me ? o(je) : void 0,
|
|
444
|
+
hasDrilldown: q,
|
|
445
|
+
onRefresh: S,
|
|
446
|
+
onExportCSV: B ? Ne : void 0,
|
|
447
|
+
onExportPNG: Pe,
|
|
448
|
+
onDrilldown: q ? () => J() : void 0
|
|
449
|
+
}),
|
|
450
|
+
/* @__PURE__ */ _("div", {
|
|
451
|
+
className: `
|
|
452
|
+
flex-1 overflow-hidden p-4 min-h-0
|
|
453
|
+
${X && !D ? "cursor-pointer" : ""}
|
|
454
|
+
`,
|
|
455
|
+
title: X && !D ? "Click data to drill down" : void 0,
|
|
456
|
+
children: /* @__PURE__ */ _("div", {
|
|
457
|
+
className: "h-full overflow-auto",
|
|
458
|
+
children: (() => {
|
|
459
|
+
if (I) return /* @__PURE__ */ _(s, {});
|
|
460
|
+
if (L) return /* @__PURE__ */ _(ae, {
|
|
461
|
+
error: L,
|
|
462
|
+
onRetry: S
|
|
463
|
+
});
|
|
464
|
+
if (Be && !p) return /* @__PURE__ */ _(c, {
|
|
465
|
+
widgetType: f.type,
|
|
466
|
+
hasDataSource: !!f.parserId || !!f.dataSinkId
|
|
467
|
+
});
|
|
468
|
+
let e = `${f.parserId ?? ""}|${f.dataSinkId ?? ""}|${f.updatedAt ?? ""}`;
|
|
469
|
+
return /* @__PURE__ */ _(l, {
|
|
470
|
+
widgetId: f.id,
|
|
471
|
+
widgetType: f.type,
|
|
472
|
+
widgetTitle: f.title,
|
|
473
|
+
resetKey: e,
|
|
474
|
+
children: p ?? /* @__PURE__ */ _(ce, {
|
|
475
|
+
fallback: /* @__PURE__ */ _(s, {}),
|
|
476
|
+
children: He()
|
|
477
|
+
})
|
|
478
|
+
});
|
|
479
|
+
})()
|
|
480
|
+
})
|
|
481
|
+
}),
|
|
482
|
+
w && w.length > 0 && !I && !L && /* @__PURE__ */ _("div", {
|
|
483
|
+
className: "px-4 py-3 border-t border-border-default bg-bg-muted",
|
|
484
|
+
style: { flexShrink: 0 },
|
|
485
|
+
children: /* @__PURE__ */ _(d, {
|
|
486
|
+
actions: w,
|
|
487
|
+
context: Ve,
|
|
488
|
+
onAction: T,
|
|
489
|
+
disabled: D,
|
|
490
|
+
layout: "horizontal",
|
|
491
|
+
size: "sm"
|
|
492
|
+
})
|
|
493
|
+
}),
|
|
494
|
+
X && !D && /* @__PURE__ */ _("div", {
|
|
495
|
+
className: "\n absolute bottom-2 right-2\n opacity-0 group-hover:opacity-100\n transition-opacity duration-200\n ",
|
|
496
|
+
title: "Click to drill down",
|
|
497
|
+
children: /* @__PURE__ */ _("svg", {
|
|
498
|
+
className: "w-4 h-4 text-text-secondary",
|
|
499
|
+
fill: "none",
|
|
500
|
+
stroke: "currentColor",
|
|
501
|
+
viewBox: "0 0 24 24",
|
|
502
|
+
children: /* @__PURE__ */ _("path", {
|
|
503
|
+
strokeLinecap: "round",
|
|
504
|
+
strokeLinejoin: "round",
|
|
505
|
+
strokeWidth: 2,
|
|
506
|
+
d: "M13 7l5 5m0 0l-5 5m5-5H6"
|
|
507
|
+
})
|
|
508
|
+
})
|
|
509
|
+
})
|
|
510
|
+
]
|
|
511
|
+
});
|
|
512
|
+
}, b);
|
|
513
|
+
//#endregion
|
|
514
|
+
export { x as default };
|
|
515
|
+
|
|
516
|
+
//# sourceMappingURL=WidgetWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetWrapper.js","names":[],"sources":["../../../../src/bigconsole/components/widgets/WidgetWrapper.tsx"],"sourcesContent":["/**\n * WidgetWrapper Component (v2.1)\n *\n * Common wrapper for all widget types. Handles:\n * - Header with title and menu\n * - Loading, error, and empty states\n * - Selection highlighting\n * - Edit mode controls\n * - Real data only — no mock fallback; widgets show empty state when data is missing\n * - v2.0: Multi-renderer support via WidgetRendererFactory\n * - v2.0: Widget actions support\n */\n\nimport {\n type FC,\n type ReactNode,\n type RefObject,\n useCallback,\n memo,\n useMemo,\n useRef,\n useEffect,\n lazy,\n Suspense,\n} from 'react';\nimport type { Widget } from '../../types';\nimport {\n useWidgetStore,\n useDashboardStore,\n useIsWidgetSelected,\n useWidgetUIState,\n useGlobalFilterValues,\n} from '../../store';\nimport {\n useWidgetAutoRefresh,\n formatTimeUntilRefresh,\n useWidgetExport,\n useDrilldown,\n useWidgetData,\n type DrilldownContext,\n} from '../../hooks';\nimport { getWidgetDefinition } from './WidgetRegistry';\nimport { WidgetHeader } from './WidgetHeader';\nimport { WidgetLoadingState } from './states/LoadingState';\nimport { WidgetErrorState } from './states/ErrorState';\nimport { WidgetEmptyState } from './states/EmptyState';\nimport { WidgetErrorBoundary } from './WidgetErrorBoundary';\nimport { hasRenderableCustomConfig, hasCustomIframeConfig } from './custom/config';\n\n// v2.0: Renderer factory and actions\nimport { WidgetRendererFactory } from '../../renderers/factory/WidgetRendererFactory';\nimport { WidgetActions } from './widget-actions';\nimport type { WidgetAction, ActionContext, ActionResult, RendererType } from '../../renderers/types/renderer';\n// Widget components - lazy loaded for better code splitting\n// Each widget loads only when its type is rendered\nconst MetricCardWidget = lazy(() => import('./metric-card').then((m) => ({ default: m.MetricCardWidget })));\nconst ChartWidget = lazy(() => import('./chart').then((m) => ({ default: m.ChartWidget })));\nconst TableWidget = lazy(() => import('./table').then((m) => ({ default: m.TableWidget })));\nconst GaugeWidget = lazy(() => import('./gauge').then((m) => ({ default: m.GaugeWidget })));\nconst ProgressWidget = lazy(() => import('./progress').then((m) => ({ default: m.ProgressWidget })));\nconst ListWidget = lazy(() => import('./list').then((m) => ({ default: m.ListWidget })));\nconst HeatmapWidget = lazy(() => import('./heatmap').then((m) => ({ default: m.HeatmapWidget })));\nconst CalendarWidget = lazy(() => import('./calendar').then((m) => ({ default: m.CalendarWidget })));\nconst KanbanWidget = lazy(() => import('./kanban').then((m) => ({ default: m.KanbanWidget })));\nconst TimelineWidget = lazy(() => import('./timeline').then((m) => ({ default: m.TimelineWidget })));\nconst KPIComparisonWidget = lazy(() => import('./kpi-comparison').then((m) => ({ default: m.KPIComparisonWidget })));\nconst TextWidget = lazy(() => import('./text-widget').then((m) => ({ default: m.TextWidget })));\nconst MapWidget = lazy(() => import('./map-widget').then((m) => ({ default: m.MapWidget })));\nconst IframeWidget = lazy(() => import('./iframe-widget').then((m) => ({ default: m.IframeWidget })));\nconst CustomWidget = lazy(() => import('./custom').then((m) => ({ default: m.CustomWidget })));\n// AdaptiveCardWidget is HUGE (984KB) - lazy load only when 'form' type is used\nconst AdaptiveCardWidget = lazy(() => import('./adaptive-card').then((m) => ({ default: m.AdaptiveCardWidget })));\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface WidgetWrapperProps {\n /** The widget data */\n widget: Widget;\n /** Widget content to render */\n children?: ReactNode;\n /** Data for the widget */\n data?: Record<string, unknown> | null;\n /** Custom class name */\n className?: string;\n /** Whether the widget is loading */\n isLoading?: boolean;\n /** Error message */\n error?: string | null;\n /** Callback to refresh widget data */\n onRefresh?: () => Promise<void>;\n /** Callback for drilldown navigation */\n onDrilldown?: (params: Record<string, unknown>) => void;\n /** v2.0: Widget actions */\n actions?: WidgetAction[];\n /** v2.0: Callback for action events */\n onAction?: (action: WidgetAction, context: ActionContext) => Promise<ActionResult | void>;\n /** Phase 2: Global filter values to apply to widget data */\n filterValues?: Record<string, unknown>;\n}\n\n// ============================================================================\n// Custom comparison for memo - ensures actions changes trigger re-render\n// ============================================================================\n\nfunction arePropsEqual(prevProps: WidgetWrapperProps, nextProps: WidgetWrapperProps): boolean {\n // Always re-render if widget ID changes\n if (prevProps.widget.id !== nextProps.widget.id) return false;\n // Re-render if widget was updated\n if (prevProps.widget.updatedAt !== nextProps.widget.updatedAt) return false;\n // Re-render if loading state changes\n if (prevProps.isLoading !== nextProps.isLoading) return false;\n // Re-render if error changes\n if (prevProps.error !== nextProps.error) return false;\n // Re-render if actions count changes\n if ((prevProps.actions?.length ?? 0) !== (nextProps.actions?.length ?? 0)) return false;\n // Check if any action ID changed\n if (prevProps.actions && nextProps.actions) {\n for (let i = 0; i < prevProps.actions.length; i++) {\n if (prevProps.actions[i]?.id !== nextProps.actions[i]?.id) return false;\n }\n }\n // Also check data changes\n if (prevProps.data !== nextProps.data) return false;\n // Phase 2: Re-render if filter values changed\n if (JSON.stringify(prevProps.filterValues) !== JSON.stringify(nextProps.filterValues)) return false;\n return true;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const WidgetWrapper: FC<WidgetWrapperProps> = memo(function WidgetWrapper({\n widget,\n children,\n data,\n className = '',\n isLoading: isLoadingProp,\n error: errorProp,\n onRefresh,\n onDrilldown,\n actions,\n onAction,\n filterValues,\n}) {\n // Store state - use Dashboard store for edit mode (synced with toolbar)\n const isEditMode = useDashboardStore((state) => state.viewMode === 'edit');\n const selectWidget = useWidgetStore((state) => state.selectWidget);\n const isSelected = useIsWidgetSelected(widget.id);\n const uiState = useWidgetUIState(widget.id);\n const globalFilterValues = useGlobalFilterValues();\n\n // Fetch per-widget data from backend (parser-processed data)\n // This is needed because listWidgetsByDashboard uses WidgetListFields (without data)\n // for performance, so each widget fetches its own data individually\n const hasDataSource =\n !!(widget as unknown as Record<string, unknown>).dataSinkId ||\n !!(widget as unknown as Record<string, unknown>).datasetId ||\n !!(widget as unknown as Record<string, unknown>).parserId;\n const { data: fetchedWidgetData, loading: widgetDataLoading } = useWidgetData(widget.id, {\n skip: !hasDataSource,\n pollInterval: (widget.refreshInterval ?? 0) * 1000 || 0,\n });\n\n // WORKAROUND: If Zustand store is empty, directly read filter_* params from URL\n // This handles race conditions where the store hasn't been populated yet\n const urlFilterValues = useMemo(() => {\n if (typeof window === 'undefined') return {};\n\n const params = new URLSearchParams(window.location.search);\n const filters: Record<string, unknown> = {};\n\n params.forEach((value, key) => {\n if (key.startsWith('filter_')) {\n const filterId = key.slice('filter_'.length);\n // Skip internal metadata keys\n if (!filterId.startsWith('__')) {\n filters[filterId] = value;\n }\n }\n });\n\n return filters;\n }, []);\n\n // Phase 2: Merge global filter values (from URL) with explicit filterValues prop\n // This ensures both URL params (filter_*) and drilldown params work together\n const mergedFilterValues = useMemo(() => {\n const merged: Record<string, unknown> = {};\n\n // First, add URL filter values as fallback (in case Zustand store hasn't loaded yet)\n if (urlFilterValues && Object.keys(urlFilterValues).length > 0) {\n Object.assign(merged, urlFilterValues);\n }\n\n // Then, add global filter values from Zustand store (if populated)\n if (globalFilterValues && Object.keys(globalFilterValues).length > 0) {\n Object.assign(merged, globalFilterValues);\n }\n\n // Finally, add/override with explicit filterValues prop (e.g., from drilldown modal)\n if (filterValues && Object.keys(filterValues).length > 0) {\n Object.assign(merged, filterValues);\n }\n\n return merged;\n }, [urlFilterValues, globalFilterValues, filterValues]);\n\n // Track active filters (client-side filtering until backend supports it)\n const hasFilters = Object.keys(mergedFilterValues).length > 0;\n\n // Merge loading/error from props and store\n // Show loading if widget data is being fetched for the first time (no data yet)\n const isLoading = isLoadingProp ?? (widgetDataLoading && !fetchedWidgetData) ?? uiState.isLoading;\n const error = errorProp ?? uiState.errorMessage;\n\n // Get widget definition\n const definition = getWidgetDefinition(widget.type);\n\n // Stable refresh callback - use ref to avoid creating new function on each render\n const onRefreshRef = useRef(onRefresh);\n useEffect(() => {\n onRefreshRef.current = onRefresh;\n }, [onRefresh]);\n\n const stableOnRefresh = useCallback(async () => {\n if (onRefreshRef.current) {\n await onRefreshRef.current();\n }\n }, []);\n\n // Auto-refresh\n const { timeUntilRefresh, isPaused } = useWidgetAutoRefresh({\n widgetId: widget.id,\n refreshInterval: widget.refreshInterval,\n onRefresh: stableOnRefresh,\n enabled: !isEditMode && !!widget.refreshInterval,\n });\n\n // Container ref for PNG export\n const containerRef = useRef<HTMLDivElement>(null);\n\n // Get widget data for export (computed early for hook)\n const exportData = useMemo(() => {\n if (data && Array.isArray(data)) return data;\n const rawData = (widget as unknown as Record<string, unknown>).data as Record<string, unknown> | undefined;\n if (rawData?.processed && Array.isArray(rawData.processed)) {\n return rawData.processed;\n }\n if (rawData?.raw) {\n const parsed = typeof rawData.raw === 'string' ? JSON.parse(rawData.raw) : rawData.raw;\n if (Array.isArray(parsed)) return parsed;\n }\n return null;\n }, [data, widget]);\n\n // Export functionality\n const { exportCSV, exportPNG } = useWidgetExport(widget, {\n data: exportData,\n containerRef: containerRef as unknown as RefObject<HTMLElement>,\n });\n\n // Helper to check if data is actually usable (has real content)\n const isUsableData = useCallback((d: unknown): boolean => {\n if (d === null || d === undefined) return false;\n if (Array.isArray(d)) return d.length > 0;\n if (typeof d === 'object') {\n const obj = d as Record<string, unknown>;\n const keys = Object.keys(obj);\n if (keys.length === 0) return false;\n // Check recursively for actual data content\n return keys.some((key) => {\n const val = obj[key];\n if (val === null || val === undefined || val === '') return false;\n if (Array.isArray(val)) return val.length > 0;\n if (typeof val === 'object') return isUsableData(val);\n return true;\n });\n }\n return true;\n }, []);\n\n // Phase 2: Client-side filter function for widget data\n const applyClientFilters = useCallback(\n (\n widgetData: Record<string, unknown> | Record<string, unknown>[]\n ): Record<string, unknown> | Record<string, unknown>[] => {\n if (!hasFilters || !widgetData) return widgetData;\n\n // Separate drilldown context filters (ctx_*) from regular filters\n const contextFilters: Record<string, unknown> = {};\n const regularFilters: Record<string, unknown> = {};\n\n Object.entries(mergedFilterValues || {}).forEach(([key, value]) => {\n if (key.startsWith('ctx_')) {\n // Strip ctx_ prefix to get the target field name\n const fieldName = key.slice(4); // Remove 'ctx_'\n contextFilters[fieldName] = value;\n } else if (!key.startsWith('__')) {\n // Skip internal metadata keys (__drilldown_depth, etc.)\n regularFilters[key] = value;\n }\n });\n\n // Helper to match a value against a filter (case-insensitive)\n const matchesFilter = (itemValue: unknown, filterValue: unknown): boolean => {\n if (filterValue === undefined || filterValue === null || filterValue === '') return true;\n if (itemValue === undefined || itemValue === null) return false;\n\n const itemStr = String(itemValue).toLowerCase();\n const filterStr = String(filterValue).toLowerCase();\n\n // Exact match or contains\n return itemStr === filterStr || itemStr.includes(filterStr);\n };\n\n // Helper to find a matching field in the item (case-insensitive key matching)\n const findFieldValue = (item: Record<string, unknown>, targetField: string): unknown => {\n const targetLower = targetField.toLowerCase();\n\n // Try exact match first\n if (item[targetField] !== undefined) return item[targetField];\n\n // Try case-insensitive match\n const matchingKey = Object.keys(item).find((k) => k.toLowerCase() === targetLower);\n if (matchingKey) return item[matchingKey];\n\n // Try partial match (e.g., 'region' matches 'regionName' or 'user_region')\n const partialMatch = Object.keys(item).find(\n (k) => k.toLowerCase().includes(targetLower) || targetLower.includes(k.toLowerCase())\n );\n if (partialMatch) return item[partialMatch];\n\n // Try stripping common prefixes from target field (e.g., 'kpiId' -> 'id', 'rowName' -> 'name')\n // This handles drilldown context where widget passes 'kpiId' but data has 'id'\n const commonPrefixes = ['kpi', 'row', 'item', 'data', 'cell', 'record', 'entry'];\n for (const prefix of commonPrefixes) {\n if (targetLower.startsWith(prefix) && targetLower.length > prefix.length) {\n const strippedField = targetLower.slice(prefix.length);\n // Try exact match with stripped field\n const strippedMatch = Object.keys(item).find((k) => k.toLowerCase() === strippedField);\n if (strippedMatch) return item[strippedMatch];\n }\n }\n\n return undefined;\n };\n\n // Helper function to filter an array of items\n const filterItems = (items: Record<string, unknown>[]): Record<string, unknown>[] => {\n return items.filter((item: Record<string, unknown>) => {\n // First, apply drilldown context filters (ctx_*) - these have explicit field names\n for (const [fieldName, filterValue] of Object.entries(contextFilters)) {\n if (filterValue === undefined || filterValue === null || filterValue === '') continue;\n\n const itemValue = findFieldValue(item, fieldName);\n // If the field doesn't exist in this data item, skip this context filter.\n // Drilldown context params (e.g., source=support_status) are metadata about\n // the drilldown origin and should NOT filter out data when the target\n // dashboard's widgets don't have a matching field.\n if (itemValue === undefined) continue;\n if (!matchesFilter(itemValue, filterValue)) {\n return false;\n }\n }\n\n // Then, apply regular filters\n for (const [filterKey, filterValue] of Object.entries(regularFilters)) {\n if (filterValue === undefined || filterValue === null || filterValue === '') continue;\n\n // For date range filters\n if (typeof filterValue === 'object') {\n const fv = filterValue as Record<string, unknown>;\n if (fv.start || fv.end) {\n const dateFields = Object.entries(item).filter(\n ([k, _v]) => k.toLowerCase().includes('date') || k.toLowerCase().includes('time')\n );\n if (dateFields.length > 0) {\n const itemDate = new Date(dateFields[0][1] as string);\n if (fv.start && itemDate < new Date(fv.start as string)) return false;\n if (fv.end && itemDate > new Date(fv.end as string)) return false;\n }\n continue;\n }\n }\n\n // For numeric range filters\n if (typeof filterValue === 'object') {\n const nv = filterValue as Record<string, unknown>;\n if (nv.min !== undefined || nv.max !== undefined) {\n const numericFields = Object.entries(item).filter(([_k, v]) => typeof v === 'number');\n if (numericFields.length > 0) {\n const itemNum = numericFields[0][1] as number;\n if (nv.min !== undefined && itemNum < (nv.min as number)) return false;\n if (nv.max !== undefined && itemNum > (nv.max as number)) return false;\n }\n continue;\n }\n }\n\n // Try to match by filter key name first (for named filters)\n const fieldValue = findFieldValue(item, filterKey);\n if (fieldValue !== undefined) {\n if (!matchesFilter(fieldValue, filterValue)) {\n return false;\n }\n continue;\n }\n\n // For text/category filters - try multiple matching strategies\n const filterStr = String(filterValue).toLowerCase();\n\n // Strategy 1: Check all field values for exact or partial match\n const itemValues = Object.values(item).map((v) => String(v).toLowerCase());\n const hasMatch = itemValues.some((v) => v === filterStr || v.includes(filterStr));\n\n if (!hasMatch) {\n // Strategy 2: Try to find a field name that matches the filter value context\n const fieldNames = Object.keys(item).map((k) => k.toLowerCase());\n const possibleFields = fieldNames.filter(\n (f) =>\n f.includes('category') ||\n f.includes('type') ||\n f.includes('status') ||\n f.includes('name') ||\n f.includes('region') ||\n f.includes('group')\n );\n\n let fieldMatch = false;\n for (const fieldName of possibleFields) {\n const originalKey = Object.keys(item).find((k) => k.toLowerCase() === fieldName);\n if (originalKey) {\n const itemFieldValue = String(item[originalKey]).toLowerCase();\n if (itemFieldValue === filterStr || itemFieldValue.includes(filterStr)) {\n fieldMatch = true;\n break;\n }\n }\n }\n\n if (!fieldMatch) {\n return false;\n }\n }\n }\n return true;\n });\n };\n\n // If data is an array, filter the items directly\n if (Array.isArray(widgetData)) {\n const filtered = filterItems(widgetData);\n return filtered;\n }\n\n // Handle object with array properties (rows, items, members, questions, data, etc.)\n if (widgetData && typeof widgetData === 'object') {\n // Common array property names in widget data\n const arrayPropertyNames = [\n 'kpis', // KPI Comparison widget\n 'rows', // Table widget\n 'items', // List widget\n 'members', // Team/member widgets\n 'questions', // Form widget\n 'data', // Generic data\n 'records', // Database-style data\n 'results', // Search/query results\n 'entries', // Log/feed entries\n 'list', // Generic list\n 'values', // Value arrays\n 'series', // Chart series\n 'datasets', // Chart datasets\n ];\n\n for (const propName of arrayPropertyNames) {\n if (widgetData[propName] && Array.isArray(widgetData[propName])) {\n const filteredArray = filterItems(widgetData[propName]);\n return {\n ...widgetData,\n [propName]: filteredArray,\n ...(propName === 'rows' ? { totalRows: filteredArray.length } : {}),\n };\n }\n }\n\n // If no known array property found, check for any array property\n const arrayProps = Object.entries(widgetData).filter(([_key, v]) => Array.isArray(v));\n if (arrayProps.length > 0) {\n const [propName, propValue] = arrayProps[0];\n const filteredArray = filterItems(propValue as Record<string, unknown>[]);\n return {\n ...widgetData,\n [propName]: filteredArray,\n };\n }\n }\n\n // For non-filterable data, return as-is\n return widgetData;\n },\n [hasFilters, mergedFilterValues, widget.id]\n );\n\n // Get widget data from the widget itself (fetched from backend)\n const realWidgetData = useMemo(() => {\n let rawWidgetData = null;\n\n // Priority 1: Explicitly passed data prop\n if (data && isUsableData(data)) {\n rawWidgetData = data;\n }\n // Priority 2: Per-widget fetched data (from useWidgetData hook)\n // fetchedWidgetData IS a WidgetData object: { raw, processed, fetchedAt, cached }\n else if (fetchedWidgetData) {\n const fetched = fetchedWidgetData as unknown as Record<string, unknown>;\n if (fetched?.processed && isUsableData(fetched.processed)) {\n rawWidgetData = fetched.processed;\n } else if (fetched?.raw) {\n try {\n const parsed = typeof fetched.raw === 'string' ? JSON.parse(fetched.raw as string) : fetched.raw;\n if (isUsableData(parsed)) rawWidgetData = parsed;\n } catch {\n // Invalid JSON, ignore\n }\n }\n }\n // Priority 3: widget.data from GraphQL response (if already on widget object)\n else {\n const rawData = (widget as unknown as Record<string, unknown>).data as Record<string, unknown> | undefined;\n if (rawData?.processed && isUsableData(rawData.processed)) {\n rawWidgetData = rawData.processed;\n } else if (rawData?.raw) {\n try {\n const parsed = typeof rawData.raw === 'string' ? JSON.parse(rawData.raw) : rawData.raw;\n if (isUsableData(parsed)) rawWidgetData = parsed;\n } catch {\n // Invalid JSON, ignore\n }\n }\n }\n\n // Priority 4: config.mockData — user-configured sample JSON from Widget Properties Data tab\n // This is NOT auto-generated mock data; it's explicit JSON the user pasted in the UI\n if (!rawWidgetData) {\n const configMockData = (widget.config as Record<string, unknown> | undefined)?.mockData;\n if (configMockData) {\n try {\n const parsed = typeof configMockData === 'string' ? JSON.parse(configMockData) : configMockData;\n if (isUsableData(parsed)) {\n rawWidgetData = parsed;\n }\n } catch (e) {}\n }\n }\n\n // Phase 2: Apply client-side filters if active\n if (hasFilters && rawWidgetData) {\n const filtered = applyClientFilters(rawWidgetData);\n return filtered;\n }\n\n return rawWidgetData;\n }, [data, widget, fetchedWidgetData, hasFilters, applyClientFilters, mergedFilterValues, isUsableData]);\n\n // Final widget data - real data only, no mock fallback\n const widgetData = useMemo(() => {\n return realWidgetData ?? null;\n }, [realWidgetData]);\n\n // Drilldown navigation (must be after widgetData is defined)\n const { executeDrilldown, canDrilldown } = useDrilldown({\n onDrilldown: (params, _mode) => {\n onDrilldown?.(params);\n },\n });\n\n // Check if widget has drilldown configured\n const hasDrilldown = useMemo(() => canDrilldown(widget), [widget, canDrilldown]);\n\n // Handle drilldown execution with context\n const handleDrilldown = useCallback(\n (selectedData?: Record<string, unknown>) => {\n if (!widget.drilldown?.enabled) return;\n\n const context: DrilldownContext = {\n selectedData: selectedData || {},\n globalFilters: globalFilterValues || {},\n widgetData: widgetData || {},\n metadata: {\n widgetId: widget.id,\n widgetType: widget.type,\n widgetTitle: widget.title,\n },\n sourceDashboardId: widget.dashboardId,\n };\n\n executeDrilldown(widget.drilldown, context);\n },\n [widget, widgetData, globalFilterValues, executeDrilldown]\n );\n\n // Track mouse position to distinguish click from drag\n const mouseDownPos = useRef<{ x: number; y: number } | null>(null);\n const DRAG_THRESHOLD = 5; // pixels - if mouse moves more than this, it's a drag\n\n // Handle mouse down - record position\n const handleMouseDown = useCallback((e: React.MouseEvent) => {\n mouseDownPos.current = { x: e.clientX, y: e.clientY };\n }, []);\n\n // Handle widget click - Edit mode only (View mode drilldown is triggered by data clicks)\n // Only trigger if mouse hasn't moved much (not a drag)\n const handleClick = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation(); // Prevent DashboardGrid from also handling\n\n // Check if this was a drag (mouse moved significantly)\n if (mouseDownPos.current) {\n const dx = Math.abs(e.clientX - mouseDownPos.current.x);\n const dy = Math.abs(e.clientY - mouseDownPos.current.y);\n if (dx > DRAG_THRESHOLD || dy > DRAG_THRESHOLD) {\n // This was a drag, not a click - don't open config panel\n mouseDownPos.current = null;\n return;\n }\n }\n mouseDownPos.current = null;\n\n if (isEditMode) {\n // Edit mode: select widget for editing\n selectWidget(widget.id);\n }\n // View mode: drilldown is triggered by clicking specific data elements\n // (table rows, chart points, etc.) - not by clicking the widget itself\n },\n [isEditMode, selectWidget, widget.id]\n );\n\n // Handle keyboard navigation (Edit mode only)\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n event.stopPropagation();\n if (isEditMode) {\n selectWidget(widget.id);\n }\n }\n },\n [isEditMode, selectWidget, widget.id]\n );\n\n const hasRenderableCustomWidgetConfig = useMemo(\n () => widget.type === 'custom' && hasRenderableCustomConfig(widget.config),\n [widget.type, widget.config]\n );\n\n const customWidgetHasIframeConfig = useMemo(\n () => widget.type === 'custom' && hasCustomIframeConfig(widget.config),\n [widget.type, widget.config]\n );\n\n const showContainerDrilldownHints = hasDrilldown && !customWidgetHasIframeConfig;\n\n // Determine if data is empty\n const isEmpty = !isLoading && !error && !widgetData && !hasRenderableCustomWidgetConfig;\n\n // v2.0: Check if widget has a renderer specified (non-BIGCONSOLE)\n const widgetRenderer = useMemo(() => {\n const widgetWithRenderer = widget as Widget & { renderer?: RendererType };\n return widgetWithRenderer.renderer;\n }, [widget]);\n\n // v2.0: Determine if we should use the factory (non-BIGCONSOLE renderer)\n const useRendererFactory = useMemo(() => {\n const shouldUse = widgetRenderer && widgetRenderer !== 'BIGCONSOLE';\n return shouldUse;\n }, [widgetRenderer]);\n\n // v2.0: Create action context\n const actionContext = useMemo<ActionContext>(\n () => ({\n widgetId: widget.id,\n data: widgetData || {},\n }),\n [widget.id, widgetData]\n );\n\n // v2.0: Handle action callback from WidgetRendererFactory\n // Receives (action: WidgetAction, context: ActionContext) and forwards to parent\n // Checks if a more detailed backend action exists with same name\n const handleActionFromFactory = useCallback(\n (action: WidgetAction, context: ActionContext) => {\n if (!onAction) return;\n\n // Try to find a matching backend action by name (has more details like confirmation)\n const existingAction = actions?.find((a) => a.name === action.name);\n\n if (existingAction) {\n // Use existing backend action (has confirmation, style, icon, etc.)\n onAction(existingAction, context);\n } else {\n // Use the action from WidgetRendererFactory as-is\n onAction(action, context);\n }\n },\n [onAction, actions]\n );\n\n // Render the appropriate widget component based on type (v1.0 snake_case)\n const renderWidgetComponent = useCallback(() => {\n // Extract data based on widget type expectations\n // Different widgets expect different data formats\n const getDataForWidget = () => {\n if (!widgetData) return widgetData;\n\n // If data has 'rows' property (table data), extract rows\n if (widget.type === 'table' || widget.type === 'pivot_table') {\n if (Array.isArray(widgetData)) return widgetData;\n if (widgetData && typeof widgetData === 'object' && 'rows' in widgetData) {\n return (widgetData as { rows: unknown[] }).rows;\n }\n }\n\n // If data has 'items' property (list data), extract items\n if (widget.type === 'list') {\n if (Array.isArray(widgetData)) return widgetData;\n if (widgetData && typeof widgetData === 'object' && 'items' in widgetData) {\n return (widgetData as { items: unknown[] }).items;\n }\n }\n\n // If data has 'stages' property (old funnel format), extract stages\n if (widget.type === 'funnel_chart') {\n if (Array.isArray(widgetData)) return widgetData;\n if (widgetData && typeof widgetData === 'object' && 'stages' in widgetData) {\n return (widgetData as { stages: unknown[] }).stages;\n }\n }\n\n // If data has 'datasets' property (old chart format), convert to array format\n if (widget.type === 'chart') {\n if (Array.isArray(widgetData)) return widgetData;\n if (widgetData && typeof widgetData === 'object' && 'datasets' in widgetData) {\n // Convert old format to new array format\n const oldData = widgetData as { labels?: string[]; datasets?: { name: string; data: number[] }[] };\n if (oldData.labels && oldData.datasets) {\n return oldData.labels.map((label, i) => {\n const point: Record<string, unknown> = { name: label };\n oldData.datasets?.forEach((ds) => {\n point[ds.name.toLowerCase()] = ds.data[i];\n });\n return point;\n });\n }\n }\n }\n\n // For text widgets: convert parsed object data to {content, format} shape\n if (widget.type === 'text') {\n if (widgetData && typeof widgetData === 'object' && !('content' in (widgetData as Record<string, unknown>))) {\n // Auto-format parsed data as markdown content\n const obj = widgetData as Record<string, unknown>;\n const lines: string[] = [];\n for (const [key, val] of Object.entries(obj)) {\n if (val && typeof val === 'object' && !Array.isArray(val)) {\n lines.push(`### ${key}`);\n for (const [k2, v2] of Object.entries(val as Record<string, unknown>)) {\n lines.push(`- **${k2}:** ${v2}`);\n }\n } else if (Array.isArray(val)) {\n lines.push(`### ${key}`);\n val.slice(0, 10).forEach((item: unknown) => {\n if (item && typeof item === 'object') {\n const entries = Object.entries(item as Record<string, unknown>);\n lines.push(`- ${entries.map(([k, v]) => `**${k}:** ${v}`).join(' | ')}`);\n } else {\n lines.push(`- ${item}`);\n }\n });\n } else {\n lines.push(`- **${key}:** ${val}`);\n }\n }\n return { content: lines.join('\\n'), format: 'markdown' };\n }\n }\n\n // For custom widgets: pass data through with extracted value if configured\n if (widget.type === 'custom') {\n const config = widget.config as Record<string, unknown> | undefined;\n const valueField = config?.valueField as string | undefined;\n if (valueField && widgetData && typeof widgetData === 'object' && !Array.isArray(widgetData)) {\n const obj = widgetData as Record<string, unknown>;\n if (valueField in obj) {\n return { value: obj[valueField], label: widget.title, data: obj };\n }\n }\n }\n\n return widgetData;\n };\n\n const normalizedData = getDataForWidget();\n const props = {\n widget,\n data: normalizedData,\n onDrilldown: hasDrilldown ? handleDrilldown : undefined,\n };\n\n // v2.0: Use WidgetRendererFactory for non-BIGCONSOLE renderers\n if (useRendererFactory) {\n // For factory renderers (Adaptive Card, BlockKit, Custom), pass the RAW\n // processed data — NOT the type-normalized data. Normalization (e.g., text→markdown)\n // is only for BIGCONSOLE renderer widgets. Factory renderers handle their own\n // template interpolation against the raw data object.\n let factoryData: Record<string, unknown> = {};\n\n if (\n realWidgetData &&\n typeof realWidgetData === 'object' &&\n !Array.isArray(realWidgetData) &&\n Object.keys(realWidgetData as Record<string, unknown>).length > 0\n ) {\n // Use real data from backend (raw processed, not type-normalized)\n factoryData = { ...(realWidgetData as Record<string, unknown>) };\n }\n\n // For CUSTOM renderer: enrich data with standard fields expected by built-in components.\n // Built-in components (Counter, Card, SimpleText) read specific fields from data:\n // Counter: data.value, Card: data.title/data.description, SimpleText: data.text\n // Parsed data from datasinks has domain-specific fields (totalFiles, totalMessages, etc.)\n // Use config.valueField to extract the primary value and map it to standard fields.\n const internalType = (widget.config as Record<string, unknown> | undefined)?._internalWidgetType as\n | string\n | undefined;\n if (internalType === 'custom' && Object.keys(factoryData).length > 0) {\n const config = widget.config as Record<string, unknown> | undefined;\n const valueField = config?.valueField as string | undefined;\n if (valueField && valueField in factoryData) {\n const val = factoryData[valueField];\n const formatted = typeof val === 'number' ? val.toLocaleString() : String(val);\n // Map to standard fields for all built-in custom components\n factoryData = {\n ...factoryData,\n value: val, // Counter component\n title: factoryData.title || formatted, // Card component\n description: factoryData.description || widget.title || '', // Card component\n text: factoryData.text || formatted, // SimpleText component\n };\n }\n }\n\n return (\n <WidgetRendererFactory\n widget={widget}\n data={factoryData}\n isEditMode={isEditMode}\n isSelected={isSelected}\n isLoading={isLoading}\n error={error}\n onDrilldown={hasDrilldown ? handleDrilldown : undefined}\n onAction={handleActionFromFactory}\n />\n );\n }\n\n // v1.0: Use switch-case for BIGCONSOLE renderer (default)\n // Normalize widget type to lowercase for case-insensitive matching\n const normalizedType = widget.type?.toLowerCase() || '';\n switch (normalizedType) {\n case 'metric_card':\n return <MetricCardWidget {...props} />;\n case 'kpi_card_comparison':\n return <KPIComparisonWidget {...props} />;\n case 'chart':\n case 'funnel_chart':\n return <ChartWidget {...props} />;\n case 'table':\n case 'pivot_table':\n return <TableWidget {...props} />;\n case 'gauge':\n return <GaugeWidget {...props} />;\n case 'progress':\n return <ProgressWidget {...props} />;\n case 'list':\n return <ListWidget {...props} />;\n case 'heatmap':\n return <HeatmapWidget {...props} />;\n case 'calendar':\n return <CalendarWidget {...props} />;\n case 'timeline':\n return <TimelineWidget {...props} />;\n case 'kanban':\n return <KanbanWidget {...props} />;\n case 'form':\n return <AdaptiveCardWidget {...props} />;\n case 'text':\n return <TextWidget {...props} />;\n case 'iframe':\n return <IframeWidget {...props} />;\n case 'map':\n return <MapWidget {...props} />;\n case 'custom':\n return <CustomWidget {...props} />;\n default:\n return children || <WidgetEmptyState widgetType={widget.type} />;\n }\n }, [\n widget,\n widgetData,\n children,\n hasDrilldown,\n handleDrilldown,\n useRendererFactory,\n isEditMode,\n isSelected,\n isLoading,\n error,\n handleActionFromFactory,\n realWidgetData,\n ]);\n\n // Determine content to render\n const renderContent = () => {\n if (isLoading) {\n return <WidgetLoadingState />;\n }\n\n if (error) {\n return <WidgetErrorState error={error} onRetry={onRefresh} />;\n }\n\n if (isEmpty && !children) {\n // v2.0: Check parserId (primary) or dataSinkId (for context/drilldowns)\n return (\n <WidgetEmptyState\n widgetType={widget.type}\n hasDataSource={\n !!(widget as unknown as Record<string, unknown>).parserId ||\n !!(widget as unknown as Record<string, unknown>).dataSinkId\n }\n />\n );\n }\n\n // resetKey auto-resets the boundary on parser/sink re-bind or config edit without widget.id changing (BOFF-2242).\n const resetKey = `${widget.parserId ?? ''}|${widget.dataSinkId ?? ''}|${widget.updatedAt ?? ''}`;\n\n return (\n <WidgetErrorBoundary widgetId={widget.id} widgetType={widget.type} widgetTitle={widget.title} resetKey={resetKey}>\n {children ?? <Suspense fallback={<WidgetLoadingState />}>{renderWidgetComponent()}</Suspense>}\n </WidgetErrorBoundary>\n );\n };\n\n return (\n <div\n ref={containerRef}\n className={`\n group relative flex flex-col\n h-full w-full\n rounded-lg border\n bg-bg-surface\n transition-all duration-200\n ${\n isSelected && isEditMode\n ? 'border-action-primary-border ring-2 ring-action-primary-border/30'\n : 'border-border-default hover:border-action-primary-bg'\n }\n ${isEditMode ? 'cursor-pointer' : ''}\n ${className}\n `}\n onMouseDown={handleMouseDown}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n tabIndex={isEditMode ? 0 : -1}\n role={isEditMode ? 'button' : undefined}\n aria-selected={isSelected}\n aria-label={`Widget: ${widget.title}`}\n data-widget-id={widget.id}\n data-widget-type={widget.type}\n >\n {/* Header */}\n <WidgetHeader\n widget={widget}\n definition={definition}\n isSelected={isSelected}\n isEditMode={isEditMode}\n isLoading={isLoading}\n timeUntilRefresh={widget.refreshInterval && !isPaused ? formatTimeUntilRefresh(timeUntilRefresh) : undefined}\n hasDrilldown={hasDrilldown}\n onRefresh={onRefresh}\n onExportCSV={exportData ? exportCSV : undefined}\n onExportPNG={exportPNG}\n onDrilldown={hasDrilldown ? () => handleDrilldown() : undefined}\n />\n\n {/* Content Area */}\n <div\n className={`\n flex-1 overflow-hidden p-4 min-h-0\n ${showContainerDrilldownHints && !isEditMode ? 'cursor-pointer' : ''}\n `}\n title={showContainerDrilldownHints && !isEditMode ? 'Click data to drill down' : undefined}\n >\n <div className=\"h-full overflow-auto\">{renderContent()}</div>\n </div>\n\n {/* v2.0: Widget Actions */}\n {actions && actions.length > 0 && !isLoading && !error && (\n <div className=\"px-4 py-3 border-t border-border-default bg-bg-muted\" style={{ flexShrink: 0 }}>\n <WidgetActions\n actions={actions}\n context={actionContext}\n onAction={onAction}\n disabled={isEditMode}\n layout=\"horizontal\"\n size=\"sm\"\n />\n </div>\n )}\n\n {/* Edit mode: react-grid-layout provides resize handles */}\n\n {/* Drilldown Indicator */}\n {showContainerDrilldownHints && !isEditMode && (\n <div\n className=\"\n absolute bottom-2 right-2\n opacity-0 group-hover:opacity-100\n transition-opacity duration-200\n \"\n title=\"Click to drill down\"\n >\n <svg className=\"w-4 h-4 text-text-secondary\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M13 7l5 5m0 0l-5 5m5-5H6\" />\n </svg>\n </div>\n )}\n </div>\n );\n}, arePropsEqual);\n\nexport default WidgetWrapper;\n"],"mappings":"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"}
|