@burdenoff/microfe-bigconsole 2026.1006.1 → 2026.1007.10
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 +0 -22
- package/dist/bigconsole/AdminRoot.d.ts +1 -0
- package/dist/bigconsole/AdminRoot.d.ts.map +1 -0
- package/dist/bigconsole/AdminRoot.js +2 -0
- package/dist/bigconsole/AdminRoot.js.map +1 -0
- package/dist/bigconsole/AdminRoutes.d.ts +1 -0
- package/dist/bigconsole/AdminRoutes.d.ts.map +1 -0
- package/dist/bigconsole/AdminRoutes.js +2 -0
- package/dist/bigconsole/AdminRoutes.js.map +1 -0
- package/dist/bigconsole/BigConsoleRoot.d.ts +1 -0
- package/dist/bigconsole/BigConsoleRoot.d.ts.map +1 -0
- package/dist/bigconsole/BigConsoleRoot.js +84 -88
- package/dist/bigconsole/BigConsoleRoot.js.map +1 -0
- package/dist/bigconsole/BigConsoleRoutes.d.ts +1 -0
- package/dist/bigconsole/BigConsoleRoutes.d.ts.map +1 -0
- package/dist/bigconsole/BigConsoleRoutes.js +5 -39
- package/dist/bigconsole/BigConsoleRoutes.js.map +1 -0
- package/dist/bigconsole/assistant/assistantApi.d.ts +1 -0
- package/dist/bigconsole/assistant/assistantApi.d.ts.map +1 -0
- package/dist/bigconsole/assistant/assistantApi.js +2 -0
- package/dist/bigconsole/assistant/assistantApi.js.map +1 -0
- package/dist/bigconsole/assistant/assistantProduct.d.ts +1 -0
- package/dist/bigconsole/assistant/assistantProduct.d.ts.map +1 -0
- package/dist/bigconsole/assistant/assistantProduct.js +4 -1
- package/dist/bigconsole/assistant/assistantProduct.js.map +1 -0
- package/dist/bigconsole/assistant/assistantPrompt.d.ts +1 -0
- package/dist/bigconsole/assistant/assistantPrompt.d.ts.map +1 -0
- package/dist/bigconsole/assistant/assistantPrompt.js +2 -0
- package/dist/bigconsole/assistant/assistantPrompt.js.map +1 -0
- package/dist/bigconsole/assistant/assistantRunPersistence.d.ts +1 -0
- package/dist/bigconsole/assistant/assistantRunPersistence.d.ts.map +1 -0
- package/dist/bigconsole/assistant/assistantRunPersistence.js +2 -0
- package/dist/bigconsole/assistant/assistantRunPersistence.js.map +1 -0
- package/dist/bigconsole/assistant/assistantRunStore.d.ts +1 -0
- package/dist/bigconsole/assistant/assistantRunStore.d.ts.map +1 -0
- package/dist/bigconsole/assistant/assistantRunStore.js +2 -0
- package/dist/bigconsole/assistant/assistantRunStore.js.map +1 -0
- package/dist/bigconsole/assistant/assistantRuntime.d.ts +1 -0
- package/dist/bigconsole/assistant/assistantRuntime.d.ts.map +1 -0
- package/dist/bigconsole/assistant/assistantRuntime.js +2 -0
- package/dist/bigconsole/assistant/assistantRuntime.js.map +1 -0
- package/dist/bigconsole/assistant/attachmentExtract.d.ts +1 -0
- package/dist/bigconsole/assistant/attachmentExtract.d.ts.map +1 -0
- package/dist/bigconsole/assistant/attachmentExtract.js +2 -0
- package/dist/bigconsole/assistant/attachmentExtract.js.map +1 -0
- package/dist/bigconsole/assistant/conversationHistoryApi.d.ts +1 -0
- package/dist/bigconsole/assistant/conversationHistoryApi.d.ts.map +1 -0
- package/dist/bigconsole/assistant/conversationHistoryApi.js +2 -0
- package/dist/bigconsole/assistant/conversationHistoryApi.js.map +1 -0
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts +1 -0
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.d.ts.map +1 -0
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.js +2 -0
- package/dist/bigconsole/assistant/createSandboxAssistantTransport.js.map +1 -0
- package/dist/bigconsole/assistant/index.d.ts +1 -0
- package/dist/bigconsole/assistant/index.d.ts.map +1 -0
- package/dist/bigconsole/assistant/modes.d.ts +1 -0
- package/dist/bigconsole/assistant/modes.d.ts.map +1 -0
- package/dist/bigconsole/assistant/modes.js +2 -0
- package/dist/bigconsole/assistant/modes.js.map +1 -0
- package/dist/bigconsole/assistant/pageContext.d.ts +1 -0
- package/dist/bigconsole/assistant/pageContext.d.ts.map +1 -0
- package/dist/bigconsole/assistant/pageContext.js +2 -0
- package/dist/bigconsole/assistant/pageContext.js.map +1 -0
- package/dist/bigconsole/assistant/previewController.d.ts +1 -0
- package/dist/bigconsole/assistant/previewController.d.ts.map +1 -0
- package/dist/bigconsole/assistant/previewController.js +2 -0
- package/dist/bigconsole/assistant/previewController.js.map +1 -0
- package/dist/bigconsole/assistant/previewMutationResult.d.ts +1 -0
- package/dist/bigconsole/assistant/previewMutationResult.d.ts.map +1 -0
- package/dist/bigconsole/assistant/previewMutationResult.js +2 -0
- package/dist/bigconsole/assistant/previewMutationResult.js.map +1 -0
- package/dist/bigconsole/assistant/previewRunAction.d.ts +1 -0
- package/dist/bigconsole/assistant/previewRunAction.d.ts.map +1 -0
- package/dist/bigconsole/assistant/previewRunAction.js +2 -0
- package/dist/bigconsole/assistant/previewRunAction.js.map +1 -0
- package/dist/bigconsole/assistant/product.d.ts +1 -0
- package/dist/bigconsole/assistant/product.d.ts.map +1 -0
- package/dist/bigconsole/assistant/product.js +2 -0
- package/dist/bigconsole/assistant/product.js.map +1 -0
- package/dist/bigconsole/assistant/recordAdapters.d.ts +1 -0
- package/dist/bigconsole/assistant/recordAdapters.d.ts.map +1 -0
- package/dist/bigconsole/assistant/recordAdapters.js +29 -26
- package/dist/bigconsole/assistant/recordAdapters.js.map +1 -0
- package/dist/bigconsole/assistant/types.d.ts +1 -0
- package/dist/bigconsole/assistant/types.d.ts.map +1 -0
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts +1 -0
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.d.ts.map +1 -0
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.js +2 -0
- package/dist/bigconsole/assistant/useAssistantRunWorkspace.js.map +1 -0
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts +1 -0
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.d.ts.map +1 -0
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js +2 -0
- package/dist/bigconsole/assistant/useWorkspaceWriteAccess.js.map +1 -0
- package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts +1 -0
- package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts.map +1 -0
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js +2 -0
- package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +1 -0
- package/dist/bigconsole/components/DrilldownModal.d.ts +1 -0
- package/dist/bigconsole/components/DrilldownModal.d.ts.map +1 -0
- package/dist/bigconsole/components/DrilldownModal.js +2 -0
- package/dist/bigconsole/components/DrilldownModal.js.map +1 -0
- package/dist/bigconsole/components/builder/BuilderCanvas.d.ts +1 -0
- package/dist/bigconsole/components/builder/BuilderCanvas.d.ts.map +1 -0
- package/dist/bigconsole/components/builder/BuilderCanvas.js +2 -0
- package/dist/bigconsole/components/builder/BuilderCanvas.js.map +1 -0
- package/dist/bigconsole/components/builder/BuilderTopbar.d.ts +1 -0
- package/dist/bigconsole/components/builder/BuilderTopbar.d.ts.map +1 -0
- package/dist/bigconsole/components/builder/BuilderTopbar.js +2 -0
- package/dist/bigconsole/components/builder/BuilderTopbar.js.map +1 -0
- package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts +1 -0
- package/dist/bigconsole/components/builder/DashboardEditorShell.d.ts.map +1 -0
- package/dist/bigconsole/components/builder/DashboardEditorShell.js +2 -0
- package/dist/bigconsole/components/builder/DashboardEditorShell.js.map +1 -0
- package/dist/bigconsole/components/builder/WidgetInspector.d.ts +1 -0
- package/dist/bigconsole/components/builder/WidgetInspector.d.ts.map +1 -0
- package/dist/bigconsole/components/builder/WidgetInspector.js +2 -0
- package/dist/bigconsole/components/builder/WidgetInspector.js.map +1 -0
- package/dist/bigconsole/components/builder/index.d.ts +1 -0
- package/dist/bigconsole/components/builder/index.d.ts.map +1 -0
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts +1 -0
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.d.ts.map +1 -0
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +2 -0
- package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +1 -0
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts +1 -0
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.d.ts.map +1 -0
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +2 -0
- package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +1 -0
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts +1 -0
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts.map +1 -0
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +2 -0
- package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +1 -0
- package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts +1 -0
- package/dist/bigconsole/components/builder/inspector/GeneralSection.d.ts.map +1 -0
- package/dist/bigconsole/components/builder/inspector/GeneralSection.js +2 -0
- package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +1 -0
- package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts +1 -0
- package/dist/bigconsole/components/builder/inspector/LayoutSection.d.ts.map +1 -0
- package/dist/bigconsole/components/builder/inspector/LayoutSection.js +2 -0
- package/dist/bigconsole/components/builder/inspector/LayoutSection.js.map +1 -0
- package/dist/bigconsole/components/builder/inspector/index.d.ts +1 -0
- package/dist/bigconsole/components/builder/inspector/index.d.ts.map +1 -0
- package/dist/bigconsole/components/common/Section.d.ts +1 -0
- package/dist/bigconsole/components/common/Section.d.ts.map +1 -0
- package/dist/bigconsole/components/common/Section.js +2 -0
- package/dist/bigconsole/components/common/Section.js.map +1 -0
- package/dist/bigconsole/components/common/index.d.ts +1 -0
- package/dist/bigconsole/components/common/index.d.ts.map +1 -0
- package/dist/bigconsole/components/common/sectionStyles.d.ts +1 -0
- package/dist/bigconsole/components/common/sectionStyles.d.ts.map +1 -0
- package/dist/bigconsole/components/common/sectionStyles.js +2 -0
- package/dist/bigconsole/components/common/sectionStyles.js.map +1 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +2 -0
- package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js +2 -0
- package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardGrid.js +2 -0
- package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.js +2 -0
- package/dist/bigconsole/components/dashboard/DashboardStatusPill.js.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/DashboardToolbar.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js +2 -0
- package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -0
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +64 -63
- package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -0
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +2 -0
- package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +2 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +2 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +2 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +2 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/GlobalFiltersBar/index.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +2 -0
- package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -0
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +2 -0
- package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +1 -0
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js +2 -0
- package/dist/bigconsole/components/dashboard/LiveCanvasToggle.js.map +1 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +2 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/PageTabsManager/index.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +2 -0
- package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +1 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +2 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/SavedViewsDropdown/index.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +108 -97
- package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +2 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/ShareDialog/index.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +2 -0
- package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +1 -0
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +2 -0
- package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js.map +1 -0
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +2 -0
- package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js.map +1 -0
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/TemplatePicker/index.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +2 -0
- package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +1 -0
- package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/WidgetPalette.d.ts.map +1 -0
- package/dist/bigconsole/components/dashboard/WidgetPalette.js +165 -165
- package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -0
- package/dist/bigconsole/components/dashboard/index.d.ts +1 -0
- package/dist/bigconsole/components/dashboard/index.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts +1 -0
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +2 -0
- package/dist/bigconsole/components/datasink/AlertExecutionHistory.js.map +1 -0
- package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts +1 -0
- package/dist/bigconsole/components/datasink/AlertRuleEditor.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/AlertRuleEditor.js +2 -0
- package/dist/bigconsole/components/datasink/AlertRuleEditor.js.map +1 -0
- package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts +1 -0
- package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js +2 -0
- package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -0
- package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts +1 -0
- package/dist/bigconsole/components/datasink/ConfigurationForm.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts +1 -0
- package/dist/bigconsole/components/datasink/DataPreviewPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkCard.d.ts +1 -0
- package/dist/bigconsole/components/datasink/DataSinkCard.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkCard.js +2 -0
- package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts +1 -0
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +2 -0
- package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts +1 -0
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +2 -0
- package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts +1 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts +1 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +2 -0
- package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts +1 -0
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +2 -0
- package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts +1 -0
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +2 -0
- package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +1 -0
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts +1 -0
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +2 -0
- package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +1 -0
- package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts +1 -0
- package/dist/bigconsole/components/datasink/FluidGridsPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts +1 -0
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +2 -0
- package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +1 -0
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts +1 -0
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +2 -0
- package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -0
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts +1 -0
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +2 -0
- package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +1 -0
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts +1 -0
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +2 -0
- package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +1 -0
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts +1 -0
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +2 -0
- package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -0
- package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts +1 -0
- package/dist/bigconsole/components/datasink/SetupStateBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/SetupStateBadge.js +2 -0
- package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +1 -0
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts +1 -0
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +2 -0
- package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +1 -0
- package/dist/bigconsole/components/datasink/index.d.ts +1 -0
- package/dist/bigconsole/components/datasink/index.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts +1 -0
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.js +2 -0
- package/dist/bigconsole/components/embed/EmbedErrorBoundary.js.map +1 -0
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts +1 -0
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js +2 -0
- package/dist/bigconsole/components/embed/EmbedWidgetRenderer.js.map +1 -0
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts +1 -0
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js +2 -0
- package/dist/bigconsole/components/embed/ReadOnlyDashboardRenderer.js.map +1 -0
- package/dist/bigconsole/components/embed/drilldown.d.ts +1 -0
- package/dist/bigconsole/components/embed/drilldown.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/drilldown.js +2 -0
- package/dist/bigconsole/components/embed/drilldown.js.map +1 -0
- package/dist/bigconsole/components/embed/index.d.ts +1 -0
- package/dist/bigconsole/components/embed/index.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/renderer-manifest.d.ts +1 -0
- package/dist/bigconsole/components/embed/renderer-manifest.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/renderer-manifest.js +2 -0
- package/dist/bigconsole/components/embed/renderer-manifest.js.map +1 -0
- package/dist/bigconsole/components/embed/types.d.ts +1 -0
- package/dist/bigconsole/components/embed/types.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/types.js +2 -0
- package/dist/bigconsole/components/embed/types.js.map +1 -0
- package/dist/bigconsole/components/embed/validate.d.ts +1 -0
- package/dist/bigconsole/components/embed/validate.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/validate.js +2 -0
- package/dist/bigconsole/components/embed/validate.js.map +1 -0
- package/dist/bigconsole/components/embed/widgetShim.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgetShim.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgetShim.js +2 -0
- package/dist/bigconsole/components/embed/widgetShim.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/CalendarEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/ChartEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.js +2 -0
- package/dist/bigconsole/components/embed/widgets/EmbedFrame.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/FormEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/FormEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/FormEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/GaugeEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/HeatmapEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/KanbanEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/KpiComparisonEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/ListEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/ListEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/ListEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/MetricCardEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/PivotEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/ProgressEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/RetentionEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/TableEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/TableEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/TableEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/TextEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/TextEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/TextEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js +2 -0
- package/dist/bigconsole/components/embed/widgets/TimelineEmbed.js.map +1 -0
- package/dist/bigconsole/components/embed/widgets/shared.d.ts +1 -0
- package/dist/bigconsole/components/embed/widgets/shared.d.ts.map +1 -0
- package/dist/bigconsole/components/embed/widgets/shared.js +2 -0
- package/dist/bigconsole/components/embed/widgets/shared.js.map +1 -0
- package/dist/bigconsole/components/overview/DashboardGuide.d.ts +1 -0
- package/dist/bigconsole/components/overview/DashboardGuide.d.ts.map +1 -0
- package/dist/bigconsole/components/overview/DashboardGuide.js +2 -0
- package/dist/bigconsole/components/overview/DashboardGuide.js.map +1 -0
- package/dist/bigconsole/components/overview/DataHealthCard.d.ts +1 -0
- package/dist/bigconsole/components/overview/DataHealthCard.d.ts.map +1 -0
- package/dist/bigconsole/components/overview/DataHealthCard.js +2 -0
- package/dist/bigconsole/components/overview/DataHealthCard.js.map +1 -0
- package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts +1 -0
- package/dist/bigconsole/components/overview/OverviewQuickActions.d.ts.map +1 -0
- package/dist/bigconsole/components/overview/OverviewQuickActions.js +2 -0
- package/dist/bigconsole/components/overview/OverviewQuickActions.js.map +1 -0
- package/dist/bigconsole/components/overview/OverviewStatCard.d.ts +1 -0
- package/dist/bigconsole/components/overview/OverviewStatCard.d.ts.map +1 -0
- package/dist/bigconsole/components/overview/OverviewStatCard.js +2 -0
- package/dist/bigconsole/components/overview/OverviewStatCard.js.map +1 -0
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts +1 -0
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.js +2 -0
- package/dist/bigconsole/components/overview/RecentDashboardsPanel.js.map +1 -0
- package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts +1 -0
- package/dist/bigconsole/components/overview/dashboardGuideSteps.d.ts.map +1 -0
- package/dist/bigconsole/components/overview/dashboardGuideSteps.js +2 -0
- package/dist/bigconsole/components/overview/dashboardGuideSteps.js.map +1 -0
- package/dist/bigconsole/components/overview/index.d.ts +1 -0
- package/dist/bigconsole/components/overview/index.d.ts.map +1 -0
- package/dist/bigconsole/components/overview/overviewModel.d.ts +1 -0
- package/dist/bigconsole/components/overview/overviewModel.d.ts.map +1 -0
- package/dist/bigconsole/components/overview/overviewModel.js +2 -0
- package/dist/bigconsole/components/overview/overviewModel.js.map +1 -0
- package/dist/bigconsole/components/overview/useOverviewData.d.ts +1 -0
- package/dist/bigconsole/components/overview/useOverviewData.d.ts.map +1 -0
- package/dist/bigconsole/components/overview/useOverviewData.js +2 -0
- package/dist/bigconsole/components/overview/useOverviewData.js.map +1 -0
- package/dist/bigconsole/components/parser/DataSinkSelector.d.ts +1 -0
- package/dist/bigconsole/components/parser/DataSinkSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/DataSinkSelector.js +2 -0
- package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -0
- package/dist/bigconsole/components/parser/ExportParserDialog.d.ts +1 -0
- package/dist/bigconsole/components/parser/ExportParserDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ExportParserDialog.js +2 -0
- package/dist/bigconsole/components/parser/ExportParserDialog.js.map +1 -0
- package/dist/bigconsole/components/parser/ExpressionEditor.d.ts +1 -0
- package/dist/bigconsole/components/parser/ExpressionEditor.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ExpressionEditor.js +2 -0
- package/dist/bigconsole/components/parser/ExpressionEditor.js.map +1 -0
- package/dist/bigconsole/components/parser/ImportParserDialog.d.ts +1 -0
- package/dist/bigconsole/components/parser/ImportParserDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ImportParserDialog.js +2 -0
- package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -0
- package/dist/bigconsole/components/parser/ParserBuilder.d.ts +1 -0
- package/dist/bigconsole/components/parser/ParserBuilder.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserCard.d.ts +1 -0
- package/dist/bigconsole/components/parser/ParserCard.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserCard.js +2 -0
- package/dist/bigconsole/components/parser/ParserCard.js.map +1 -0
- package/dist/bigconsole/components/parser/ParserFormDialog.d.ts +1 -0
- package/dist/bigconsole/components/parser/ParserFormDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserSelector.d.ts +1 -0
- package/dist/bigconsole/components/parser/ParserSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserSelector.js +2 -0
- package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -0
- package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts +1 -0
- package/dist/bigconsole/components/parser/ParserStatusBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserStatusBadge.js +2 -0
- package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +1 -0
- package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts +1 -0
- package/dist/bigconsole/components/parser/ParserTypeBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/ParserTypeBadge.js +2 -0
- package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +1 -0
- package/dist/bigconsole/components/parser/TestPanel.d.ts +1 -0
- package/dist/bigconsole/components/parser/TestPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/index.d.ts +1 -0
- package/dist/bigconsole/components/parser/index.d.ts.map +1 -0
- package/dist/bigconsole/components/parser/parserFieldStyles.d.ts +1 -0
- package/dist/bigconsole/components/parser/parserFieldStyles.d.ts.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineCard.d.ts +1 -0
- package/dist/bigconsole/components/pipeline/PipelineCard.d.ts.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineCard.js +2 -0
- package/dist/bigconsole/components/pipeline/PipelineCard.js.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts +1 -0
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +2 -0
- package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts +1 -0
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +2 -0
- package/dist/bigconsole/components/pipeline/PipelineScopePicker.js.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts +1 -0
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +2 -0
- package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +1 -0
- package/dist/bigconsole/components/pipeline/index.d.ts +1 -0
- package/dist/bigconsole/components/pipeline/index.d.ts.map +1 -0
- package/dist/bigconsole/components/preview/AiPreviewContent.d.ts +1 -0
- package/dist/bigconsole/components/preview/AiPreviewContent.d.ts.map +1 -0
- package/dist/bigconsole/components/preview/AiPreviewContent.js +2 -0
- package/dist/bigconsole/components/preview/AiPreviewContent.js.map +1 -0
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts +1 -0
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +2 -0
- package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -0
- package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts +1 -0
- package/dist/bigconsole/components/preview/AiPreviewPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/preview/AiPreviewPanel.js +2 -0
- package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -0
- package/dist/bigconsole/components/preview/parserPreview.d.ts +1 -0
- package/dist/bigconsole/components/preview/parserPreview.d.ts.map +1 -0
- package/dist/bigconsole/components/preview/parserPreview.js +2 -0
- package/dist/bigconsole/components/preview/parserPreview.js.map +1 -0
- package/dist/bigconsole/components/preview/previewShared.d.ts +1 -0
- package/dist/bigconsole/components/preview/previewShared.d.ts.map +1 -0
- package/dist/bigconsole/components/preview/previewShared.js +2 -0
- package/dist/bigconsole/components/preview/previewShared.js.map +1 -0
- package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts +1 -0
- package/dist/bigconsole/components/widgets/ActionConfigDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js +2 -0
- package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -0
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts +1 -0
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +2 -0
- package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -0
- package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts +1 -0
- package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/PropertiesPanel.js +2 -0
- package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts +1 -0
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +2 -0
- package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetHeader.d.ts +1 -0
- package/dist/bigconsole/components/widgets/WidgetHeader.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetHeader.js +2 -0
- package/dist/bigconsole/components/widgets/WidgetHeader.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetMenu.d.ts +1 -0
- package/dist/bigconsole/components/widgets/WidgetMenu.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetMenu.js +2 -0
- package/dist/bigconsole/components/widgets/WidgetMenu.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts +1 -0
- package/dist/bigconsole/components/widgets/WidgetRegistry.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetRegistry.js +3 -0
- package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts +1 -0
- package/dist/bigconsole/components/widgets/WidgetTypeSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts +1 -0
- package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/WidgetWrapper.js +2 -0
- package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +1 -0
- package/dist/bigconsole/components/widgets/actionConfig.d.ts +1 -0
- package/dist/bigconsole/components/widgets/actionConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/actionConfig.js +2 -0
- package/dist/bigconsole/components/widgets/actionConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +2 -0
- package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/adaptive-card/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts +1 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarView.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarView.js +2 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarView.js.map +1 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +2 -0
- package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/calendar/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/calendar/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js +2 -0
- package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartLegend.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartLegend.js +2 -0
- package/dist/bigconsole/components/widgets/chart/ChartLegend.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.js +2 -0
- package/dist/bigconsole/components/widgets/chart/ChartTooltip.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/ChartWidget.js +2 -0
- package/dist/bigconsole/components/widgets/chart/ChartWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js +2 -0
- package/dist/bigconsole/components/widgets/chart/charts/AreaChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.js +2 -0
- package/dist/bigconsole/components/widgets/chart/charts/BarChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js +2 -0
- package/dist/bigconsole/components/widgets/chart/charts/ComboChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js +2 -0
- package/dist/bigconsole/components/widgets/chart/charts/FunnelChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.js +2 -0
- package/dist/bigconsole/components/widgets/chart/charts/LineChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.js +2 -0
- package/dist/bigconsole/components/widgets/chart/charts/PieChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js +2 -0
- package/dist/bigconsole/components/widgets/chart/charts/ScatterChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js +2 -0
- package/dist/bigconsole/components/widgets/chart/charts/WaterfallChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js +2 -0
- package/dist/bigconsole/components/widgets/chart/charts/referenceElements.js.map +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/types.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/charts/types.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/chart/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/chart/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts +1 -0
- package/dist/bigconsole/components/widgets/comments/WidgetComments.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js +2 -0
- package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +1 -0
- package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/custom/CustomWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/custom/CustomWidget.js +133 -73
- package/dist/bigconsole/components/widgets/custom/CustomWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/custom/config.d.ts +1 -0
- package/dist/bigconsole/components/widgets/custom/config.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/custom/config.js +2 -0
- package/dist/bigconsole/components/widgets/custom/config.js.map +1 -0
- package/dist/bigconsole/components/widgets/custom/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/custom/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/custom/utils.d.ts +1 -0
- package/dist/bigconsole/components/widgets/custom/utils.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/custom/utils.js +2 -0
- package/dist/bigconsole/components/widgets/custom/utils.js.map +1 -0
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts +1 -0
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +2 -0
- package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -0
- package/dist/bigconsole/components/widgets/event-logs/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/event-logs/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/form/FormWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/form/FormWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/form/FormWidget.js +2 -0
- package/dist/bigconsole/components/widgets/form/FormWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/form/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/form/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/funnel/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/funnel/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/funnel/index.js +2 -0
- package/dist/bigconsole/components/widgets/funnel/index.js.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts +1 -0
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +2 -0
- package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts +1 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +2 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +2 -0
- package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts +1 -0
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +2 -0
- package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +1 -0
- package/dist/bigconsole/components/widgets/gauge/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/gauge/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts +1 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +2 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js +2 -0
- package/dist/bigconsole/components/widgets/heatmap/HeatmapWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/heatmap/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/heatmap/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts +10 -28
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +44 -115
- package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts +2 -2
- package/dist/bigconsole/components/widgets/iframe-widget/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/iframe-widget/index.js +2 -3
- package/dist/bigconsole/components/widgets/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts +1 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanView.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanView.js +2 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanView.js.map +1 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +2 -0
- package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/kanban/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/kanban/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kanban/model.d.ts +1 -0
- package/dist/bigconsole/components/widgets/kanban/model.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kanban/model.js +2 -0
- package/dist/bigconsole/components/widgets/kanban/model.js.map +1 -0
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.js +2 -0
- package/dist/bigconsole/components/widgets/kpi/KPIWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/kpi/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/kpi/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +2 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/kpi-comparison/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListConfig.d.ts +1 -0
- package/dist/bigconsole/components/widgets/list/ListConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListConfig.js +2 -0
- package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListItem.d.ts +1 -0
- package/dist/bigconsole/components/widgets/list/ListItem.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListItem.js +2 -0
- package/dist/bigconsole/components/widgets/list/ListItem.js.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/list/ListWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/list/ListWidget.js +2 -0
- package/dist/bigconsole/components/widgets/list/ListWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/list/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/list/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +2 -0
- package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/map-widget/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/map-widget/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts +1 -0
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js +2 -0
- package/dist/bigconsole/components/widgets/metric-card/ComparisonBadge.js.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts +1 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +2 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +2 -0
- package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts +1 -0
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +2 -0
- package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts +1 -0
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +2 -0
- package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +1 -0
- package/dist/bigconsole/components/widgets/metric-card/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/metric-card/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +2 -0
- package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/pivot-table/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/pivot-table/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressBar.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressBar.js +2 -0
- package/dist/bigconsole/components/widgets/progress/ProgressBar.js.map +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +2 -0
- package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +2 -0
- package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/progress/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/progress/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +2 -0
- package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/retention/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/retention/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/states/EmptyState.d.ts +1 -0
- package/dist/bigconsole/components/widgets/states/EmptyState.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/states/EmptyState.js +2 -0
- package/dist/bigconsole/components/widgets/states/EmptyState.js.map +1 -0
- package/dist/bigconsole/components/widgets/states/ErrorState.d.ts +1 -0
- package/dist/bigconsole/components/widgets/states/ErrorState.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/states/ErrorState.js +2 -0
- package/dist/bigconsole/components/widgets/states/ErrorState.js.map +1 -0
- package/dist/bigconsole/components/widgets/states/LoadingState.d.ts +1 -0
- package/dist/bigconsole/components/widgets/states/LoadingState.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/states/LoadingState.js +2 -0
- package/dist/bigconsole/components/widgets/states/LoadingState.js.map +1 -0
- package/dist/bigconsole/components/widgets/states/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/states/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableCell.d.ts +1 -0
- package/dist/bigconsole/components/widgets/table/TableCell.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableCell.js +2 -0
- package/dist/bigconsole/components/widgets/table/TableCell.js.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableConfig.d.ts +1 -0
- package/dist/bigconsole/components/widgets/table/TableConfig.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableConfig.js +2 -0
- package/dist/bigconsole/components/widgets/table/TableConfig.js.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableHeader.d.ts +1 -0
- package/dist/bigconsole/components/widgets/table/TableHeader.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableHeader.js +2 -0
- package/dist/bigconsole/components/widgets/table/TableHeader.js.map +1 -0
- package/dist/bigconsole/components/widgets/table/TablePagination.d.ts +1 -0
- package/dist/bigconsole/components/widgets/table/TablePagination.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/TablePagination.js +2 -0
- package/dist/bigconsole/components/widgets/table/TablePagination.js.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/table/TableWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/TableWidget.js +2 -0
- package/dist/bigconsole/components/widgets/table/TableWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/table/cellLink.d.ts +1 -0
- package/dist/bigconsole/components/widgets/table/cellLink.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/table/cellLink.js +2 -0
- package/dist/bigconsole/components/widgets/table/cellLink.js.map +1 -0
- package/dist/bigconsole/components/widgets/table/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/table/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +29 -110
- package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/text-widget/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/text-widget/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/text-widget/textData.d.ts +1 -6
- package/dist/bigconsole/components/widgets/text-widget/textData.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/text-widget/textData.js +16 -17
- package/dist/bigconsole/components/widgets/text-widget/textData.js.map +1 -0
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts +1 -0
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +2 -0
- package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +1 -0
- package/dist/bigconsole/components/widgets/timeline/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/timeline/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts +1 -0
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +2 -0
- package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +1 -0
- package/dist/bigconsole/components/widgets/utils/inferFields.d.ts +1 -0
- package/dist/bigconsole/components/widgets/utils/inferFields.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/utils/inferFields.js +2 -0
- package/dist/bigconsole/components/widgets/utils/inferFields.js.map +1 -0
- package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts +1 -0
- package/dist/bigconsole/components/widgets/utils/targetProgress.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/utils/targetProgress.js +2 -0
- package/dist/bigconsole/components/widgets/utils/targetProgress.js.map +1 -0
- package/dist/bigconsole/components/widgets/utils/translate.d.ts +1 -0
- package/dist/bigconsole/components/widgets/utils/translate.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/utils/translate.js +2 -0
- package/dist/bigconsole/components/widgets/utils/translate.js.map +1 -0
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts +1 -0
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +2 -0
- package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -0
- package/dist/bigconsole/components/widgets/webhook-config/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/webhook-config/index.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts +1 -0
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.d.ts.map +1 -0
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +2 -0
- package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -0
- package/dist/bigconsole/components/widgets/widget-actions/index.d.ts +1 -0
- package/dist/bigconsole/components/widgets/widget-actions/index.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts +1 -0
- package/dist/bigconsole/components/workflow/DataSinkMultiSelector.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowCard.d.ts +1 -0
- package/dist/bigconsole/components/workflow/WorkflowCard.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowCard.js +2 -0
- package/dist/bigconsole/components/workflow/WorkflowCard.js.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts +1 -0
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +2 -0
- package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts +1 -0
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js +2 -0
- package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts +1 -0
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +2 -0
- package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts +1 -0
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +2 -0
- package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts +1 -0
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.d.ts.map +1 -0
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +2 -0
- package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +1 -0
- package/dist/bigconsole/components/workflow/index.d.ts +1 -0
- package/dist/bigconsole/components/workflow/index.d.ts.map +1 -0
- package/dist/bigconsole/constants/backendErrors.d.ts +1 -0
- package/dist/bigconsole/constants/backendErrors.d.ts.map +1 -0
- package/dist/bigconsole/constants.d.ts +1 -0
- package/dist/bigconsole/constants.d.ts.map +1 -0
- package/dist/bigconsole/constants.js +2 -0
- package/dist/bigconsole/constants.js.map +1 -0
- package/dist/bigconsole/context/BigConsoleContext.d.ts +1 -10
- package/dist/bigconsole/context/BigConsoleContext.d.ts.map +1 -0
- package/dist/bigconsole/context/BigConsoleContext.js +32 -47
- package/dist/bigconsole/context/BigConsoleContext.js.map +1 -0
- package/dist/bigconsole/context/index.d.ts +2 -1
- package/dist/bigconsole/context/index.d.ts.map +1 -0
- package/dist/bigconsole/contexts/CrossFilterContext.d.ts +1 -0
- package/dist/bigconsole/contexts/CrossFilterContext.d.ts.map +1 -0
- package/dist/bigconsole/contexts/CrossFilterContext.js +2 -0
- package/dist/bigconsole/contexts/CrossFilterContext.js.map +1 -0
- package/dist/bigconsole/contexts/NavigationContext.d.ts +1 -0
- package/dist/bigconsole/contexts/NavigationContext.d.ts.map +1 -0
- package/dist/bigconsole/contexts/NavigationContext.js +2 -0
- package/dist/bigconsole/contexts/NavigationContext.js.map +1 -0
- package/dist/bigconsole/contexts/index.d.ts +1 -0
- package/dist/bigconsole/contexts/index.d.ts.map +1 -0
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts +1 -0
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.d.ts.map +1 -0
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +2 -0
- package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -0
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts +1 -0
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.d.ts.map +1 -0
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +2 -0
- package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -0
- package/dist/bigconsole/customWidget/index.d.ts +1 -0
- package/dist/bigconsole/customWidget/index.d.ts.map +1 -0
- package/dist/bigconsole/customWidget/proposalContract.d.ts +1 -0
- package/dist/bigconsole/customWidget/proposalContract.d.ts.map +1 -0
- package/dist/bigconsole/customWidget/proposalContract.js +2 -0
- package/dist/bigconsole/customWidget/proposalContract.js.map +1 -0
- package/dist/bigconsole/customWidget/proposalSource.d.ts +1 -0
- package/dist/bigconsole/customWidget/proposalSource.d.ts.map +1 -0
- package/dist/bigconsole/customWidget/proposalSource.js +2 -0
- package/dist/bigconsole/customWidget/proposalSource.js.map +1 -0
- package/dist/bigconsole/graphql/apollo-compat.d.ts +1 -0
- package/dist/bigconsole/graphql/apollo-compat.d.ts.map +1 -0
- package/dist/bigconsole/graphql/storeTemplates.d.ts +1 -0
- package/dist/bigconsole/graphql/storeTemplates.d.ts.map +1 -0
- package/dist/bigconsole/graphql/storeTemplates.js +2 -0
- package/dist/bigconsole/graphql/storeTemplates.js.map +1 -0
- package/dist/bigconsole/hooks/index.d.ts +1 -0
- package/dist/bigconsole/hooks/index.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useActivePage.d.ts +1 -0
- package/dist/bigconsole/hooks/useActivePage.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useActivePage.js +2 -0
- package/dist/bigconsole/hooks/useActivePage.js.map +1 -0
- package/dist/bigconsole/hooks/useAutoRefresh.d.ts +1 -0
- package/dist/bigconsole/hooks/useAutoRefresh.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useAutoRefresh.js +2 -0
- package/dist/bigconsole/hooks/useAutoRefresh.js.map +1 -0
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts +1 -0
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.js +2 -0
- package/dist/bigconsole/hooks/useBigConsoleAnalytics.js.map +1 -0
- package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts +1 -0
- package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useBigConsoleSettings.js +2 -0
- package/dist/bigconsole/hooks/useBigConsoleSettings.js.map +1 -0
- package/dist/bigconsole/hooks/useCrossFilter.d.ts +1 -0
- package/dist/bigconsole/hooks/useCrossFilter.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useCrossFilter.js +2 -0
- package/dist/bigconsole/hooks/useCrossFilter.js.map +1 -0
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts +1 -0
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js +2 -0
- package/dist/bigconsole/hooks/useDashboardEmbedPolicy.js.map +1 -0
- package/dist/bigconsole/hooks/useDashboardImageExport.d.ts +1 -0
- package/dist/bigconsole/hooks/useDashboardImageExport.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDashboardImageExport.js +2 -0
- package/dist/bigconsole/hooks/useDashboardImageExport.js.map +1 -0
- package/dist/bigconsole/hooks/useDashboardOperations.d.ts +1 -0
- package/dist/bigconsole/hooks/useDashboardOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDashboardOperations.js +2 -0
- package/dist/bigconsole/hooks/useDashboardOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useDashboardSharing.d.ts +1 -0
- package/dist/bigconsole/hooks/useDashboardSharing.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDashboardSharing.js +2 -0
- package/dist/bigconsole/hooks/useDashboardSharing.js.map +1 -0
- package/dist/bigconsole/hooks/useDashboardTemplates.d.ts +1 -0
- package/dist/bigconsole/hooks/useDashboardTemplates.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDashboardViews.d.ts +1 -0
- package/dist/bigconsole/hooks/useDashboardViews.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDashboardViews.js +2 -0
- package/dist/bigconsole/hooks/useDashboardViews.js.map +1 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +1 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.js +2 -0
- package/dist/bigconsole/hooks/useDataSinkAlerts.js.map +1 -0
- package/dist/bigconsole/hooks/useDataSinkOperations.d.ts +1 -7
- package/dist/bigconsole/hooks/useDataSinkOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDataSinkOperations.js +100 -109
- package/dist/bigconsole/hooks/useDataSinkOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts +1 -0
- package/dist/bigconsole/hooks/useDataSinkSubscription.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDataSinkSubscription.js +3 -0
- package/dist/bigconsole/hooks/useDataSinkSubscription.js.map +1 -0
- package/dist/bigconsole/hooks/useDrilldown.d.ts +1 -0
- package/dist/bigconsole/hooks/useDrilldown.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDrilldown.js +70 -69
- package/dist/bigconsole/hooks/useDrilldown.js.map +1 -0
- package/dist/bigconsole/hooks/useDrilldownOperations.d.ts +1 -0
- package/dist/bigconsole/hooks/useDrilldownOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useDrilldownOperations.js +2 -0
- package/dist/bigconsole/hooks/useDrilldownOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useEventLogs.d.ts +1 -0
- package/dist/bigconsole/hooks/useEventLogs.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useEventLogs.js +2 -0
- package/dist/bigconsole/hooks/useEventLogs.js.map +1 -0
- package/dist/bigconsole/hooks/useEventWebhooks.d.ts +1 -0
- package/dist/bigconsole/hooks/useEventWebhooks.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useEventWebhooks.js +2 -0
- package/dist/bigconsole/hooks/useEventWebhooks.js.map +1 -0
- package/dist/bigconsole/hooks/useExportDashboard.d.ts +1 -0
- package/dist/bigconsole/hooks/useExportDashboard.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useExportDashboard.js +2 -0
- package/dist/bigconsole/hooks/useExportDashboard.js.map +1 -0
- package/dist/bigconsole/hooks/useExportDataSink.d.ts +1 -0
- package/dist/bigconsole/hooks/useExportDataSink.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useExportDataSink.js +3 -1
- package/dist/bigconsole/hooks/useExportDataSink.js.map +1 -0
- package/dist/bigconsole/hooks/useExportParser.d.ts +1 -0
- package/dist/bigconsole/hooks/useExportParser.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useExportParser.js +2 -0
- package/dist/bigconsole/hooks/useExportParser.js.map +1 -0
- package/dist/bigconsole/hooks/useFilterPresets.d.ts +1 -0
- package/dist/bigconsole/hooks/useFilterPresets.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useFilterPresets.js +2 -0
- package/dist/bigconsole/hooks/useFilterPresets.js.map +1 -0
- package/dist/bigconsole/hooks/useFilterUrlSync.d.ts +1 -0
- package/dist/bigconsole/hooks/useFilterUrlSync.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useFilterUrlSync.js +2 -0
- package/dist/bigconsole/hooks/useFilterUrlSync.js.map +1 -0
- package/dist/bigconsole/hooks/useGlobalFilters.d.ts +1 -0
- package/dist/bigconsole/hooks/useGlobalFilters.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useGlobalFilters.js +2 -0
- package/dist/bigconsole/hooks/useGlobalFilters.js.map +1 -0
- package/dist/bigconsole/hooks/useImportDashboard.d.ts +1 -0
- package/dist/bigconsole/hooks/useImportDashboard.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useImportDashboard.js +2 -0
- package/dist/bigconsole/hooks/useImportDashboard.js.map +1 -0
- package/dist/bigconsole/hooks/useImportDataSink.d.ts +1 -0
- package/dist/bigconsole/hooks/useImportDataSink.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useImportDataSink.js +92 -102
- package/dist/bigconsole/hooks/useImportDataSink.js.map +1 -0
- package/dist/bigconsole/hooks/useImportParser.d.ts +1 -0
- package/dist/bigconsole/hooks/useImportParser.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useImportParser.js +2 -0
- package/dist/bigconsole/hooks/useImportParser.js.map +1 -0
- package/dist/bigconsole/hooks/useInstalledWidgets.d.ts +1 -0
- package/dist/bigconsole/hooks/useInstalledWidgets.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useInstalledWidgets.js +2 -0
- package/dist/bigconsole/hooks/useInstalledWidgets.js.map +1 -0
- package/dist/bigconsole/hooks/useModalFocusTrap.d.ts +1 -0
- package/dist/bigconsole/hooks/useModalFocusTrap.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useModalFocusTrap.js +2 -0
- package/dist/bigconsole/hooks/useModalFocusTrap.js.map +1 -0
- package/dist/bigconsole/hooks/usePageOperations.d.ts +1 -0
- package/dist/bigconsole/hooks/usePageOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/usePageOperations.js +2 -0
- package/dist/bigconsole/hooks/usePageOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useParserOperations.d.ts +1 -0
- package/dist/bigconsole/hooks/useParserOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useParserOperations.js +2 -0
- package/dist/bigconsole/hooks/useParserOperations.js.map +1 -0
- package/dist/bigconsole/hooks/usePipelineOperations.d.ts +1 -0
- package/dist/bigconsole/hooks/usePipelineOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/usePipelineOperations.js +2 -0
- package/dist/bigconsole/hooks/usePipelineOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useShareRecipients.d.ts +1 -0
- package/dist/bigconsole/hooks/useShareRecipients.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useShareRecipients.js +2 -0
- package/dist/bigconsole/hooks/useShareRecipients.js.map +1 -0
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts +1 -0
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.js +2 -0
- package/dist/bigconsole/hooks/useStoreDashboardTemplates.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetActions.d.ts +1 -0
- package/dist/bigconsole/hooks/useWidgetActions.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetActions.js +2 -0
- package/dist/bigconsole/hooks/useWidgetActions.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetCatalog.d.ts +1 -0
- package/dist/bigconsole/hooks/useWidgetCatalog.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetCatalog.js +2 -0
- package/dist/bigconsole/hooks/useWidgetCatalog.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetComments.d.ts +1 -0
- package/dist/bigconsole/hooks/useWidgetComments.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetComments.js +2 -0
- package/dist/bigconsole/hooks/useWidgetComments.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts +1 -0
- package/dist/bigconsole/hooks/useWidgetConfigPersist.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetConfigPersist.js +2 -0
- package/dist/bigconsole/hooks/useWidgetConfigPersist.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetData.d.ts +1 -0
- package/dist/bigconsole/hooks/useWidgetData.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetData.js +2 -0
- package/dist/bigconsole/hooks/useWidgetData.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetEvents.d.ts +1 -0
- package/dist/bigconsole/hooks/useWidgetEvents.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetEvents.js +2 -0
- package/dist/bigconsole/hooks/useWidgetEvents.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetExport.d.ts +1 -0
- package/dist/bigconsole/hooks/useWidgetExport.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetExport.js +2 -0
- package/dist/bigconsole/hooks/useWidgetExport.js.map +1 -0
- package/dist/bigconsole/hooks/useWidgetOperations.d.ts +1 -0
- package/dist/bigconsole/hooks/useWidgetOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWidgetOperations.js +2 -0
- package/dist/bigconsole/hooks/useWidgetOperations.js.map +1 -0
- package/dist/bigconsole/hooks/useWorkflowOperations.d.ts +1 -0
- package/dist/bigconsole/hooks/useWorkflowOperations.d.ts.map +1 -0
- package/dist/bigconsole/hooks/useWorkflowOperations.js +2 -0
- package/dist/bigconsole/hooks/useWorkflowOperations.js.map +1 -0
- package/dist/bigconsole/index.d.ts +1 -0
- package/dist/bigconsole/index.d.ts.map +1 -0
- package/dist/bigconsole/modules/dashboard/index.d.ts +1 -0
- package/dist/bigconsole/modules/dashboard/index.d.ts.map +1 -0
- package/dist/bigconsole/modules/index.d.ts +1 -0
- package/dist/bigconsole/modules/index.d.ts.map +1 -0
- package/dist/bigconsole/modules/renderer/index.d.ts +1 -0
- package/dist/bigconsole/modules/renderer/index.d.ts.map +1 -0
- package/dist/bigconsole/modules/widget/index.d.ts +1 -0
- package/dist/bigconsole/modules/widget/index.d.ts.map +1 -0
- package/dist/bigconsole/pages/AdminPage.d.ts +1 -0
- package/dist/bigconsole/pages/AdminPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/AdminPage.js +2 -0
- package/dist/bigconsole/pages/AdminPage.js.map +1 -0
- package/dist/bigconsole/pages/DashboardBuilderPage.d.ts +1 -0
- package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DashboardBuilderPage.js +2 -0
- package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -0
- package/dist/bigconsole/pages/DashboardViewPage.d.ts +1 -0
- package/dist/bigconsole/pages/DashboardViewPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DashboardViewPage.js +207 -205
- package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -0
- package/dist/bigconsole/pages/DashboardsPage.d.ts +1 -0
- package/dist/bigconsole/pages/DashboardsPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DashboardsPage.js +2 -0
- package/dist/bigconsole/pages/DashboardsPage.js.map +1 -0
- package/dist/bigconsole/pages/DataParsersPage.d.ts +1 -0
- package/dist/bigconsole/pages/DataParsersPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DataParsersPage.js +2 -0
- package/dist/bigconsole/pages/DataParsersPage.js.map +1 -0
- package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts +1 -0
- package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DataSinkAlertsPage.js +2 -0
- package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +1 -0
- package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts +1 -0
- package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DataSinkBuilderPage.js +282 -312
- package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -0
- package/dist/bigconsole/pages/DataSinkViewPage.d.ts +1 -0
- package/dist/bigconsole/pages/DataSinkViewPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DataSinkViewPage.js +257 -256
- package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -0
- package/dist/bigconsole/pages/DataSinksPage.d.ts +1 -0
- package/dist/bigconsole/pages/DataSinksPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DataSinksPage.js +197 -196
- package/dist/bigconsole/pages/DataSinksPage.js.map +1 -0
- package/dist/bigconsole/pages/DataSourcesPage.d.ts +1 -0
- package/dist/bigconsole/pages/DataSourcesPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/DataSourcesPage.js +2 -0
- package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -0
- package/dist/bigconsole/pages/InsightsPage.d.ts +1 -0
- package/dist/bigconsole/pages/InsightsPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/InsightsPage.js +2 -0
- package/dist/bigconsole/pages/InsightsPage.js.map +1 -0
- package/dist/bigconsole/pages/OverviewPage.d.ts +1 -0
- package/dist/bigconsole/pages/OverviewPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/OverviewPage.js +2 -0
- package/dist/bigconsole/pages/OverviewPage.js.map +1 -0
- package/dist/bigconsole/pages/ParserBuilderPage.d.ts +1 -0
- package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/ParserBuilderPage.js +2 -0
- package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -0
- package/dist/bigconsole/pages/ParserViewPage.d.ts +1 -0
- package/dist/bigconsole/pages/ParserViewPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/ParserViewPage.js +2 -0
- package/dist/bigconsole/pages/ParserViewPage.js.map +1 -0
- package/dist/bigconsole/pages/PipelineBuilderPage.d.ts +1 -0
- package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/PipelineBuilderPage.js +2 -0
- package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -0
- package/dist/bigconsole/pages/PipelineViewPage.d.ts +1 -0
- package/dist/bigconsole/pages/PipelineViewPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/PipelineViewPage.js +2 -0
- package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -0
- package/dist/bigconsole/pages/PipelinesPage.d.ts +1 -0
- package/dist/bigconsole/pages/PipelinesPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/PipelinesPage.js +2 -0
- package/dist/bigconsole/pages/PipelinesPage.js.map +1 -0
- package/dist/bigconsole/pages/SettingsPage.d.ts +1 -0
- package/dist/bigconsole/pages/SettingsPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/SettingsPage.js +2 -0
- package/dist/bigconsole/pages/SettingsPage.js.map +1 -0
- package/dist/bigconsole/pages/WidgetDemoPage.d.ts +1 -0
- package/dist/bigconsole/pages/WidgetDemoPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/WidgetDemoPage.js +2 -0
- package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -0
- package/dist/bigconsole/pages/WorkflowViewPage.d.ts +1 -0
- package/dist/bigconsole/pages/WorkflowViewPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/WorkflowViewPage.js +2 -0
- package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -0
- package/dist/bigconsole/pages/WorkflowsPage.d.ts +1 -0
- package/dist/bigconsole/pages/WorkflowsPage.d.ts.map +1 -0
- package/dist/bigconsole/pages/WorkflowsPage.js +2 -0
- package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -0
- package/dist/bigconsole/pages/index.d.ts +1 -0
- package/dist/bigconsole/pages/index.d.ts.map +1 -0
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts +1 -0
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.d.ts.map +1 -0
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +2 -0
- package/dist/bigconsole/providers/BigConsoleQuotaProvider.js.map +1 -0
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts +1 -0
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.d.ts.map +1 -0
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +124 -235
- package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +1 -0
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts +1 -0
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.d.ts.map +1 -0
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js +2 -0
- package/dist/bigconsole/renderers/adapters/BigConsoleRenderer.js.map +1 -0
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts +2 -6
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.d.ts.map +1 -0
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +157 -155
- package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +1 -0
- package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts +1 -0
- package/dist/bigconsole/renderers/adapters/CustomRenderer.d.ts.map +1 -0
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js +2 -0
- package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +1 -0
- package/dist/bigconsole/renderers/adapters/index.d.ts +1 -0
- package/dist/bigconsole/renderers/adapters/index.d.ts.map +1 -0
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts +1 -0
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.d.ts.map +1 -0
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js +2 -0
- package/dist/bigconsole/renderers/factory/WidgetRendererFactory.js.map +1 -0
- package/dist/bigconsole/renderers/index.d.ts +1 -0
- package/dist/bigconsole/renderers/index.d.ts.map +1 -0
- package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts +1 -0
- package/dist/bigconsole/renderers/registry/RendererRegistry.d.ts.map +1 -0
- package/dist/bigconsole/renderers/registry/RendererRegistry.js +2 -0
- package/dist/bigconsole/renderers/registry/RendererRegistry.js.map +1 -0
- package/dist/bigconsole/renderers/types/index.d.ts +1 -0
- package/dist/bigconsole/renderers/types/index.d.ts.map +1 -0
- package/dist/bigconsole/renderers/types/renderer.d.ts +1 -0
- package/dist/bigconsole/renderers/types/renderer.d.ts.map +1 -0
- package/dist/bigconsole/store/dashboardStore.d.ts +1 -0
- package/dist/bigconsole/store/dashboardStore.d.ts.map +1 -0
- package/dist/bigconsole/store/dashboardStore.js +2 -0
- package/dist/bigconsole/store/dashboardStore.js.map +1 -0
- package/dist/bigconsole/store/dataSinkStore.d.ts +1 -0
- package/dist/bigconsole/store/dataSinkStore.d.ts.map +1 -0
- package/dist/bigconsole/store/dataSinkStore.js +2 -0
- package/dist/bigconsole/store/dataSinkStore.js.map +1 -0
- package/dist/bigconsole/store/drilldownStore.d.ts +1 -0
- package/dist/bigconsole/store/drilldownStore.d.ts.map +1 -0
- package/dist/bigconsole/store/drilldownStore.js +2 -0
- package/dist/bigconsole/store/drilldownStore.js.map +1 -0
- package/dist/bigconsole/store/index.d.ts +1 -0
- package/dist/bigconsole/store/index.d.ts.map +1 -0
- package/dist/bigconsole/store/parserStore.d.ts +1 -0
- package/dist/bigconsole/store/parserStore.d.ts.map +1 -0
- package/dist/bigconsole/store/parserStore.js +2 -0
- package/dist/bigconsole/store/parserStore.js.map +1 -0
- package/dist/bigconsole/store/pipelineStore.d.ts +1 -0
- package/dist/bigconsole/store/pipelineStore.d.ts.map +1 -0
- package/dist/bigconsole/store/pipelineStore.js +2 -0
- package/dist/bigconsole/store/pipelineStore.js.map +1 -0
- package/dist/bigconsole/store/widgetStore.d.ts +1 -0
- package/dist/bigconsole/store/widgetStore.d.ts.map +1 -0
- package/dist/bigconsole/store/widgetStore.js +2 -0
- package/dist/bigconsole/store/widgetStore.js.map +1 -0
- package/dist/bigconsole/store/workflowStore.d.ts +1 -0
- package/dist/bigconsole/store/workflowStore.d.ts.map +1 -0
- package/dist/bigconsole/store/workflowStore.js +2 -0
- package/dist/bigconsole/store/workflowStore.js.map +1 -0
- package/dist/bigconsole/types/index.d.ts +3 -17
- package/dist/bigconsole/types/index.d.ts.map +1 -0
- package/dist/bigconsole/utils/alertRules.d.ts +1 -0
- package/dist/bigconsole/utils/alertRules.d.ts.map +1 -0
- package/dist/bigconsole/utils/alertRules.js +2 -0
- package/dist/bigconsole/utils/alertRules.js.map +1 -0
- package/dist/bigconsole/utils/backendError.d.ts +1 -0
- package/dist/bigconsole/utils/backendError.d.ts.map +1 -0
- package/dist/bigconsole/utils/createDialogParam.d.ts +1 -0
- package/dist/bigconsole/utils/createDialogParam.d.ts.map +1 -0
- package/dist/bigconsole/utils/createDialogParam.js +2 -0
- package/dist/bigconsole/utils/createDialogParam.js.map +1 -0
- package/dist/bigconsole/utils/csv.d.ts +1 -0
- package/dist/bigconsole/utils/csv.d.ts.map +1 -0
- package/dist/bigconsole/utils/csv.js +2 -0
- package/dist/bigconsole/utils/csv.js.map +1 -0
- package/dist/bigconsole/utils/dashboardTemplateContent.d.ts +1 -0
- package/dist/bigconsole/utils/dashboardTemplateContent.d.ts.map +1 -0
- package/dist/bigconsole/utils/dashboardTemplateContent.js +2 -0
- package/dist/bigconsole/utils/dashboardTemplateContent.js.map +1 -0
- package/dist/bigconsole/utils/drilldownParams.d.ts +1 -0
- package/dist/bigconsole/utils/drilldownParams.d.ts.map +1 -0
- package/dist/bigconsole/utils/drilldownParams.js +2 -0
- package/dist/bigconsole/utils/drilldownParams.js.map +1 -0
- package/dist/bigconsole/utils/format.d.ts +1 -0
- package/dist/bigconsole/utils/format.d.ts.map +1 -0
- package/dist/bigconsole/utils/format.js +2 -0
- package/dist/bigconsole/utils/format.js.map +1 -0
- package/dist/bigconsole/utils/index.d.ts +1 -2
- package/dist/bigconsole/utils/index.d.ts.map +1 -0
- package/dist/bigconsole/utils/quota.d.ts +1 -0
- package/dist/bigconsole/utils/quota.d.ts.map +1 -0
- package/dist/bigconsole/utils/quota.js +2 -0
- package/dist/bigconsole/utils/quota.js.map +1 -0
- package/dist/bigconsole/utils/semanticTokens.d.ts +1 -0
- package/dist/bigconsole/utils/semanticTokens.d.ts.map +1 -0
- package/dist/bigconsole/utils/semanticTokens.js +2 -0
- package/dist/bigconsole/utils/semanticTokens.js.map +1 -0
- package/dist/bigconsole/utils/templateInstallInputs.d.ts +1 -0
- package/dist/bigconsole/utils/templateInstallInputs.d.ts.map +1 -0
- package/dist/bigconsole/utils/templateInstallInputs.js +2 -0
- package/dist/bigconsole/utils/templateInstallInputs.js.map +1 -0
- package/dist/bigconsole/utils/widgetBinding.d.ts +1 -0
- package/dist/bigconsole/utils/widgetBinding.d.ts.map +1 -0
- package/dist/bigconsole/utils/widgetBinding.js +2 -0
- package/dist/bigconsole/utils/widgetBinding.js.map +1 -0
- package/dist/bigconsole/utils/widgetPositioning.d.ts +1 -0
- package/dist/bigconsole/utils/widgetPositioning.d.ts.map +1 -0
- package/dist/bigconsole/utils/widgetPositioning.js +2 -0
- package/dist/bigconsole/utils/widgetPositioning.js.map +1 -0
- package/dist/bigconsole/utils/widgetTypeMapping.d.ts +1 -0
- package/dist/bigconsole/utils/widgetTypeMapping.d.ts.map +1 -0
- package/dist/bigconsole/utils/widgetTypeMapping.js +2 -0
- package/dist/bigconsole/utils/widgetTypeMapping.js.map +1 -0
- package/dist/bigconsole/workflowOpen.d.ts +1 -0
- package/dist/bigconsole/workflowOpen.d.ts.map +1 -0
- package/dist/bigconsole/workflowOpen.js +2 -0
- package/dist/bigconsole/workflowOpen.js.map +1 -0
- package/dist/constants/permissions.d.ts +1 -0
- package/dist/constants/permissions.d.ts.map +1 -0
- package/dist/constants/permissions.js +2 -0
- package/dist/constants/permissions.js.map +1 -0
- package/dist/generated/global-operations.d.ts +1 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-operations.js +2 -0
- package/dist/generated/global-operations.js.map +1 -0
- package/dist/generated/global-types.d.ts +1 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +9 -138
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-operations.js +242 -281
- package/dist/generated/wspace-operations.js.map +1 -0
- package/dist/generated/wspace-types.d.ts +1 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/generated/wspace-types.js +2 -0
- package/dist/generated/wspace-types.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/node_modules/@e965/xlsx/xlsx.js +2 -0
- package/dist/node_modules/@e965/xlsx/xlsx.js.map +1 -0
- package/dist/node_modules/pdfjs-dist/build/pdf.js +2 -0
- package/dist/node_modules/pdfjs-dist/build/pdf.js.map +1 -0
- package/dist/shared/hooks/useTr.d.ts +1 -0
- package/dist/shared/hooks/useTr.d.ts.map +1 -0
- package/dist/shared/hooks/useTr.js +2 -0
- package/dist/shared/hooks/useTr.js.map +1 -0
- package/dist/stories/DashboardGuide.stories.d.ts +15 -0
- package/dist/stories/DashboardGuide.stories.d.ts.map +1 -0
- package/dist/stories/DataSinkStatusBadge.stories.d.ts +12 -0
- package/dist/stories/DataSinkStatusBadge.stories.d.ts.map +1 -0
- package/dist/stories/GaugeWidget.stories.d.ts +58 -0
- package/dist/stories/GaugeWidget.stories.d.ts.map +1 -0
- package/dist/stories/KPIComparisonWidget.stories.d.ts +76 -0
- package/dist/stories/KPIComparisonWidget.stories.d.ts.map +1 -0
- package/dist/stories/LiveCanvasToggle.stories.d.ts +9 -0
- package/dist/stories/LiveCanvasToggle.stories.d.ts.map +1 -0
- package/dist/stories/MetricCardWidget.stories.d.ts +88 -0
- package/dist/stories/MetricCardWidget.stories.d.ts.map +1 -0
- package/dist/stories/ProgressWidget.stories.d.ts +48 -0
- package/dist/stories/ProgressWidget.stories.d.ts.map +1 -0
- package/dist/stories/SetupStateBadge.stories.d.ts +12 -0
- package/dist/stories/SetupStateBadge.stories.d.ts.map +1 -0
- package/dist/translations/en.d.ts +1 -0
- package/dist/translations/en.d.ts.map +1 -0
- package/dist/utils/nativeBridge.d.ts +1 -0
- package/dist/utils/nativeBridge.d.ts.map +1 -0
- package/package.json +6 -11
- package/dist/bigconsole/components/widgets/iframe-widget/framePolicy.d.ts +0 -20
- package/dist/bigconsole/components/widgets/iframe-widget/framePolicy.js +0 -10
- package/dist/bigconsole/renderers/adapters/adaptiveCardContent.d.ts +0 -29
- package/dist/bigconsole/renderers/adapters/adaptiveCardContent.js +0 -51
- package/dist/bigconsole/utils/dataSinkPayload.d.ts +0 -48
- package/dist/bigconsole/utils/dataSinkPayload.js +0 -38
- package/dist/bigconsole/utils/safeUrl.d.ts +0 -79
- package/dist/bigconsole/utils/safeUrl.js +0 -93
- package/dist/bigconsole/utils/sanitizeHtml.d.ts +0 -16
- package/dist/bigconsole/utils/sanitizeHtml.js +0 -67
- package/dist/node_modules/dompurify/dist/purify.es.js +0 -800
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bigconsole/components/widgets/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanView.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kanban/KanbanView.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAmC,MAAM,OAAO,CAAC;AACjE,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAM5D,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,qGAAqG;IACrG,CAAC,EAAE,iBAAiB,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AAmBD,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAqNzC,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanView.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/kanban/KanbanView.tsx"],"sourcesContent":["/**\n * KanbanWidget Component\n *\n * Simple kanban board view with columns and tasks.\n */\n\nimport { type FC, memo, useMemo, useRef, useState } from 'react';\nimport {\n normalizeKanban,\n applyKanbanMoves,\n validKanbanMoves,\n type KanbanData,\n type KanbanTask,\n type KanbanColumnMove,\n} from './model';\nexport type { KanbanData, KanbanTask, KanbanColumn } from './model';\nimport type { Widget } from '../../../types';\nimport type { WidgetTranslateFn } from '../utils/translate';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface KanbanViewProps extends KanbanWidgetProps {\n /** Translator — the app passes useI18n().t; the public embed passes a static fallback translator. */\n t: WidgetTranslateFn;\n interactive?: boolean;\n onSaveMoves?: (moves: KanbanColumnMove[]) => Promise<boolean>;\n}\n\nexport interface KanbanWidgetProps {\n widget: Widget;\n data?: KanbanData;\n onClick?: (task: KanbanTask) => void;\n}\n\nfunction getPriorityColor(priority?: string): string {\n switch (priority) {\n case 'high':\n return 'bg-status-error-bg/20 text-status-error-text';\n case 'medium':\n return 'bg-status-warning-bg/20 text-[var(--color-status-warning-text)]';\n case 'low':\n return 'bg-status-success-bg/20 text-status-success-text';\n default:\n return 'bg-bg-sunken text-text-secondary';\n }\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const KanbanView: FC<KanbanViewProps> = memo(function KanbanView({\n widget,\n data,\n onClick,\n t,\n onSaveMoves,\n interactive = false,\n}) {\n const config = widget.config as Record<string, unknown> | undefined;\n const { columns, tasks: sourceTasks } = useMemo(() => normalizeKanban(data, config), [data, config]);\n const [local, setLocal] = useState<{ data: unknown; widgetId: string; moves: KanbanColumnMove[] } | null>(null);\n const [saving, setSaving] = useState(false);\n const [announcement, setAnnouncement] = useState('');\n const dragging = useRef<string | null>(null);\n const moves =\n local && local.data === data && local.widgetId === widget.id\n ? local.moves\n : validKanbanMoves(config?.kanbanColumnMoves);\n const tasks = useMemo(() => applyKanbanMoves(sourceTasks, columns, moves), [sourceTasks, columns, moves]);\n const moveTask = async (taskId: string, targetColumn: string) => {\n if (!interactive || saving || !columns.some((column) => column.id === targetColumn)) return;\n const task = sourceTasks.find((item) => item.id === taskId);\n if (!task || tasks.find((item) => item.id === taskId)?.column === targetColumn) return;\n const previous = validKanbanMoves(moves);\n const next = [\n ...previous.filter((move) => move.taskId !== taskId),\n { taskId, sourceColumn: task.column, targetColumn },\n ];\n setLocal({ data, widgetId: widget.id, moves: next });\n if (!onSaveMoves || !task.stableId) {\n setAnnouncement(\n t('bigconsole.widget.kanban.move.temporary', '{{title}} moved to {{column}} for this view.', {\n title: task.title,\n column: targetColumn,\n })\n );\n return;\n }\n setSaving(true);\n let saved: boolean;\n try {\n saved = await onSaveMoves(\n next.filter((move) => sourceTasks.some((source) => source.id === move.taskId && source.stableId))\n );\n } catch {\n saved = false;\n }\n setSaving(false);\n if (!saved) {\n setLocal({ data, widgetId: widget.id, moves: previous });\n setAnnouncement(\n t(\n 'bigconsole.widget.kanban.move.failed',\n 'Could not save the move. The card was returned to its previous column.'\n )\n );\n } else {\n setAnnouncement(\n t('bigconsole.widget.kanban.move.saved', '{{title}} moved to {{column}} and saved.', {\n title: task.title,\n column: targetColumn,\n })\n );\n }\n };\n\n // Group tasks by column\n const tasksByColumn = useMemo(() => {\n const grouped = new Map<string, KanbanTask[]>();\n columns.forEach((col) => {\n grouped.set(\n col.id,\n tasks.filter((t) => t.column === col.id)\n );\n });\n return grouped;\n }, [columns, tasks]);\n\n if (!columns.length) {\n return (\n <div className=\"flex items-center justify-center h-full text-text-secondary text-sm\">\n <div className=\"text-center\">\n <svg className=\"w-12 h-12 mx-auto mb-2 text-text-muted\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"M9 17V7m0 10a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2h2a2 2 0 012 2m0 10a2 2 0 002 2h2a2 2 0 002-2M9 7a2 2 0 012-2h2a2 2 0 012 2m0 10V7m0 10a2 2 0 002 2h2a2 2 0 002-2V7a2 2 0 00-2-2h-2a2 2 0 00-2 2\"\n />\n </svg>\n <p>{t('bigconsole.widget.kanban.emptyState', 'No board data')}</p>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"flex h-full flex-col\">\n {interactive && (\n <p role=\"status\" className=\"px-2 pt-2 text-xs text-text-secondary\">\n {announcement ||\n (onSaveMoves\n ? t('bigconsole.widget.kanban.move.editorHint', 'Moves are saved to this widget.')\n : t('bigconsole.widget.kanban.move.viewerHint', 'Moves are temporary in this view.'))}\n </p>\n )}\n <div className=\"flex min-h-0 flex-1 p-2 gap-2 overflow-x-auto\">\n {columns.map((column) => {\n const columnTasks = tasksByColumn.get(column.id) || [];\n\n return (\n <div\n key={column.id}\n aria-label={`Column ${column.title}`}\n className=\"flex-shrink-0 w-48 flex flex-col bg-bg-sunken/50 rounded-lg\"\n onDragOver={(event) => {\n if (dragging.current && !saving) {\n // The dashboard's palette drop zone uses a copy effect; task moves must stay local.\n event.stopPropagation();\n event.preventDefault();\n event.dataTransfer.dropEffect = 'move';\n }\n }}\n onDrop={(event) => {\n event.preventDefault();\n event.stopPropagation();\n const id = dragging.current;\n dragging.current = null;\n if (id) void moveTask(id, column.id);\n }}\n >\n {/* Column Header */}\n <div className=\"flex items-center gap-2 p-2 border-b border-border-default\">\n <div\n className=\"w-2 h-2 rounded-full\"\n style={{ backgroundColor: column.color || 'var(--color-text-muted)' }}\n />\n <span className=\"text-xs font-medium text-text-primary truncate\">{column.title}</span>\n <span className=\"ml-auto text-xs text-text-muted\">{columnTasks.length}</span>\n </div>\n\n {/* Tasks */}\n <div className=\"flex-1 p-2 space-y-2 overflow-y-auto\">\n {columnTasks.map((task) => (\n <div\n key={task.id}\n draggable={interactive && !saving}\n onDragStart={(event) => {\n event.stopPropagation();\n dragging.current = task.id;\n event.dataTransfer.effectAllowed = 'move';\n event.dataTransfer.setData('text/plain', task.id);\n }}\n onDragEnd={() => {\n dragging.current = null;\n }}\n className={`\n p-2 bg-bg-surface rounded border border-border-default\n ${onClick ? 'cursor-pointer hover:border-action-primary-bg' : ''}\n transition-colors\n `}\n onClick={() => onClick?.(task)}\n >\n <p className=\"text-xs font-medium text-text-primary line-clamp-2\">{task.title}</p>\n {task.description && (\n <p className=\"mt-1 text-xs text-text-secondary line-clamp-3\">{task.description}</p>\n )}\n {interactive && (\n <select\n aria-label={`Move ${task.title} to column`}\n value={task.column}\n disabled={saving}\n onClick={(event) => event.stopPropagation()}\n onChange={(event) => {\n void moveTask(task.id, event.target.value);\n }}\n className=\"mt-2 w-full rounded border border-border-default bg-bg-surface text-xs text-text-secondary\"\n >\n {columns.map((target) => (\n <option key={target.id} value={target.id}>\n {target.title}\n </option>\n ))}\n </select>\n )}\n\n <div className=\"flex items-center gap-1 mt-2 flex-wrap\">\n {task.priority && (\n <span className={`px-1.5 py-0.5 text-[10px] rounded ${getPriorityColor(task.priority)}`}>\n {task.priority}\n </span>\n )}\n {task.assignee && (\n <span className=\"px-1.5 py-0.5 text-[10px] rounded bg-action-primary-bg/10 text-action-primary-text\">\n {task.assignee}\n </span>\n )}\n </div>\n </div>\n ))}\n\n {columnTasks.length === 0 && (\n <p className=\"text-[10px] text-text-muted text-center py-4\">\n {t('bigconsole.widget.kanban.noTasks', 'No tasks')}\n </p>\n )}\n </div>\n </div>\n );\n })}\n </div>\n </div>\n );\n});\n\nexport default KanbanView;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanWidget.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kanban/KanbanWidget.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAElE,cAAc,cAAc,CAAC;AAE7B,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAW7C,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/kanban/KanbanWidget.tsx"],"sourcesContent":["/**\n * KanbanWidget — in-app wrapper around the pure KanbanView (BOFF-7926).\n *\n * The view is i18n-provider-free so the public embed bundle can render it with a\n * static translator (the fe-libs I18nProvider touches localStorage, which throws\n * in third-party iframes when the visitor blocks third-party storage).\n */\n\nimport { type FC, memo } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useWidgetConfigPersist } from '../../../hooks/useWidgetConfigPersist';\nimport { KanbanView, type KanbanWidgetProps } from './KanbanView';\n\nexport * from './KanbanView';\n\nexport const KanbanWidget: FC<KanbanWidgetProps> = memo(function KanbanWidget(props) {\n const { t } = useI18n();\n const { canPersist, persistConfig } = useWidgetConfigPersist(props.widget);\n return (\n <KanbanView\n {...props}\n t={t}\n interactive\n onSaveMoves={canPersist ? (moves) => persistConfig({ kanbanColumnMoves: moves }) : undefined}\n />\n );\n});\n\nexport default KanbanWidget;\n"],"mappings":";;;;;;AAeA,IAAa,IAAsC,EAAK,SAAsB,GAAO;CACnF,IAAM,EAAE,SAAM,GAAS,EACjB,EAAE,eAAY,qBAAkB,EAAuB,EAAM,OAAO;AAC1E,QACE,kBAAC,GAAD;EACE,GAAI;EACD;EACH,aAAA;EACA,aAAa,KAAc,MAAU,EAAc,EAAE,mBAAmB,GAAO,CAAC,GAAG,KAAA;EACnF,CAAA;EAEJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kanban/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -39,3 +39,4 @@ export interface KanbanColumnMove {
|
|
|
39
39
|
export declare function validKanbanMoves(value: unknown): KanbanColumnMove[];
|
|
40
40
|
/** Overrides only affect a current card in its original source column. */
|
|
41
41
|
export declare function applyKanbanMoves(tasks: KanbanTask[], columns: KanbanColumn[], value: unknown): KanbanTask[];
|
|
42
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kanban/model.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;CACtB;AAqED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B;IAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,EAAE,UAAU,EAAE,CAAA;CAAE,CAwDlD;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,EAAE,CAWnE;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,EAAE,CAY3G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/kanban/model.ts"],"sourcesContent":["export interface KanbanColumn {\n id: string;\n title: string;\n color?: string;\n}\n\nexport interface KanbanTask {\n id: string;\n title: string;\n column: string;\n description?: string;\n stableId?: boolean;\n priority?: 'high' | 'medium' | 'low';\n assignee?: string;\n labels?: string[];\n dueDate?: string;\n}\n\nexport interface KanbanData {\n columns?: KanbanColumn[];\n tasks?: KanbanTask[];\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\n// Field names we try, in order, when the widget config doesn't name one\n// explicitly. A DataSink/parser typically emits a flat array of rows (e.g. the\n// Linear \"Kanban board\" parser -> [{ id, title, status, assignee, ... }]), so\n// the board is derived from a status/column field on those rows.\nconst COLUMN_FIELD_CANDIDATES = ['status', 'state', 'column', 'stage', 'category', 'phase', 'group'];\nconst TITLE_FIELD_CANDIDATES = ['title', 'name', 'summary', 'label', 'identifier', 'id'];\n\nfunction asString(value: unknown): string | undefined {\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n}\n\n/** Coerce parser output into an array of object rows (handles common envelopes). */\nfunction asRows(data: unknown): Record<string, unknown>[] {\n const onlyObjects = (arr: unknown[]): Record<string, unknown>[] =>\n arr.filter((r): r is Record<string, unknown> => !!r && typeof r === 'object' && !Array.isArray(r));\n\n if (Array.isArray(data)) return onlyObjects(data);\n\n if (data && typeof data === 'object') {\n const obj = data as Record<string, unknown>;\n for (const key of ['tasks', 'rows', 'items', 'data', 'nodes', 'results', 'records']) {\n if (Array.isArray(obj[key])) return onlyObjects(obj[key] as unknown[]);\n }\n const firstArray = Object.values(obj).find((v) => Array.isArray(v));\n if (Array.isArray(firstArray)) return onlyObjects(firstArray);\n }\n return [];\n}\n\n/** First key that actually exists on the sample row. */\nfunction firstPresent(row: Record<string, unknown>, keys: (string | undefined)[]): string | undefined {\n for (const key of keys) {\n if (key && key in row) return key;\n }\n return undefined;\n}\n\nfunction normalizePriority(value: unknown): KanbanTask['priority'] {\n const v = asString(value)?.toLowerCase();\n if (!v) return undefined;\n if (v === 'urgent' || v === 'high') return 'high';\n if (v === 'medium' || v === 'normal') return 'medium';\n if (v === 'low') return 'low';\n return undefined;\n}\n\n/** Index fallbacks are local-only and cannot collide with source IDs. */\nfunction taskIdentities(values: unknown[]): { id: string; stableId: boolean }[] {\n const ids = values.map((value) => (typeof value === 'string' || typeof value === 'number' ? String(value) : ''));\n const counts = new Map<string, number>();\n ids.forEach((id) => {\n if (id) counts.set(id, (counts.get(id) ?? 0) + 1);\n });\n const used = new Set(ids);\n return ids.map((id, index) => {\n if (id && counts.get(id) === 1) return { id, stableId: true };\n let localId = `row-${index}`;\n while (used.has(localId)) localId += '-local';\n used.add(localId);\n return { id: localId, stableId: false };\n });\n}\n\n/**\n * Normalize widget data into the board's { columns, tasks } shape.\n *\n * KanbanWidget previously required the exact canonical shape and rendered\n * \"No board data\" for any DataSink/parser output that was a plain array of\n * rows (which is what parsers actually emit) — BOFF-4110. This adapts a flat\n * array into columns (distinct values of a status/column field, in first-seen\n * order) plus one card per row, honoring config field mappings with fallbacks.\n */\nexport function normalizeKanban(\n data: unknown,\n config?: Record<string, unknown>\n): { columns: KanbanColumn[]; tasks: KanbanTask[] } {\n // Canonical shape passes through untouched (back-compat).\n if (data && typeof data === 'object' && !Array.isArray(data) && Array.isArray((data as KanbanData).columns)) {\n const d = data as KanbanData;\n const identities = taskIdentities((d.tasks ?? []).map((task) => task.id));\n return {\n columns: d.columns ?? [],\n tasks: (d.tasks ?? []).map((task, index) => ({ ...task, ...identities[index] })),\n };\n }\n\n const rows = asRows(data);\n if (rows.length === 0) return { columns: [], tasks: [] };\n\n const sample = rows[0];\n const columnField = firstPresent(sample, [\n asString(config?.columnField),\n asString(config?.groupField),\n asString(config?.statusField),\n ...COLUMN_FIELD_CANDIDATES,\n asString(config?.xAxisField),\n asString(config?.labelField),\n ]);\n if (!columnField) return { columns: [], tasks: [] };\n\n const titleField = firstPresent(sample, [\n asString(config?.cardTitleField),\n asString(config?.titleField),\n ...TITLE_FIELD_CANDIDATES,\n asString(config?.labelField),\n ]);\n\n const identities = taskIdentities(rows.map((row) => row.id ?? row.identifier ?? row.key));\n const columnTitles = new Map<string, string>();\n const columnOrder: string[] = [];\n const tasks: KanbanTask[] = rows.map((row, i) => {\n const columnRaw = row[columnField];\n const column = columnRaw == null || columnRaw === '' ? 'Uncategorized' : String(columnRaw);\n if (!columnTitles.has(column)) {\n columnTitles.set(column, column);\n columnOrder.push(column);\n }\n const labels = Array.isArray(row.labels) ? row.labels.filter((l): l is string => typeof l === 'string') : undefined;\n return {\n ...identities[i],\n description: asString(row[asString(config?.cardDescriptionField) ?? 'description']),\n title: titleField && row[titleField] != null ? String(row[titleField]) : `Item ${i + 1}`,\n column,\n assignee: asString(row.assignee),\n priority: normalizePriority(row.priority ?? row.priorityLabel),\n labels: labels && labels.length > 0 ? labels : undefined,\n };\n });\n\n const columns: KanbanColumn[] = columnOrder.map((id) => ({ id, title: columnTitles.get(id) ?? id }));\n return { columns, tasks };\n}\n\nexport interface KanbanColumnMove {\n taskId: string;\n sourceColumn: string;\n targetColumn: string;\n}\n\nexport function validKanbanMoves(value: unknown): KanbanColumnMove[] {\n if (!Array.isArray(value)) return [];\n return value.filter((move): move is KanbanColumnMove => {\n if (!move || typeof move !== 'object') return false;\n const candidate = move as Partial<KanbanColumnMove>;\n return (\n typeof candidate.taskId === 'string' &&\n typeof candidate.sourceColumn === 'string' &&\n typeof candidate.targetColumn === 'string'\n );\n });\n}\n\n/** Overrides only affect a current card in its original source column. */\nexport function applyKanbanMoves(tasks: KanbanTask[], columns: KanbanColumn[], value: unknown): KanbanTask[] {\n const moves = validKanbanMoves(value);\n const targets = new Set(columns.map((column) => column.id));\n return tasks.map((task) => {\n const move = [...moves]\n .reverse()\n .find(\n (candidate) =>\n candidate.taskId === task.id && candidate.sourceColumn === task.column && targets.has(candidate.targetColumn)\n );\n return move ? { ...task, column: move.targetColumn } : task;\n });\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KPIWidget.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kpi/KPIWidget.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAMpF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAuCD,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAgFvC,CAAC;AAEH,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KPIWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/kpi/KPIWidget.tsx"],"sourcesContent":["/**\n * KPIWidget Component\n *\n * Multi-KPI comparison card showing multiple metrics together.\n */\n\nimport { type FC, memo, useCallback } from 'react';\nimport type { Widget, KPIConfig } from '../../../types';\nimport { TrendIndicator, type TrendDirection } from '../metric-card/TrendIndicator';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface KPIWidgetProps {\n widget: Widget;\n data?: KPIData;\n onClick?: (metricIndex: number) => void;\n}\n\nexport interface KPIMetric {\n label: string;\n value: number | string;\n previousValue?: number;\n changePercent?: number;\n trend?: TrendDirection;\n unit?: string;\n}\n\nexport interface KPIData {\n metrics: KPIMetric[];\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\nfunction formatValue(value: number | string, format?: string): string {\n if (typeof value === 'string') return value;\n\n switch (format) {\n case 'currency':\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n maximumFractionDigits: 0,\n }).format(value);\n case 'percentage':\n return `${(value * 100).toFixed(1)}%`;\n case 'compact':\n return new Intl.NumberFormat('en-US', {\n notation: 'compact',\n maximumFractionDigits: 1,\n }).format(value);\n default:\n return new Intl.NumberFormat('en-US', {\n maximumFractionDigits: 2,\n }).format(value);\n }\n}\n\nfunction getTrend(changePercent?: number): TrendDirection {\n if (changePercent === undefined || changePercent === 0) return 'flat';\n return changePercent > 0 ? 'up' : 'down';\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const KPIWidget: FC<KPIWidgetProps> = memo(function KPIWidget({ widget, data, onClick }) {\n const config = widget.config as unknown as KPIConfig | undefined;\n\n const handleMetricClick = useCallback(\n (index: number) => {\n if (onClick && widget.drilldowns?.length) {\n onClick(index);\n }\n },\n [onClick, widget.drilldowns]\n );\n\n const isClickable = Boolean(onClick && widget.drilldowns?.length);\n\n if (!data?.metrics?.length) {\n return null;\n }\n\n const layout = config?.layout || 'horizontal';\n\n return (\n <div className=\"flex flex-col h-full p-4\">\n <div\n className={`\n grid gap-4\n ${layout === 'horizontal' ? 'md:grid-cols-2 lg:grid-cols-4' : 'grid-cols-1'}\n flex-1\n `}\n >\n {data.metrics.map((metric, index) => (\n <div\n key={index}\n className={`\n flex flex-col p-4\n bg-bg-sunken/50\n rounded-lg\n ${isClickable ? 'cursor-pointer hover:bg-bg-sunken transition-colors' : ''}\n `}\n onClick={() => handleMetricClick(index)}\n role={isClickable ? 'button' : undefined}\n tabIndex={isClickable ? 0 : undefined}\n >\n {/* Label */}\n <p className=\"text-xs text-text-secondary uppercase tracking-wide mb-1\">{metric.label}</p>\n\n {/* Value */}\n <div className=\"flex items-baseline gap-2\">\n <span className=\"text-2xl font-bold text-text-primary\">{formatValue(metric.value, config?.format)}</span>\n {metric.unit && <span className=\"text-sm text-text-secondary\">{metric.unit}</span>}\n </div>\n\n {/* Change indicator */}\n {metric.changePercent !== undefined && (\n <div className=\"flex items-center gap-1 mt-2\">\n <TrendIndicator\n direction={metric.trend || getTrend(metric.changePercent)}\n size=\"sm\"\n positiveIsGood={config?.positiveIsGood !== false}\n />\n <span\n className={`text-xs ${\n metric.changePercent >= 0\n ? config?.positiveIsGood !== false\n ? 'text-status-success-text'\n : 'text-status-error-text'\n : config?.positiveIsGood !== false\n ? 'text-status-error-text'\n : 'text-status-success-text'\n }`}\n >\n {metric.changePercent > 0 ? '+' : ''}\n {metric.changePercent.toFixed(1)}%\n </span>\n </div>\n )}\n </div>\n ))}\n </div>\n </div>\n );\n});\n\nexport default KPIWidget;\n"],"mappings":";;;;AAqCA,SAAS,EAAY,GAAwB,GAAyB;AACpE,KAAI,OAAO,KAAU,SAAU,QAAO;AAEtC,SAAQ,GAAR;EACE,KAAK,WACH,QAAO,IAAI,KAAK,aAAa,SAAS;GACpC,OAAO;GACP,UAAU;GACV,uBAAuB;GACxB,CAAC,CAAC,OAAO,EAAM;EAClB,KAAK,aACH,QAAO,IAAI,IAAQ,KAAK,QAAQ,EAAE,CAAC;EACrC,KAAK,UACH,QAAO,IAAI,KAAK,aAAa,SAAS;GACpC,UAAU;GACV,uBAAuB;GACxB,CAAC,CAAC,OAAO,EAAM;EAClB,QACE,QAAO,IAAI,KAAK,aAAa,SAAS,EACpC,uBAAuB,GACxB,CAAC,CAAC,OAAO,EAAM;;;AAItB,SAAS,EAAS,GAAwC;AAExD,QADI,MAAkB,KAAA,KAAa,MAAkB,IAAU,SACxD,IAAgB,IAAI,OAAO;;AAOS,EAAK,SAAmB,EAAE,WAAQ,SAAM,cAAW;CAC9F,IAAM,IAAS,EAAO,QAEhB,IAAoB,GACvB,MAAkB;AACjB,EAAI,KAAW,EAAO,YAAY,UAChC,EAAQ,EAAM;IAGlB,CAAC,GAAS,EAAO,WAAW,CAC7B,EAEK,IAAc,GAAQ,KAAW,EAAO,YAAY;AAQ1D,QANK,GAAM,SAAS,SAOlB,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD;GACE,WAAW;;aALF,GAAQ,UAAU,kBAOZ,eAAe,kCAAkC,cAAc;;;aAI7E,EAAK,QAAQ,KAAK,GAAQ,MACzB,kBAAC,OAAD;IAEE,WAAW;;;;gBAIP,IAAc,wDAAwD,GAAG;;IAE7E,eAAe,EAAkB,EAAM;IACvC,MAAM,IAAc,WAAW,KAAA;IAC/B,UAAU,IAAc,IAAI,KAAA;cAV9B;KAaE,kBAAC,KAAD;MAAG,WAAU;gBAA4D,EAAO;MAAU,CAAA;KAG1F,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,QAAD;OAAM,WAAU;iBAAwC,EAAY,EAAO,OAAO,GAAQ,OAAO;OAAQ,CAAA,EACxG,EAAO,QAAQ,kBAAC,QAAD;OAAM,WAAU;iBAA+B,EAAO;OAAY,CAAA,CAC9E;;KAGL,EAAO,kBAAkB,KAAA,KACxB,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,GAAD;OACE,WAAW,EAAO,SAAS,EAAS,EAAO,cAAc;OACzD,MAAK;OACL,gBAAgB,GAAQ,mBAAmB;OAC3C,CAAA,EACF,kBAAC,QAAD;OACE,WAAW,WACT,EAAO,iBAAiB,IACpB,GAAQ,mBAAmB,KAEzB,2BADA,6BAEF,GAAQ,mBAAmB,KAEzB,6BADA;iBAPV;QAWG,EAAO,gBAAgB,IAAI,MAAM;QACjC,EAAO,cAAc,QAAQ,EAAE;QAAC;QAC5B;SACH;;KAEJ;MA5CC,EA4CD,CACN;GACE,CAAA;EACF,CAAA,GA/DC;EAiET"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kpi/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KPIComparisonWidget.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAOxF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACvD;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CAClB;AAuHD,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CA8T3D,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KPIComparisonWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.tsx"],"sourcesContent":["/**\n * KPIComparisonWidget Component\n *\n * Displays multiple KPIs in a grid for comparison.\n */\n\nimport { type FC, memo } from 'react';\nimport type { Widget } from '../../../types';\nimport { type ConditionalRule, resolveConditionalStyle, conditionalStyleToClassName } from '../utils/conditionalFormat';\nimport { SparklineChart, type SparklineDataPoint } from '../metric-card/SparklineChart';\nimport { getTargetProgress, clampProgressWidth } from '../utils/targetProgress';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface KPIComparisonWidgetProps {\n widget: Widget;\n data?: KPIComparisonData;\n onClick?: (kpi: KPIItem) => void;\n onDrilldown?: (data: Record<string, unknown>) => void;\n}\n\nexport interface KPIItem {\n id: string;\n label: string;\n value: number;\n previousValue?: number;\n target?: number;\n unit?: string;\n trend?: 'up' | 'down' | 'stable';\n trendValue?: number;\n /** Optional history series used to draw the per-KPI sparkline. */\n sparklineData?: SparklineDataPoint[];\n}\n\nexport interface KPIComparisonData {\n kpis?: KPIItem[];\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\nfunction formatValue(value: number, unit?: string): string {\n if (unit === '$') {\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: 'USD',\n notation: value >= 10000 ? 'compact' : 'standard',\n maximumFractionDigits: 1,\n }).format(value);\n }\n if (unit === '%') {\n return `${value.toFixed(1)}%`;\n }\n return new Intl.NumberFormat('en-US', {\n notation: value >= 10000 ? 'compact' : 'standard',\n maximumFractionDigits: 1,\n }).format(value);\n}\n\n/**\n * Whether a trend direction is a *good* outcome for this KPI.\n *\n * `positiveIsGood` defaults to true, but is false for metrics where falling is\n * the win — churn, latency, error rate. Without it a churn rate dropping 22%\n * renders red. Mirrors MetricCardWidget's `getSparklineColor` convention so the\n * two widgets agree.\n */\nfunction isTrendGood(trend: string | undefined, positiveIsGood: boolean): boolean | null {\n if (trend !== 'up' && trend !== 'down') return null;\n const isUp = trend === 'up';\n return positiveIsGood ? isUp : !isUp;\n}\n\nfunction getTrendColor(trend: string | undefined, positiveIsGood: boolean): string {\n const good = isTrendGood(trend, positiveIsGood);\n if (good === null) return 'text-text-secondary';\n return good ? 'text-status-success-text' : 'text-status-error-text';\n}\n\nfunction getSparklineColor(trend: string | undefined, positiveIsGood: boolean): 'success' | 'error' | 'primary' {\n const good = isTrendGood(trend, positiveIsGood);\n if (good === null) return 'primary';\n return good ? 'success' : 'error';\n}\n\n/**\n * Row fields a parser commonly uses to carry a KPI's history series, most\n * explicit first.\n *\n * Deliberately excludes bare `values` — it is generic enough that an unrelated\n * numeric column would be mistaken for a history series and render a spurious\n * chart.\n */\nconst SPARKLINE_FIELDS = ['sparklineData', 'sparkline', 'trendSeries', 'history', 'series'] as const;\n\n/** A trend needs at least two points; one datum is not a line. */\nconst MIN_SPARKLINE_POINTS = 2;\n\n/**\n * Coerce a raw field into sparkline points.\n *\n * Accepts the two shapes parsers realistically emit — `number[]` and\n * `{ value: number, timestamp?: string }[]` — and rejects everything else so a\n * malformed field renders no chart rather than a broken one.\n */\nfunction toSparklinePoints(raw: unknown): SparklineDataPoint[] | undefined {\n if (!Array.isArray(raw) || raw.length === 0) return undefined;\n\n const points = raw.reduce<SparklineDataPoint[]>((acc, entry) => {\n if (typeof entry === 'number' && Number.isFinite(entry)) {\n acc.push({ value: entry });\n return acc;\n }\n if (entry && typeof entry === 'object') {\n const record = entry as Record<string, unknown>;\n const value = record.value;\n if (typeof value === 'number' && Number.isFinite(value)) {\n acc.push({\n value,\n timestamp: typeof record.timestamp === 'string' ? record.timestamp : undefined,\n });\n }\n }\n return acc;\n }, []);\n\n return points.length >= MIN_SPARKLINE_POINTS ? points : undefined;\n}\n\n/**\n * Find a history series on a DataSink row, trying the known field names.\n *\n * Inference only — an explicit `kpi.sparklineData` on a `kpis[]` payload\n * bypasses this entirely, so a caller that deliberately supplies a series is\n * never second-guessed.\n */\nfunction extractSparklineFromRow(row: Record<string, unknown>): SparklineDataPoint[] | undefined {\n for (const field of SPARKLINE_FIELDS) {\n const points = toSparklinePoints(row[field]);\n if (points) return points;\n }\n return undefined;\n}\n\nfunction getTrendIcon(trend?: string): string {\n if (trend === 'up') return '↑';\n if (trend === 'down') return '↓';\n return '→';\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const KPIComparisonWidget: FC<KPIComparisonWidgetProps> = memo(function KPIComparisonWidget({\n widget,\n data,\n onClick,\n onDrilldown,\n}) {\n const hasDrilldown = !!widget.drilldown?.enabled;\n const config = widget.config as Record<string, unknown> | undefined;\n const conditionalRules = config?.conditionalRules as ConditionalRule[] | undefined;\n\n // Build KPIs array from data\n // Support multiple formats:\n // 1. data.kpis array (standard format)\n // 2. Single value from data.processed (e.g., 125000 from DataSink)\n // 3. data is a number/string directly\n // 4. Nested summary object (e.g., {sales: [...], summary: {totalSales: 123}})\n // 5. Array of objects from DataSink (e.g., [{month: \"Jan\", revenue: 45000}, ...])\n let kpis: KPIItem[] = [];\n\n // Get configured value field from widget config (for DataSink data)\n const valueField = (config?.valueField as string) || (config?.value_field as string) || 'value';\n const labelField = (config?.labelField as string) || (config?.label_field as string) || 'label';\n\n // Helper to convert object with numeric values to KPIs\n const objectToKpis = (obj: Record<string, unknown>): KPIItem[] => {\n const entries = Object.entries(obj);\n return entries\n .filter(([, v]) => typeof v === 'number')\n .map(([key, value]) => ({\n id: key,\n label: key.replace(/([A-Z])/g, ' $1').replace(/^./, (s) => s.toUpperCase()),\n value: value as number,\n unit:\n key.toLowerCase().includes('sales') ||\n key.toLowerCase().includes('revenue') ||\n key.toLowerCase().includes('value')\n ? '$'\n : undefined,\n }));\n };\n\n // Helper to extract KPI from a single data row using config fields\n const extractKpiFromRow = (row: Record<string, unknown>, index: number): KPIItem | null => {\n // Try to get value from configured field or common field names\n const valueCandidates = [valueField, 'value', 'revenue', 'amount', 'total', 'count', 'sales', 'growth'];\n let value: number | null = null;\n\n for (const field of valueCandidates) {\n if (typeof row[field] === 'number') {\n value = row[field] as number;\n break;\n }\n if (typeof row[field] === 'string' && !isNaN(parseFloat(row[field] as string))) {\n value = parseFloat(row[field] as string);\n break;\n }\n }\n\n if (value === null) {\n // Try to find any numeric field\n const numericEntry = Object.entries(row).find(([, v]) => typeof v === 'number');\n if (numericEntry) {\n value = numericEntry[1] as number;\n }\n }\n\n if (value === null) return null;\n\n // Try to get label from configured field or common field names\n const labelCandidates = [labelField, 'label', 'name', 'title', 'month', 'region', 'category'];\n let label = `Item ${index + 1}`;\n\n for (const field of labelCandidates) {\n if (row[field] && typeof row[field] === 'string') {\n label = row[field] as string;\n break;\n }\n }\n\n // Check for growth/trend fields\n const growthValue = row.growth ?? row.change ?? row.trend ?? row.percentChange;\n const trend =\n typeof growthValue === 'number' ? (growthValue > 0 ? 'up' : growthValue < 0 ? 'down' : 'stable') : undefined;\n\n return {\n id: `kpi-${index}`,\n label,\n value,\n unit:\n valueField.toLowerCase().includes('revenue') || valueField.toLowerCase().includes('sales') ? '$' : undefined,\n trend: trend as 'up' | 'down' | 'stable' | undefined,\n trendValue: typeof growthValue === 'number' ? growthValue : undefined,\n sparklineData: extractSparklineFromRow(row),\n };\n };\n\n if (data?.kpis && Array.isArray(data.kpis)) {\n // Standard KPIs array\n kpis = data.kpis;\n } else if (Array.isArray(data) && data.length > 0) {\n // Handle array of objects from DataSink — extract one KPI per row. The\n // display limit is applied uniformly further down so every data shape\n // (kpis array, object, row array) obeys the same rule.\n for (let i = 0; i < data.length; i++) {\n const row = data[i] as Record<string, unknown>;\n if (row && typeof row === 'object') {\n const kpi = extractKpiFromRow(row, i);\n if (kpi) kpis.push(kpi);\n }\n }\n\n // If we couldn't extract KPIs from rows, try to aggregate numeric fields\n if (kpis.length === 0 && data.length > 0) {\n const firstRow = data[0] as Record<string, unknown>;\n const numericFields = Object.entries(firstRow).filter(([, v]) => typeof v === 'number');\n\n // Create KPIs by aggregating (summing) each numeric field across all rows\n kpis = numericFields.map(([field]) => {\n const sum = data.reduce((acc, row) => {\n const val = (row as Record<string, unknown>)[field];\n return acc + (typeof val === 'number' ? val : 0);\n }, 0);\n\n return {\n id: field,\n label: field.replace(/([A-Z])/g, ' $1').replace(/^./, (s) => s.toUpperCase()),\n value: sum,\n unit: field.toLowerCase().includes('revenue') || field.toLowerCase().includes('sales') ? '$' : undefined,\n };\n });\n }\n } else if (typeof data === 'number' || typeof data === 'string') {\n // Single value - create a KPI from it using widget config\n const value = typeof data === 'string' ? parseFloat(data) : data;\n if (!isNaN(value)) {\n kpis = [\n {\n id: 'primary',\n label: ((config?.subtitle as string) || widget.title || 'Value').trim(),\n value,\n // KPIConfig.format's canonical value is 'percentage'; 'percent' is\n // tolerated only for hand-authored legacy configs. Matching just\n // 'percent' made this branch dead for every config the product writes.\n unit:\n config?.format === 'currency'\n ? '$'\n : config?.format === 'percentage' || config?.format === 'percent'\n ? '%'\n : undefined,\n },\n ];\n }\n } else if (data && typeof data === 'object' && !Array.isArray(data)) {\n const dataObj = data as Record<string, unknown>;\n\n // First, check if there's a nested 'summary' object with numeric values\n if ('summary' in dataObj && dataObj.summary && typeof dataObj.summary === 'object') {\n kpis = objectToKpis(dataObj.summary as Record<string, unknown>);\n }\n\n // If no KPIs from summary, try top-level numeric values\n if (kpis.length === 0) {\n kpis = objectToKpis(dataObj);\n }\n }\n\n // Single display limit for every data shape. Previously only the row-array\n // branch was capped (hard-coded at 4), so a 6-row parser output silently lost\n // two KPIs while an equivalent object payload rendered all six.\n // Floor first, then require at least 1 — a fractional limit between 0 and 1\n // passes a `> 0` check but floors to 0, which would render an empty grid\n // with nothing but the \"+N more\" footer.\n const rawMaxKpis = config?.maxKpis;\n const flooredMaxKpis = typeof rawMaxKpis === 'number' && Number.isFinite(rawMaxKpis) ? Math.floor(rawMaxKpis) : NaN;\n const maxKpis = flooredMaxKpis >= 1 ? flooredMaxKpis : undefined;\n const totalKpis = kpis.length;\n const visibleKpis = maxKpis === undefined ? kpis : kpis.slice(0, maxKpis);\n const hiddenKpiCount = totalKpis - visibleKpis.length;\n\n // The registry seeds the plural `showSparklines` (KPIConfig) while the shared\n // Style-tab panel writes the singular `showSparkline` (MetricCardConfig).\n // The Style tab is the user's deliberate action and the registry value is only\n // a default, so the singular key WINS when present. ANDing the two would let a\n // stale registry `false` silently override the checkbox, making it look inert.\n const showSparklines =\n typeof config?.showSparkline === 'boolean'\n ? config.showSparkline\n : typeof config?.showSparklines === 'boolean'\n ? config.showSparklines\n : true;\n\n // Falling is the win for churn / latency / error-rate style KPIs.\n const positiveIsGood = config?.positiveIsGood !== false;\n\n if (!kpis.length) {\n return (\n <div className=\"flex items-center justify-center h-full text-text-secondary text-sm\">\n <div className=\"text-center\">\n <svg className=\"w-12 h-12 mx-auto mb-2 text-text-muted\" fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z\"\n />\n </svg>\n <p>No KPI data</p>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"h-full p-4 overflow-auto\">\n <div className=\"grid grid-cols-2 gap-3\">\n {visibleKpis.map((kpi, index) => {\n // Computed once per KPI — it gates the block, labels the percentage\n // and drives the bar width.\n const targetProgress = getTargetProgress(kpi.value, kpi.target);\n\n return (\n <div\n key={kpi.id ?? `kpi-${index}`}\n className={`\n p-3 rounded-lg border border-border-default bg-bg-sunken/30\n ${onClick || hasDrilldown ? 'cursor-pointer hover:border-action-primary-bg transition-colors' : ''}\n `}\n onClick={() => {\n // Trigger drilldown with KPI data if enabled\n if (hasDrilldown && onDrilldown) {\n onDrilldown({\n kpiId: kpi.id,\n kpiLabel: kpi.label,\n kpiValue: kpi.value,\n kpiUnit: kpi.unit,\n kpiTrend: kpi.trend,\n kpiTrendValue: kpi.trendValue,\n kpiTarget: kpi.target,\n kpiPreviousValue: kpi.previousValue,\n });\n }\n onClick?.(kpi);\n }}\n >\n {/* Label */}\n <p className=\"text-xs text-text-secondary truncate mb-1\">{kpi.label}</p>\n\n {/* Value (with optional threshold-based conditional color) */}\n <p\n className={`text-xl font-semibold ${\n conditionalStyleToClassName(\n resolveConditionalStyle(kpi.value, conditionalRules, { [kpi.label]: kpi.value, value: kpi.value })\n ) || 'text-text-primary'\n }`}\n >\n {formatValue(kpi.value, kpi.unit)}\n </p>\n\n {/* Trend */}\n {kpi.trendValue !== undefined && (\n <div className={`flex items-center gap-1 mt-1 text-xs ${getTrendColor(kpi.trend, positiveIsGood)}`}>\n <span>{getTrendIcon(kpi.trend)}</span>\n <span>\n {kpi.trendValue >= 0 ? '+' : ''}\n {kpi.trendValue.toFixed(1)}%\n </span>\n </div>\n )}\n\n {/* Sparkline — drawn when the KPI carries a history series and the\n Style-tab toggle is on. */}\n {showSparklines && kpi.sparklineData && kpi.sparklineData.length > 0 && (\n <div className=\"mt-2\">\n <SparklineChart\n data={kpi.sparklineData}\n width={120}\n height={28}\n color={getSparklineColor(kpi.trend, positiveIsGood)}\n />\n </div>\n )}\n\n {/* Target progress */}\n {targetProgress !== null && (\n <div className=\"mt-2\">\n <div className=\"flex justify-between text-[10px] text-text-muted mb-0.5\">\n <span>vs target</span>\n <span>{targetProgress.toFixed(0)}%</span>\n </div>\n <div className=\"h-1 bg-bg-sunken rounded-full overflow-hidden\">\n <div\n className={`h-full rounded-full ${\n kpi.target !== undefined && kpi.value >= kpi.target\n ? 'bg-status-success-bg'\n : 'bg-action-primary-bg'\n }`}\n style={{\n // Clamp both ends: a negative value would otherwise emit a\n // negative width, which the browser drops entirely.\n width: `${clampProgressWidth(targetProgress)}%`,\n }}\n />\n </div>\n </div>\n )}\n </div>\n );\n })}\n </div>\n\n {/* Never truncate silently — say how many KPIs are hidden by `maxKpis`. */}\n {hiddenKpiCount > 0 && (\n <p className=\"mt-2 text-xs text-text-tertiary text-center\">\n +{hiddenKpiCount} more {hiddenKpiCount === 1 ? 'KPI' : 'KPIs'} hidden\n </p>\n )}\n </div>\n );\n});\n\nexport default KPIComparisonWidget;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/kpi-comparison/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,OAAO,GACb,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListConfig.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/list/ListConfig.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAM/D,MAAM,WAAW,eAAe;IAC9B,4BAA4B;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,mCAAmC;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACxC;AAMD,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAgNzC,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListConfig.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/list/ListConfig.tsx"],"sourcesContent":["/**\n * ListConfig Component\n *\n * Configuration panel for List widgets.\n */\n\nimport { type FC, memo, useCallback } from 'react';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport type { ListConfig as ConfigType } from '../../../types';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface ListConfigProps {\n /** Current configuration */\n config: ConfigType;\n /** Callback when config changes */\n onChange: (config: ConfigType) => void;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const ListConfig: FC<ListConfigProps> = memo(function ListConfig({ config, onChange }) {\n const { t } = useI18n();\n const handleChange = useCallback(\n <K extends keyof ConfigType>(key: K, value: ConfigType[K]) => {\n onChange({ ...config, [key]: value });\n },\n [config, onChange]\n );\n\n return (\n <div className=\"min-w-0 space-y-form-gap\">\n {/* Max Items */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.list.maxItems.label', 'Maximum Items to Display')}\n </label>\n <input\n type=\"number\"\n value={config.maxItems ?? ''}\n onChange={(e) => handleChange('maxItems', e.target.value ? Number(e.target.value) : undefined)}\n min={1}\n placeholder={t('bigconsole.widget.config.list.maxItems.placeholder', 'No limit')}\n className=\"\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n />\n <p className=\"text-xs text-text-secondary mt-1\">\n {t('bigconsole.widget.config.list.maxItems.help', 'Leave empty to show all items')}\n </p>\n </div>\n\n {/* Title Field */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.list.titleField.label', 'Title Field')}\n </label>\n <input\n type=\"text\"\n value={config.titleField || ''}\n onChange={(e) => handleChange('titleField', e.target.value)}\n placeholder={t('bigconsole.widget.config.list.titleField.placeholder', 'e.g., name, title')}\n className=\"\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n />\n </div>\n\n {/* Subtitle Field */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.list.subtitleField.label', 'Subtitle Field')}\n </label>\n <input\n type=\"text\"\n value={config.subtitleField || ''}\n onChange={(e) => handleChange('subtitleField', e.target.value)}\n placeholder={t('bigconsole.widget.config.list.subtitleField.placeholder', 'e.g., description, email')}\n className=\"\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n />\n </div>\n\n {/* Value Field */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.list.valueField.label', 'Value Field (right side)')}\n </label>\n <input\n type=\"text\"\n value={config.valueField || ''}\n onChange={(e) => handleChange('valueField', e.target.value)}\n placeholder={t('bigconsole.widget.config.list.valueField.placeholder', 'e.g., amount, count')}\n className=\"\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n />\n </div>\n\n {/* Badge Field */}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {t('bigconsole.widget.config.list.badgeField.label', 'Badge Field')}\n </label>\n <input\n type=\"text\"\n value={config.badgeField || ''}\n onChange={(e) => handleChange('badgeField', e.target.value)}\n placeholder={t('bigconsole.widget.config.list.badgeField.placeholder', 'e.g., status, type')}\n className=\"\n w-full px-3 py-2\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n \"\n />\n </div>\n\n {/* Toggle Options */}\n <div\n role=\"group\"\n aria-label=\"Display options\"\n className=\"space-y-3 border-t border-[var(--color-border-subtle)] pt-form-gap\"\n >\n {/* Toggles are a different KIND of control from the field stack above,\n so they get their own labelled group instead of being visually\n identical to it (BOFF-5636). */}\n <p className=\"text-xs font-bold uppercase tracking-wider text-text-secondary\">Display options</p>\n <label className=\"flex items-center gap-3\">\n <input\n type=\"checkbox\"\n checked={config.showCount !== false}\n onChange={(e) => handleChange('showCount', e.target.checked)}\n className=\"\n w-4 h-4\n text-action-primary-bg\n bg-bg-surface\n border-border-default\n rounded\n focus:ring-action-primary-bg\n \"\n />\n <span className=\"text-sm text-text-primary\">\n {t('bigconsole.widget.config.list.showCount', 'Show item count')}\n </span>\n </label>\n\n <label className=\"flex items-center gap-3\">\n <input\n type=\"checkbox\"\n checked={config.showSearch === true}\n onChange={(e) => handleChange('showSearch', e.target.checked)}\n className=\"\n w-4 h-4\n text-action-primary-bg\n bg-bg-surface\n border-border-default\n rounded\n focus:ring-action-primary-bg\n \"\n />\n <span className=\"text-sm text-text-primary\">\n {t('bigconsole.widget.config.list.showSearch', 'Show search box')}\n </span>\n </label>\n\n <label className=\"flex items-center gap-3\">\n <input\n type=\"checkbox\"\n checked={config.showViewAll !== false}\n onChange={(e) => handleChange('showViewAll', e.target.checked)}\n className=\"\n w-4 h-4\n text-action-primary-bg\n bg-bg-surface\n border-border-default\n rounded\n focus:ring-action-primary-bg\n \"\n />\n <span className=\"text-sm text-text-primary\">\n {t('bigconsole.widget.config.list.showViewAll', 'Show \"View All\" link when truncated')}\n </span>\n </label>\n\n <label className=\"flex items-center gap-3\">\n <input\n type=\"checkbox\"\n checked={config.showIcon === true}\n onChange={(e) => handleChange('showIcon', e.target.checked)}\n className=\"\n w-4 h-4\n text-action-primary-bg\n bg-bg-surface\n border-border-default\n rounded\n focus:ring-action-primary-bg\n \"\n />\n <span className=\"text-sm text-text-primary\">\n {t('bigconsole.widget.config.list.showIcon', 'Show item icons')}\n </span>\n </label>\n </div>\n </div>\n );\n});\n\nexport default ListConfig;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListItem.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/list/ListItem.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAQ,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMtD,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;KACxB,CAAC,CAAC;IACH,2BAA2B;IAC3B,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;KAC9D,CAAC;IACF,qBAAqB;IACrB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,oCAAoC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,8BAA8B;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA2BD,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA8FrC,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListItem.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/list/ListItem.tsx"],"sourcesContent":["/**\n * ListItem Component\n *\n * Individual item in a list widget.\n */\n\nimport { type FC, memo, type ReactNode } from 'react';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface ListItemData {\n /** Unique identifier */\n id: string;\n /** Primary text */\n title: string;\n /** Secondary text */\n subtitle?: string;\n /** Additional metadata lines */\n metadata?: Array<{\n label: string;\n value: string | number;\n }>;\n /** Badge/tag to display */\n badge?: {\n text: string;\n color?: 'default' | 'success' | 'warning' | 'error' | 'info';\n };\n /** Icon or avatar */\n icon?: ReactNode;\n /** Value to display on the right */\n value?: string | number;\n /** Whether item is disabled */\n disabled?: boolean;\n}\n\nexport interface ListItemProps {\n /** Item data */\n item: ListItemData;\n /** Whether the item is clickable */\n clickable?: boolean;\n /** Click handler */\n onClick?: () => void;\n /** Whether to show divider */\n showDivider?: boolean;\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\nfunction getBadgeColor(badge: ListItemData['badge']): string {\n const color = badge?.color;\n switch (color) {\n case 'success':\n return 'bg-status-success-bg/10 text-status-success-text';\n case 'warning':\n return 'bg-status-warning-bg/10 text-[var(--color-status-warning-text)]';\n case 'error':\n return 'bg-status-error-bg/10 text-status-error-text';\n case 'info':\n return 'bg-action-primary-bg/10 text-action-primary-bg';\n case 'default':\n default:\n return 'bg-bg-sunken text-text-secondary';\n }\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const ListItem: FC<ListItemProps> = memo(function ListItem({\n item,\n clickable = false,\n onClick,\n showDivider = true,\n}) {\n const isClickable = clickable && !item.disabled;\n\n return (\n <div\n className={`\n flex items-start gap-3 p-3\n ${showDivider ? 'border-b border-border-default' : ''}\n ${isClickable ? 'cursor-pointer hover:bg-bg-sunken/50 transition-colors' : ''}\n ${item.disabled ? 'opacity-50' : ''}\n `}\n onClick={() => {\n if (isClickable && onClick) {\n onClick();\n }\n }}\n role={isClickable ? 'button' : undefined}\n tabIndex={isClickable ? 0 : undefined}\n onKeyDown={(e) => {\n if (isClickable && onClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n onClick();\n }\n }}\n >\n {/* Icon/Avatar */}\n {item.icon && (\n <div className=\"flex-shrink-0 w-10 h-10 flex items-center justify-center rounded-full bg-bg-sunken text-text-secondary\">\n {item.icon}\n </div>\n )}\n\n {/* Content */}\n <div className=\"flex-1 min-w-0\">\n {/* Title row */}\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"flex-1 min-w-0\">\n <h4 className=\"text-sm font-medium text-text-primary truncate\">{item.title}</h4>\n {item.subtitle && <p className=\"text-xs text-text-secondary mt-0.5 line-clamp-2\">{item.subtitle}</p>}\n </div>\n\n {/* Value */}\n {item.value !== undefined && (\n <span className=\"flex-shrink-0 text-sm font-medium text-text-primary\">\n {typeof item.value === 'number' ? new Intl.NumberFormat('en-US').format(item.value) : item.value}\n </span>\n )}\n </div>\n\n {/* Metadata */}\n {item.metadata && item.metadata.length > 0 && (\n <div className=\"flex flex-wrap gap-x-4 gap-y-1 mt-2\">\n {item.metadata.map((meta, index) => (\n <span key={index} className=\"text-xs text-text-secondary\">\n <span className=\"text-text-secondary/70\">{meta.label}: </span>\n <span className=\"font-medium\">{meta.value}</span>\n </span>\n ))}\n </div>\n )}\n\n {/* Badge */}\n {item.badge && (\n <div className=\"mt-2\">\n <span\n className={`\n inline-flex items-center\n px-2 py-0.5\n text-xs font-medium\n rounded-full\n ${getBadgeColor(item.badge)}\n `}\n >\n {item.badge.text}\n </span>\n </div>\n )}\n </div>\n\n {/* Chevron for clickable items */}\n {isClickable && (\n <div className=\"flex-shrink-0 self-center\">\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=\"M9 5l7 7-7 7\" />\n </svg>\n </div>\n )}\n </div>\n );\n});\n\nexport default ListItem;\n"],"mappings":";;;AAoDA,SAAS,EAAc,GAAsC;AAE3D,SADc,GAAO,OACrB;EACE,KAAK,UACH,QAAO;EACT,KAAK,UACH,QAAO;EACT,KAAK,QACH,QAAO;EACT,KAAK,OACH,QAAO;EAET,QACE,QAAO;;;AAQb,IAAa,IAA8B,EAAK,SAAkB,EAChE,SACA,eAAY,IACZ,YACA,iBAAc,MACb;CACD,IAAM,IAAc,KAAa,CAAC,EAAK;AAEvC,QACE,kBAAC,OAAD;EACE,WAAW;;UAEP,IAAc,mCAAmC,GAAG;UACpD,IAAc,2DAA2D,GAAG;UAC5E,EAAK,WAAW,eAAe,GAAG;;EAEtC,eAAe;AACb,GAAI,KAAe,KACjB,GAAS;;EAGb,MAAM,IAAc,WAAW,KAAA;EAC/B,UAAU,IAAc,IAAI,KAAA;EAC5B,YAAY,MAAM;AAChB,GAAI,KAAe,MAAY,EAAE,QAAQ,WAAW,EAAE,QAAQ,SAC5D,EAAE,gBAAgB,EAClB,GAAS;;YAjBf;GAsBG,EAAK,QACJ,kBAAC,OAAD;IAAK,WAAU;cACZ,EAAK;IACF,CAAA;GAIR,kBAAC,OAAD;IAAK,WAAU;cAAf;KAEE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,MAAD;QAAI,WAAU;kBAAkD,EAAK;QAAW,CAAA,EAC/E,EAAK,YAAY,kBAAC,KAAD;QAAG,WAAU;kBAAmD,EAAK;QAAa,CAAA,CAChG;UAGL,EAAK,UAAU,KAAA,KACd,kBAAC,QAAD;OAAM,WAAU;iBACb,OAAO,EAAK,SAAU,WAAW,IAAI,KAAK,aAAa,QAAQ,CAAC,OAAO,EAAK,MAAM,GAAG,EAAK;OACtF,CAAA,CAEL;;KAGL,EAAK,YAAY,EAAK,SAAS,SAAS,KACvC,kBAAC,OAAD;MAAK,WAAU;gBACZ,EAAK,SAAS,KAAK,GAAM,MACxB,kBAAC,QAAD;OAAkB,WAAU;iBAA5B,CACE,kBAAC,QAAD;QAAM,WAAU;kBAAhB,CAA0C,EAAK,OAAM,KAAS;WAC9D,kBAAC,QAAD;QAAM,WAAU;kBAAe,EAAK;QAAa,CAAA,CAC5C;SAHI,EAGJ,CACP;MACE,CAAA;KAIP,EAAK,SACJ,kBAAC,OAAD;MAAK,WAAU;gBACb,kBAAC,QAAD;OACE,WAAW;;;;;kBAKP,EAAc,EAAK,MAAM,CAAC;;iBAG7B,EAAK,MAAM;OACP,CAAA;MACH,CAAA;KAEJ;;GAGL,KACC,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,OAAD;KAAK,WAAU;KAA8B,MAAK;KAAO,QAAO;KAAe,SAAQ;eACrF,kBAAC,QAAD;MAAM,eAAc;MAAQ,gBAAe;MAAQ,aAAa;MAAG,GAAE;MAAiB,CAAA;KAClF,CAAA;IACF,CAAA;GAEJ;;EAER"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListWidget.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/list/ListWidget.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAwC,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAMzD,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB;IAChB,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;IACtB,uCAAuC;IACvC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,sDAAsD;IACtD,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC/D;AAMD,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CA4JzC,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/list/ListWidget.tsx"],"sourcesContent":["/**\n * ListWidget Component\n *\n * Scrollable list widget with items, metadata, and actions.\n */\n\nimport { type FC, memo, useState, useMemo, useCallback } from 'react';\nimport type { Widget, ListConfig } from '../../../types';\nimport { ListItem, type ListItemData } from './ListItem';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface ListWidgetProps {\n /** Widget configuration */\n widget: Widget;\n /** List data */\n data?: ListItemData[];\n /** Click handler for item drilldown */\n onItemClick?: (item: ListItemData, index: number) => void;\n /** Drilldown handler - receives selected item data */\n onDrilldown?: (selectedData: Record<string, unknown>) => void;\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const ListWidget: FC<ListWidgetProps> = memo(function ListWidget({\n widget,\n data = [],\n onItemClick,\n onDrilldown,\n}) {\n const config = widget.config as unknown as ListConfig | undefined;\n const [searchQuery, setSearchQuery] = useState('');\n\n // Coerce parser output (untyped JSON) to an array so downstream\n // .filter/.slice don't throw and take down the dashboard (BOFF-2242). Warn\n // on the silent-empty fallback so a misconfigured parser doesn't look healthy.\n const safeData = useMemo<ListItemData[]>(() => {\n if (Array.isArray(data)) return data;\n if (data && typeof data === 'object') {\n const maybe = data as { items?: unknown; data?: unknown };\n if (Array.isArray(maybe.items)) return maybe.items as ListItemData[];\n if (Array.isArray(maybe.data)) return maybe.data as ListItemData[];\n }\n if (data != null) {\n // eslint-disable-next-line no-console -- surfacing silent render-empty bug\n console.warn('[ListWidget] expected array or {items}/{data} envelope; got', typeof data, 'for widget', widget.id);\n }\n return [];\n }, [data, widget.id]);\n\n // Filter data by search\n const filteredData = useMemo(() => {\n if (!searchQuery.trim()) return safeData;\n\n const query = searchQuery.toLowerCase();\n return safeData.filter(\n (item) => item.title?.toLowerCase().includes(query) || item.subtitle?.toLowerCase().includes(query)\n );\n }, [safeData, searchQuery]);\n\n // Limit items if configured\n const displayData = useMemo(() => {\n if (config?.maxItems) {\n return filteredData.slice(0, config.maxItems);\n }\n return filteredData;\n }, [filteredData, config?.maxItems]);\n\n // Handle item click\n const handleItemClick = useCallback(\n (item: ListItemData, index: number) => {\n // Support both legacy onItemClick and new onDrilldown\n if (onDrilldown) {\n onDrilldown(item as unknown as Record<string, unknown>);\n } else if (onItemClick && widget.drilldowns?.length) {\n onItemClick(item, index);\n }\n },\n [onItemClick, onDrilldown, widget.drilldowns]\n );\n\n const isClickable = Boolean(onDrilldown || (onItemClick && widget.drilldowns?.length));\n\n return (\n <div className=\"flex flex-col h-full\">\n {/* Header with count and search */}\n {(config?.showCount !== false || config?.showSearch) && (\n <div className=\"flex items-center justify-between p-3 border-b border-border-default\">\n {config?.showCount !== false && (\n <span className=\"text-sm text-text-secondary\">\n {filteredData.length} {filteredData.length === 1 ? 'item' : 'items'}\n {config?.maxItems && filteredData.length > config.maxItems && (\n <span className=\"text-xs ml-1\">(showing {config.maxItems})</span>\n )}\n </span>\n )}\n\n {config?.showSearch && (\n <div className=\"relative\">\n <svg\n className=\"absolute left-2 top-1/2 -translate-y-1/2 w-4 h-4 text-text-secondary\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"\n />\n </svg>\n <input\n type=\"text\"\n placeholder=\"Search...\"\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n className=\"\n pl-8 pr-3 py-1.5\n text-sm text-text-primary\n bg-bg-surface\n border border-border-default\n rounded-md\n focus:outline-none focus:ring-2 focus:ring-action-primary-bg\n w-40\n \"\n />\n </div>\n )}\n </div>\n )}\n\n {/* List content */}\n <div className=\"flex-1 overflow-auto\">\n {displayData.length > 0 ? (\n displayData.map((item, index) => (\n <ListItem\n key={item.id}\n item={item}\n clickable={isClickable}\n onClick={() => handleItemClick(item, index)}\n showDivider={index < displayData.length - 1}\n />\n ))\n ) : (\n <div className=\"flex items-center justify-center h-full p-8\">\n <p className=\"text-sm text-text-secondary\">\n {searchQuery ? 'No matching items found' : 'No items to display'}\n </p>\n </div>\n )}\n </div>\n\n {/* Footer with \"View All\" if truncated */}\n {config?.maxItems && filteredData.length > config.maxItems && config?.showViewAll !== false && (\n <div className=\"p-3 border-t border-border-default\">\n <button\n type=\"button\"\n className=\"\n w-full\n text-sm text-action-primary-bg\n hover:text-action-primary-bgHover\n font-medium\n text-center\n \"\n onClick={() => {\n // Trigger drilldown to show all\n if (onDrilldown) {\n onDrilldown({ viewAll: true, totalItems: filteredData.length });\n } else if (onItemClick && widget.drilldowns?.length) {\n onItemClick(displayData[0], -1); // -1 indicates \"view all\"\n }\n }}\n >\n View all {filteredData.length} items\n </button>\n </div>\n )}\n </div>\n );\n});\n\nexport default ListWidget;\n"],"mappings":";;;;AA6BA,IAAa,IAAkC,EAAK,SAAoB,EACtE,WACA,UAAO,EAAE,EACT,gBACA,kBACC;CACD,IAAM,IAAS,EAAO,QAChB,CAAC,GAAa,KAAkB,EAAS,GAAG,EAK5C,IAAW,QAA8B;AAC7C,MAAI,MAAM,QAAQ,EAAK,CAAE,QAAO;AAChC,MAAI,KAAQ,OAAO,KAAS,UAAU;GACpC,IAAM,IAAQ;AACd,OAAI,MAAM,QAAQ,EAAM,MAAM,CAAE,QAAO,EAAM;AAC7C,OAAI,MAAM,QAAQ,EAAM,KAAK,CAAE,QAAO,EAAM;;AAM9C,SAJI,KAAQ,QAEV,QAAQ,KAAK,+DAA+D,OAAO,GAAM,cAAc,EAAO,GAAG,EAE5G,EAAE;IACR,CAAC,GAAM,EAAO,GAAG,CAAC,EAGf,IAAe,QAAc;AACjC,MAAI,CAAC,EAAY,MAAM,CAAE,QAAO;EAEhC,IAAM,IAAQ,EAAY,aAAa;AACvC,SAAO,EAAS,QACb,MAAS,EAAK,OAAO,aAAa,CAAC,SAAS,EAAM,IAAI,EAAK,UAAU,aAAa,CAAC,SAAS,EAAM,CACpG;IACA,CAAC,GAAU,EAAY,CAAC,EAGrB,IAAc,QACd,GAAQ,WACH,EAAa,MAAM,GAAG,EAAO,SAAS,GAExC,GACN,CAAC,GAAc,GAAQ,SAAS,CAAC,EAG9B,IAAkB,GACrB,GAAoB,MAAkB;AAErC,EAAI,IACF,EAAY,EAA2C,GAC9C,KAAe,EAAO,YAAY,UAC3C,EAAY,GAAM,EAAM;IAG5B;EAAC;EAAa;EAAa,EAAO;EAAW,CAC9C,EAEK,IAAc,GAAQ,KAAgB,KAAe,EAAO,YAAY;AAE9E,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;IAEI,GAAQ,cAAc,MAAS,GAAQ,eACvC,kBAAC,OAAD;IAAK,WAAU;cAAf,CACG,GAAQ,cAAc,MACrB,kBAAC,QAAD;KAAM,WAAU;eAAhB;MACG,EAAa;MAAO;MAAE,EAAa,WAAW,IAAI,SAAS;MAC3D,GAAQ,YAAY,EAAa,SAAS,EAAO,YAChD,kBAAC,QAAD;OAAM,WAAU;iBAAhB;QAA+B;QAAU,EAAO;QAAS;QAAQ;;MAE9D;QAGR,GAAQ,cACP,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,OAAD;MACE,WAAU;MACV,MAAK;MACL,QAAO;MACP,SAAQ;gBAER,kBAAC,QAAD;OACE,eAAc;OACd,gBAAe;OACf,aAAa;OACb,GAAE;OACF,CAAA;MACE,CAAA,EACN,kBAAC,SAAD;MACE,MAAK;MACL,aAAY;MACZ,OAAO;MACP,WAAW,MAAM,EAAe,EAAE,OAAO,MAAM;MAC/C,WAAU;MASV,CAAA,CACE;OAEJ;;GAIR,kBAAC,OAAD;IAAK,WAAU;cACZ,EAAY,SAAS,IACpB,EAAY,KAAK,GAAM,MACrB,kBAAC,GAAD;KAEQ;KACN,WAAW;KACX,eAAe,EAAgB,GAAM,EAAM;KAC3C,aAAa,IAAQ,EAAY,SAAS;KAC1C,EALK,EAAK,GAKV,CACF,GAEF,kBAAC,OAAD;KAAK,WAAU;eACb,kBAAC,KAAD;MAAG,WAAU;gBACV,IAAc,4BAA4B;MACzC,CAAA;KACA,CAAA;IAEJ,CAAA;GAGL,GAAQ,YAAY,EAAa,SAAS,EAAO,YAAY,GAAQ,gBAAgB,MACpF,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,UAAD;KACE,MAAK;KACL,WAAU;KAOV,eAAe;AAEb,MAAI,IACF,EAAY;OAAE,SAAS;OAAM,YAAY,EAAa;OAAQ,CAAC,GACtD,KAAe,EAAO,YAAY,UAC3C,EAAY,EAAY,IAAI,GAAG;;eAdrC;MAiBC;MACW,EAAa;MAAO;MACvB;;IACL,CAAA;GAEJ;;EAER"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/list/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapWidget.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/map-widget/MapWidget.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA8C,MAAM,OAAO,CAAC;AAE5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACtC,wDAAwD;IACxD,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC/D;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oFAAoF;AACpF,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,SAAS,CAAC;QAChB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QAC5C,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;CACJ;AAED,+EAA+E;AAC/E,MAAM,WAAW,cAAc;IAC7B,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,2EAA2E;IAC3E,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B;AA+KD,eAAO,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAwRvC,CAAC;AAEH,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapWidget.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/map-widget/MapWidget.tsx"],"sourcesContent":["/**\n * MapWidget Component\n *\n * Interactive geographic map (Leaflet + OpenStreetMap tiles) with data-bound\n * markers. Leaflet's stylesheet is loaded from a CDN at runtime (with SRI) because\n * the build-time MFE library bundle does not ship a component's CSS to the host\n * shell — consistent with the map being an inherently online feature (tiles).\n */\n\nimport { type FC, memo, useEffect, useMemo, useRef, useState } from 'react';\nimport L from 'leaflet';\nimport type { Widget } from '../../../types';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface MapWidgetProps {\n widget: Widget;\n data?: MapData;\n onClick?: (marker: MapMarker) => void;\n /** Drilldown handler - receives selected marker data */\n onDrilldown?: (selectedData: Record<string, unknown>) => void;\n}\n\nexport interface MapMarker {\n name: string;\n lat: number;\n lng: number;\n value?: number;\n popup?: string;\n color?: string;\n}\n\n/** Minimal GeoJSON FeatureCollection shape (we only read geometry + properties). */\nexport interface GeoJsonFeatureCollection {\n type: 'FeatureCollection';\n features: Array<{\n type: 'Feature';\n id?: string | number;\n properties?: Record<string, unknown> | null;\n geometry: unknown;\n }>;\n}\n\n/** A region value used to shade a choropleth (joined to a GeoJSON feature). */\nexport interface MapRegionValue {\n /** Join key — matched against the feature's id field. */\n id: string;\n /** Numeric value driving the fill intensity. */\n value: number;\n /** Optional display name for the popup. */\n name?: string;\n}\n\nexport interface MapData {\n center?: { lat: number; lng: number };\n zoom?: number;\n markers?: MapMarker[];\n /** GeoJSON regions for choropleth mode. */\n geoJson?: GeoJsonFeatureCollection;\n /** Per-region values joined to GeoJSON features for choropleth shading. */\n regions?: MapRegionValue[];\n}\n\n// ============================================================================\n// Leaflet CSS (runtime CDN injection)\n// ============================================================================\n\nconst LEAFLET_CSS = 'https://unpkg.com/leaflet@1.9.4/dist/leaflet.css';\n// SRI for leaflet@1.9.4/dist/leaflet.css (immutable versioned URL) — guards against a CDN compromise.\nconst LEAFLET_CSS_SRI = 'sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=';\n\nlet leafletCssRequested = false;\n\nfunction ensureLeafletCss(): void {\n // Module-level guard in addition to the DOM check so two MapWidgets mounting in\n // the same tick can't both append the <link> before either lands in the DOM.\n if (leafletCssRequested || document.getElementById('leaflet-css')) return;\n leafletCssRequested = true;\n const link = document.createElement('link');\n link.id = 'leaflet-css';\n link.rel = 'stylesheet';\n link.href = LEAFLET_CSS;\n link.integrity = LEAFLET_CSS_SRI;\n link.crossOrigin = 'anonymous';\n // Don't leak the current path (workspace/dashboard IDs) to the CDN.\n link.referrerPolicy = 'no-referrer';\n // Leaflet needs its stylesheet for correct tile/marker positioning. If the CDN\n // is unreachable or the SRI check fails the load is otherwise silent, so warn and\n // clear the guard/element to allow a later mount to retry.\n link.onerror = () => {\n console.warn('[bigconsole] Leaflet CSS failed to load; map styling may be broken.');\n leafletCssRequested = false;\n link.remove();\n };\n document.head.appendChild(link);\n}\n\n// ============================================================================\n// Helpers\n// ============================================================================\n\nconst DEFAULT_MARKER_COLOR = 'var(--color-chart-1, #3b82f6)';\n\n/**\n * Marker colours come from widget data and are interpolated into an inline\n * `style` attribute, so restrict them to a safe character set (hex / rgb() /\n * hsl() / css var() / named colours). Anything outside that — or containing\n * style-breaking characters — falls back to the default token colour.\n */\nfunction safeColor(color: unknown): string {\n // Marker data is untrusted: a parser can emit a non-string colour (e.g. a numeric\n // status code) that slips past the lat/lng filter, so guard the type before trim().\n if (typeof color !== 'string') return DEFAULT_MARKER_COLOR;\n const trimmed = color.trim();\n if (trimmed.length > 64) return DEFAULT_MARKER_COLOR;\n if (/[;{}<>\"'\\\\]/.test(trimmed)) return DEFAULT_MARKER_COLOR;\n // Block `url()` so a marker colour can't smuggle an exfiltration beacon\n // (e.g. `url(//evil.com/pixel)`) through the otherwise-permissive char set.\n if (/\\burl\\s*\\(/i.test(trimmed)) return DEFAULT_MARKER_COLOR;\n // Allow `_` (custom-property names) and `/` (modern `rgb(r g b / a)` syntax);\n // the dangerous-char guard above still blocks anything that could break out of\n // the inline style.\n if (!/^[#a-zA-Z0-9(),.%/_\\s-]+$/.test(trimmed)) return DEFAULT_MARKER_COLOR;\n return trimmed;\n}\n\nfunction isFiniteNumber(v: unknown): v is number {\n return typeof v === 'number' && Number.isFinite(v);\n}\n\n/**\n * Theme-safe cold→hot ramp for the heat-point layer: normalized intensity\n * (0–1) → info → warning → error status tokens, returned as `var()` refs.\n *\n * We deliberately pass the `var()` reference (not a resolved color): the map\n * uses Leaflet's default SVG renderer, where `fill` participates in the CSS\n * cascade, so the tokens resolve correctly AND stay live across theme toggles\n * (a resolved concrete color would go stale until the next data refresh). This\n * also matches the choropleth layer and avoids any per-marker `getComputedStyle`\n * lookup. (If the map ever opts into `preferCanvas`, pre-resolve these instead.)\n */\nfunction heatColor(norm: number): string {\n if (norm >= 0.66) return 'var(--color-status-error)';\n if (norm >= 0.33) return 'var(--color-status-warning)';\n return 'var(--color-status-info)';\n}\n\n/**\n * Build a marker/region popup as DOM (a bold title + optional formatted value).\n * Uses textContent — never an HTML string — so marker-supplied text can't be\n * interpreted as markup. Shared by the pin and heat-point branches.\n */\nfunction buildMarkerPopup(marker: MapMarker): HTMLDivElement {\n const popupEl = document.createElement('div');\n const title = document.createElement('div');\n title.style.fontWeight = '600';\n title.textContent = marker.popup || marker.name || 'Location';\n popupEl.appendChild(title);\n if (isFiniteNumber(marker.value)) {\n const val = document.createElement('div');\n val.textContent = marker.value.toLocaleString();\n popupEl.appendChild(val);\n }\n return popupEl;\n}\n\n/**\n * Normalize the bound widget data into markers + optional center/zoom. Accepts\n * the documented `{ markers, center, zoom }` shape, or a bare array of markers\n * (parser output), and drops any entry without valid coordinates.\n */\ninterface NormalizedMapData {\n markers: MapMarker[];\n /** Center explicitly supplied by the data payload — wins over markers. */\n center?: { lat: number; lng: number };\n /** Zoom explicitly supplied by the data payload. */\n zoom?: number;\n /** Center from widget config — a static fallback used only when there are no markers. */\n fallbackCenter?: { lat: number; lng: number };\n /** Zoom from widget config — fallback for the no-marker case. */\n fallbackZoom?: number;\n /** GeoJSON for choropleth mode. */\n geoJson?: GeoJsonFeatureCollection;\n /** region id → { value, name } map for choropleth shading. */\n regionValues: Map<string, { value: number; name?: string }>;\n}\n\nfunction asLatLng(v: unknown): { lat: number; lng: number } | undefined {\n const c = v as { lat?: unknown; lng?: unknown } | undefined;\n return c && isFiniteNumber(c.lat) && isFiniteNumber(c.lng) ? { lat: c.lat, lng: c.lng } : undefined;\n}\n\nfunction normalizeMapData(data: MapData | MapMarker[] | undefined, config: Record<string, unknown>): NormalizedMapData {\n // The widget may be handed either the documented { markers, center, zoom } shape\n // or a bare marker array (parser output); narrow once so the rest is type-safe.\n const payload: MapData | undefined = Array.isArray(data) ? undefined : data;\n const rawMarkers: unknown = Array.isArray(data) ? data : data?.markers;\n const markers: MapMarker[] = Array.isArray(rawMarkers)\n ? (rawMarkers as MapMarker[]).filter((m) => m && isFiniteNumber(m.lat) && isFiniteNumber(m.lng))\n : [];\n\n // Choropleth inputs: GeoJSON (from data payload or config) + a region→value join.\n const geoJson = (payload?.geoJson ?? (config.geoJson as GeoJsonFeatureCollection | undefined)) || undefined;\n const regionIdField = (config.regionIdField as string) || 'id';\n const regionValues = new Map<string, { value: number; name?: string }>();\n const rawRegions: unknown = payload?.regions ?? config.regions;\n if (Array.isArray(rawRegions)) {\n for (const r of rawRegions as Array<Record<string, unknown>>) {\n if (!r) continue;\n const id = r[regionIdField] ?? r.id ?? r.region ?? r.code;\n const value = r.value ?? r.count ?? r.total;\n if (id != null && isFiniteNumber(value)) {\n regionValues.set(String(id), { value, name: typeof r.name === 'string' ? r.name : undefined });\n }\n }\n }\n\n // Data-payload center/zoom are an explicit intent and win over markers. Config\n // center/zoom (e.g. the WidgetRegistry default of {0,0}/2) are only a static\n // fallback for marker-less maps — otherwise that default would pin every marker\n // dataset to the world view instead of framing the markers.\n return {\n markers,\n center: asLatLng(payload?.center),\n zoom: isFiniteNumber(payload?.zoom) ? payload?.zoom : undefined,\n fallbackCenter: asLatLng(config.center),\n fallbackZoom: isFiniteNumber(config.zoom) ? (config.zoom as number) : undefined,\n geoJson: geoJson && Array.isArray(geoJson.features) ? geoJson : undefined,\n regionValues,\n };\n}\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const MapWidget: FC<MapWidgetProps> = memo(function MapWidget({ widget, data, onClick, onDrilldown }) {\n const containerRef = useRef<HTMLDivElement>(null);\n const mapRef = useRef<L.Map | null>(null);\n // Signature of the last view we auto-framed to; lets us re-render markers on\n // every data change without snapping the viewport back when the framing\n // inputs (coords/center/zoom) are unchanged — e.g. a refetch of identical data.\n const lastFrameSigRef = useRef<string | null>(null);\n const [status, setStatus] = useState<'loading' | 'ready' | 'error'>('loading');\n\n const config = useMemo(() => (widget?.config ?? {}) as Record<string, unknown>, [widget?.config]);\n const showMarkers = config.showMarkers !== false;\n // Heat-point density mode: render weighted, translucent circles whose overlap\n // accumulates into a heat-like surface (dependency-free — no leaflet.heat).\n const heatMode = config.mapMode === 'heat';\n const regionIdField = (config.regionIdField as string) || 'id';\n const { markers, center, zoom, fallbackCenter, fallbackZoom, geoJson, regionValues } = useMemo(\n () => normalizeMapData(data, config),\n [data, config]\n );\n const hasChoropleth = Boolean(geoJson && regionValues.size > 0);\n\n // Keep the latest click handler in a ref so marker bindings don't need rebinding.\n // Assign in an effect (not during render) per the React 19 useRef guidance.\n const clickRef = useRef<(marker: MapMarker) => void>(() => undefined);\n useEffect(() => {\n clickRef.current = (marker: MapMarker) => {\n if (onDrilldown) onDrilldown(marker as unknown as Record<string, unknown>);\n else if (onClick) onClick(marker);\n };\n }, [onClick, onDrilldown]);\n\n // Initialise the map once.\n useEffect(() => {\n const el = containerRef.current;\n if (!el) return undefined;\n ensureLeafletCss();\n\n let map: L.Map;\n try {\n map = L.map(el, { center: [20, 0], zoom: 2, scrollWheelZoom: true, attributionControl: true });\n const tiles = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors',\n maxZoom: 18,\n });\n // Leaflet reports tile failures asynchronously, so addTo() won't throw when\n // tiles are blocked/offline. Surface the error overlay only if a tile errors\n // before any tile has loaded (true offline/blocked), tolerating the odd\n // transient miss once the base map is up.\n let anyTileLoaded = false;\n tiles.on('tileload', () => {\n anyTileLoaded = true;\n // Recover if an early tile miss had shown the offline overlay — a flaky\n // connection that later succeeds shouldn't stay hidden behind it.\n setStatus((s) => (s === 'error' ? 'ready' : s));\n });\n tiles.on('tileerror', () => {\n if (!anyTileLoaded) setStatus('error');\n });\n tiles.addTo(map);\n mapRef.current = map;\n // Fresh map ⇒ force the next marker effect to (re)frame it. Without this the\n // frame-signature ref would survive a remount (e.g. React StrictMode's\n // double-invoke) and the new map would stay stuck at this init view.\n lastFrameSigRef.current = null;\n setStatus('ready');\n } catch {\n setStatus('error');\n return undefined;\n }\n\n // Widgets live in a resizable grid; keep tiles correct as the box changes.\n const ro =\n typeof ResizeObserver !== 'undefined' ? new ResizeObserver(() => mapRef.current?.invalidateSize()) : undefined;\n ro?.observe(el);\n const t = window.setTimeout(() => map.invalidateSize(), 80);\n\n return () => {\n window.clearTimeout(t);\n ro?.disconnect();\n map.remove();\n mapRef.current = null;\n };\n }, []);\n\n // Render markers + frame the view whenever the data changes.\n useEffect(() => {\n const map = mapRef.current;\n if (!map) return undefined;\n\n const layer = L.layerGroup();\n\n // Choropleth: shade GeoJSON regions by a single-hue intensity ramp (the\n // semantic `info` token at varying opacity) joined on the region id field.\n let geoLayer: L.GeoJSON | null = null;\n if (geoJson && regionValues.size > 0) {\n const vals = Array.from(regionValues.values()).map((v) => v.value);\n const min = Math.min(...vals);\n const max = Math.max(...vals);\n const span = max - min || 1;\n const FILL = 'var(--color-status-info, #3b82f6)';\n\n const lookup = (feature: { id?: string | number; properties?: Record<string, unknown> | null }) => {\n const props = feature.properties ?? {};\n const joinId = feature.id ?? props[regionIdField] ?? props.id ?? props.code;\n return joinId != null ? regionValues.get(String(joinId)) : undefined;\n };\n\n geoLayer = L.geoJSON(geoJson as unknown as Parameters<typeof L.geoJSON>[0], {\n style: (feature) => {\n const hit = feature ? lookup(feature) : undefined;\n const norm = hit ? (hit.value - min) / span : 0;\n return {\n fillColor: FILL,\n fillOpacity: hit ? 0.2 + norm * 0.65 : 0.05,\n color: 'var(--color-border-default, #cbd5e1)',\n weight: 1,\n };\n },\n onEachFeature: (feature, lyr) => {\n const hit = lookup(feature);\n const name =\n hit?.name ??\n (typeof feature.properties?.name === 'string' ? (feature.properties.name as string) : undefined) ??\n String(feature.id ?? '');\n const popupEl = document.createElement('div');\n const title = document.createElement('div');\n title.style.fontWeight = '600';\n title.textContent = name || 'Region';\n popupEl.appendChild(title);\n if (hit) {\n const val = document.createElement('div');\n val.textContent = hit.value.toLocaleString();\n popupEl.appendChild(val);\n }\n lyr.bindPopup(popupEl);\n lyr.on('click', () => clickRef.current({ name, lat: NaN, lng: NaN, value: hit?.value } as MapMarker));\n },\n });\n geoLayer.addTo(layer);\n }\n\n if (showMarkers && heatMode) {\n // Heat-point layer: translucent weighted circles, sized + colored by value.\n const weights = markers.map((mk) => (isFiniteNumber(mk.value) ? mk.value : 1));\n // reduce, not Math.min(...spread) — spreading a large array as args can\n // blow the call-stack (RangeError) for big datasets.\n const minW = weights.reduce((a, b) => Math.min(a, b), Infinity);\n const maxW = weights.reduce((a, b) => Math.max(a, b), -Infinity);\n const spanW = maxW - minW || 1;\n markers.forEach((marker, i) => {\n const norm = (weights[i] - minW) / spanW;\n const circle = L.circleMarker([marker.lat, marker.lng], {\n radius: 10 + norm * 22,\n fillColor: heatColor(norm),\n // Both radius and opacity ramp with intensity for a truer density look.\n fillOpacity: 0.25 + norm * 0.35,\n stroke: false,\n }).addTo(layer);\n circle.bindPopup(buildMarkerPopup(marker));\n circle.on('click', () => clickRef.current(marker));\n });\n } else if (showMarkers) {\n for (const marker of markers) {\n // Build the pin as a DOM element (not an HTML string) so the marker colour\n // is assigned via the style API and can never be interpreted as markup —\n // defense-in-depth alongside safeColor().\n const pin = document.createElement('div');\n Object.assign(pin.style, {\n width: '14px',\n height: '14px',\n borderRadius: '50% 50% 50% 0',\n transform: 'rotate(-45deg)',\n background: safeColor(marker.color),\n border: '2px solid #fff',\n boxShadow: '0 1px 4px rgba(0,0,0,.4)',\n });\n const icon = L.divIcon({\n className: 'bc-map-marker',\n html: pin,\n iconSize: [14, 14],\n iconAnchor: [7, 14],\n });\n const m = L.marker([marker.lat, marker.lng], { icon }).addTo(layer);\n m.bindPopup(buildMarkerPopup(marker));\n m.on('click', () => clickRef.current(marker));\n }\n }\n layer.addTo(map);\n\n // Only (re)frame the view when the framing inputs actually change — otherwise\n // a data-prop reference change (e.g. a refetch returning identical markers)\n // would discard the user's current pan/zoom.\n const frameSig = JSON.stringify({\n m: markers.map((mk) => [mk.lat, mk.lng]),\n c: center ? [center.lat, center.lng] : null,\n z: zoom ?? null,\n fc: fallbackCenter ? [fallbackCenter.lat, fallbackCenter.lng] : null,\n fz: fallbackZoom ?? null,\n g: geoJson ? regionValues.size : 0,\n });\n if (frameSig !== lastFrameSigRef.current) {\n lastFrameSigRef.current = frameSig;\n // Framing priority: data-payload center → frame the markers → frame the\n // choropleth regions → config fallback center → zoom only → world view.\n // Markers/regions win over the config default so a palette-created map frames\n // its data instead of {0,0}.\n if (center) {\n map.setView([center.lat, center.lng], zoom ?? map.getZoom());\n } else if (!markers.length && geoLayer) {\n const b = geoLayer.getBounds();\n if (b.isValid()) map.fitBounds(b, { padding: [24, 24], maxZoom: 12 });\n } else if (markers.length === 1) {\n map.setView([markers[0].lat, markers[0].lng], zoom ?? 8);\n } else if (markers.length > 1) {\n const bounds = L.latLngBounds(markers.map((m) => [m.lat, m.lng] as [number, number]));\n map.fitBounds(bounds, { padding: [32, 32], maxZoom: 12 });\n } else if (fallbackCenter) {\n map.setView([fallbackCenter.lat, fallbackCenter.lng], zoom ?? fallbackZoom ?? map.getZoom());\n } else if (isFiniteNumber(zoom ?? fallbackZoom)) {\n map.setZoom((zoom ?? fallbackZoom) as number);\n }\n }\n\n const resize = window.setTimeout(() => map.invalidateSize(), 0);\n\n return () => {\n window.clearTimeout(resize);\n layer.remove();\n };\n }, [\n markers,\n center,\n zoom,\n fallbackCenter,\n fallbackZoom,\n showMarkers,\n heatMode,\n geoJson,\n regionValues,\n regionIdField,\n ]);\n\n return (\n <div className=\"relative h-full w-full overflow-hidden rounded-lg bg-bg-sunken\">\n <div ref={containerRef} className=\"h-full w-full\" />\n\n {status !== 'error' && markers.length === 0 && !hasChoropleth && (\n <div className=\"pointer-events-none absolute inset-0 z-[500] flex items-center justify-center bg-bg-sunken/70 text-sm text-text-secondary\">\n <div className=\"text-center\">\n <svg\n className=\"mx-auto mb-2 h-12 w-12 text-text-muted\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z\"\n />\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={1.5}\n d=\"M15 11a3 3 0 11-6 0 3 3 0 016 0z\"\n />\n </svg>\n <p>No map data</p>\n </div>\n </div>\n )}\n\n {status === 'error' && (\n <div className=\"absolute inset-0 z-[500] flex items-center justify-center bg-bg-sunken px-4 text-center text-sm text-text-secondary\">\n The map needs an internet connection and couldn’t load.\n </div>\n )}\n </div>\n );\n});\n\nexport default MapWidget;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/map-widget/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComparisonBadge.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/metric-card/ComparisonBadge.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AAGtC,MAAM,WAAW,oBAAoB;IACnC,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CACpB;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CA6CnD,CAAC;AAEH,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComparisonBadge.js","names":[],"sources":["../../../../../src/bigconsole/components/widgets/metric-card/ComparisonBadge.tsx"],"sourcesContent":["/**\n * ComparisonBadge Component\n *\n * Displays percentage change with color coding.\n */\n\nimport { type FC, memo } from 'react';\nimport { TrendIndicator, type TrendDirection } from './TrendIndicator';\n\nexport interface ComparisonBadgeProps {\n /** Percentage change value */\n value: number;\n /** Label for the comparison (e.g., \"vs last week\") */\n label?: string;\n /** Whether positive change is good */\n positiveIsGood?: boolean;\n /** Size variant */\n size?: 'sm' | 'md';\n}\n\nexport const ComparisonBadge: FC<ComparisonBadgeProps> = memo(function ComparisonBadge({\n value,\n label,\n positiveIsGood = true,\n size = 'md',\n}) {\n // Determine trend direction\n const direction: TrendDirection = value > 0 ? 'up' : value < 0 ? 'down' : 'flat';\n\n // Determine if the change is good\n const isGood = direction === 'flat' ? null : positiveIsGood ? direction === 'up' : direction === 'down';\n\n // Get color classes\n const getColorClasses = (): string => {\n if (isGood === null) {\n return 'bg-bg-sunken text-text-secondary';\n }\n return isGood ? 'bg-status-success-bg/10 text-status-success-text' : 'bg-status-error-bg/10 text-status-error-text';\n };\n\n // Format percentage\n const formatPercentage = (): string => {\n const absValue = Math.abs(value);\n const formatted = absValue >= 100 ? absValue.toFixed(0) : absValue.toFixed(1);\n const sign = value > 0 ? '+' : value < 0 ? '-' : '';\n return `${sign}${formatted}%`;\n };\n\n const sizeClasses = size === 'sm' ? 'text-xs px-1.5 py-0.5' : 'text-sm px-2 py-1';\n const colorClasses = getColorClasses();\n\n return (\n <div\n className={`\n inline-flex items-center gap-1\n rounded-full font-medium\n ${sizeClasses}\n ${colorClasses}\n `}\n >\n <TrendIndicator direction={direction} size={size === 'sm' ? 'sm' : 'md'} positiveIsGood={positiveIsGood} />\n <span>{formatPercentage()}</span>\n {label && <span className=\"text-text-secondary font-normal\">{label}</span>}\n </div>\n );\n});\n\nexport default ComparisonBadge;\n"],"mappings":";;;;AAoBA,IAAa,IAA4C,EAAK,SAAyB,EACrF,UACA,UACA,oBAAiB,IACjB,UAAO,QACN;CAED,IAAM,IAA4B,IAAQ,IAAI,OAAO,IAAQ,IAAI,SAAS,QAGpE,IAAS,MAAc,SAAS,OAAO,IAAiB,MAAc,OAAO,MAAc;AAqBjG,QACE,kBAAC,OAAD;EACE,WAAW;;;YALK,MAAS,OAAO,0BAA0B,oBAQxC;YAtBhB,MAAW,OACN,qCAEF,IAAS,qDAAqD,+CAoBhD;;YALrB;GAQE,kBAAC,GAAD;IAA2B;IAAW,MAAM,MAAS,OAAO,OAAO;IAAsB;IAAkB,CAAA;GAC3G,kBAAC,QAAD,EAAA,iBApBmC;IACrC,IAAM,IAAW,KAAK,IAAI,EAAM,EAC1B,IAAY,KAAY,MAAM,EAAS,QAAQ,EAAE,GAAG,EAAS,QAAQ,EAAE;AAE7E,WAAO,GADM,IAAQ,IAAI,MAAM,IAAQ,IAAI,MAAM,KAChC,EAAU;OAgBA,EAAQ,CAAA;GAChC,KAAS,kBAAC,QAAD;IAAM,WAAU;cAAmC;IAAa,CAAA;GACtE;;EAER"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetricCardConfig.d.ts","sourceRoot":"","sources":["../../../../../src/bigconsole/components/widgets/metric-card/MetricCardConfig.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,IAAI,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAMrE,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,mCAAmC;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACxC;AAMD,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA8OrD,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
|