@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":"PipelineViewPage.js","names":[],"sources":["../../../src/bigconsole/pages/PipelineViewPage.tsx"],"sourcesContent":["/**\n * Pipeline View Page\n *\n * Display Pipeline details, stages, and execution history.\n * Supports testing pipeline with sample input.\n *\n * Section ladder (BOFF-5635):\n * bare — header strip (back / title / status / actions)\n * primary — the block this route exists for. That is the stage chain by\n * default; when the test panel is open (the Test button or\n * `?test=true`) the execution surface takes over as primary and\n * the stages step down to `standard`, so there is always exactly\n * one hero and it is whatever the user just asked for.\n * standard — the other of those two.\n * muted — sidebar metadata, stage cards nested inside the hero.\n * tone — pass/fail result, load failure, \"not found\".\n */\n\nimport { memo, useState, useCallback, useEffect, useId } from 'react';\nimport { useParams, useSearchParams } from 'react-router';\nimport { Button, IllustratedEmptyState, PagePurpose, NextSteps, Spinner } from '@burdenoff/fe-libs/ui';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { AccessDenied } from '@burdenoff/fe-libs/shared/components';\nimport { BIGCONSOLE_PERMISSIONS } from '../../constants/permissions';\nimport { useAppNavigate } from '../contexts';\nimport { isNative, nativeNotify } from '../../utils/nativeBridge';\nimport { usePipelineOperations } from '../hooks/usePipelineOperations';\nimport { usePipelineStore } from '../store/pipelineStore';\nimport { PipelineStatusBadge } from '../components/pipeline/PipelineStatusBadge';\nimport { PipelineDeleteDialog } from '../components/pipeline/PipelineDeleteDialog';\nimport { Section, SectionStack, SECTION_FOCUS_RING } from '../components/common';\nimport type { Pipeline, PipelineExecution, PipelineStage } from '../types';\n\n// ============================================================================\n// CONSTANTS\n// ============================================================================\n\n/** Keeps header/panel actions at the 40px touch minimum on mobile. */\nconst TOUCH_TARGET = 'min-h-[var(--size-controlHeight-md)]';\n\n/** Count / timing chip used in section headers. */\nconst META_CHIP = 'rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary';\n\n/** Mono key chip — the data contract of a stage. */\n/** `break-all`: stage keys are user-supplied and are often one long token. */\nconst KEY_CHIP = 'rounded-button bg-bg-surface px-1.5 py-0.5 font-mono break-all text-text-primary';\n\n// ============================================================================\n// ICONS\n// ============================================================================\n\nconst BackIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M10 19l-7-7m0 0l7-7m-7 7h18\" />\n </svg>\n);\n\nconst EditIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\"\n />\n </svg>\n);\n\nconst DeleteIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"\n />\n </svg>\n);\n\nconst PlayIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z\"\n />\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n);\n\nconst ErrorIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"\n />\n </svg>\n);\n\nconst CheckIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M5 13l4 4L19 7\" />\n </svg>\n);\n\nconst ArrowRightIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M14 5l7 7m0 0l-7 7m7-7H3\" />\n </svg>\n);\n\n// ============================================================================\n// STAGE ERROR BADGE\n// ============================================================================\n\n/**\n * The stage's failure policy. Labelled (\"On error\") because an unlabelled\n * `Fail` / `Skip` chip sitting next to the parser-type chip and the mono key\n * chips gave the reader no way to tell state from config.\n */\nconst StageErrorBadge = ({ handling }: { handling: string }) => {\n const { t } = useI18n();\n const config = {\n fail: {\n label: t('bigconsole.pipelines.view.errorHandlingFail', 'Fail'),\n className:\n 'bg-[var(--color-status-error-bgSubtle)] text-status-error-text border-[var(--color-status-error-border)]',\n },\n skip: {\n label: t('bigconsole.pipelines.view.errorHandlingSkip', 'Skip'),\n className:\n 'bg-[var(--color-status-warning-bgSubtle)] text-[var(--color-status-warning-text)] border-[var(--color-status-warning-border)]',\n },\n fallback: {\n label: t('bigconsole.pipelines.view.errorHandlingFallback', 'Fallback'),\n className:\n 'bg-[var(--color-status-info-bgSubtle)] text-[var(--color-status-info-text)] border-[var(--color-status-info-border)]',\n },\n };\n const c = config[handling as keyof typeof config] || config.fail;\n return (\n <span\n className={`inline-flex items-center gap-1 whitespace-nowrap rounded-pill border px-2 py-0.5 text-xs font-medium ${c.className}`}\n >\n <span className=\"font-normal opacity-80\">On error</span>\n {c.label}\n </span>\n );\n};\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport const PipelineViewPage = memo(function PipelineViewPage() {\n const { pipelineId } = useParams<{ pipelineId: string }>();\n const navigate = useAppNavigate();\n const { t } = useI18n();\n // Use default consoleId for now (should come from context in production)\n const consoleId = 'default';\n const [searchParams] = useSearchParams();\n const testInputId = useId();\n\n // Permissions\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const canRead = hasPermission(BIGCONSOLE_PERMISSIONS.PIPELINE_READ);\n const canUpdate = hasPermission(BIGCONSOLE_PERMISSIONS.PIPELINE_UPDATE);\n const canDelete = hasPermission(BIGCONSOLE_PERMISSIONS.PIPELINE_DELETE);\n const canTest = hasPermission(BIGCONSOLE_PERMISSIONS.PIPELINE_TEST);\n\n // Local state\n const [pipeline, setPipeline] = useState<Pipeline | null>(null);\n const [testInput, setTestInput] = useState('{\\n \"data\": \"sample\"\\n}');\n const [testResult, setTestResult] = useState<PipelineExecution | null>(null);\n const [executions, setExecutions] = useState<PipelineExecution[]>([]);\n const [selectedExecution, setSelectedExecution] = useState<PipelineExecution | null>(null);\n const [showTestPanel, setShowTestPanel] = useState(searchParams.get('test') === 'true');\n\n // Store state\n const deleteDialogOpen = usePipelineStore((state) => state.deleteDialogOpen);\n const openDeleteDialog = usePipelineStore((state) => state.openDeleteDialog);\n const closeDeleteDialog = usePipelineStore((state) => state.closeDeleteDialog);\n\n // Operations\n const { loading, error, fetchPipeline, deletePipeline, testPipeline, listExecutions } = usePipelineOperations({\n consoleId,\n skipFetch: true,\n });\n\n // Fetch pipeline on mount\n useEffect(() => {\n if (pipelineId) {\n fetchPipeline(pipelineId).then((result) => {\n if (result) {\n setPipeline(result);\n }\n });\n }\n }, [pipelineId, fetchPipeline]);\n\n // History belongs to the current pipeline visit. Late replies must not replace\n // another pipeline's history when navigation occurs before the request settles.\n useEffect(() => {\n let active = true;\n if (!pipelineId || permissionsLoading || !canRead) return;\n void listExecutions(pipelineId).then((records) => {\n if (!active) return;\n const ordered = [...records].sort((a, b) => new Date(b.startedAt).getTime() - new Date(a.startedAt).getTime());\n setExecutions(ordered);\n setSelectedExecution(ordered[0] ?? null);\n });\n return () => {\n active = false;\n };\n }, [pipelineId, permissionsLoading, canRead, listExecutions]);\n\n // Handlers\n const handleBack = useCallback(() => {\n navigate(`/pipelines?consoleId=${encodeURIComponent(pipeline?.consoleId ?? 'default')}`);\n }, [navigate, pipeline?.consoleId]);\n\n const handleEdit = useCallback(() => {\n navigate(`/pipelines/${pipelineId}/edit`);\n }, [navigate, pipelineId]);\n\n const handleDeleteClick = useCallback(() => {\n if (pipeline) {\n openDeleteDialog(pipeline);\n }\n }, [pipeline, openDeleteDialog]);\n\n const handleDeleteConfirm = useCallback(async () => {\n if (pipeline) {\n const success = await deletePipeline(pipeline.id);\n if (success) {\n if (isNative()) void nativeNotify('success');\n closeDeleteDialog();\n navigate(`/pipelines?consoleId=${encodeURIComponent(pipeline?.consoleId ?? 'default')}`);\n } else if (isNative()) {\n void nativeNotify('error');\n }\n }\n }, [pipeline, deletePipeline, closeDeleteDialog, navigate]);\n\n const handleViewParser = useCallback(\n (parserId: string) => {\n navigate(`/parsers/${parserId}`);\n },\n [navigate]\n );\n\n const handleTest = useCallback(async () => {\n if (!pipeline) return;\n\n try {\n const result = await testPipeline({\n pipelineId: pipeline.id,\n inputData: testInput,\n });\n if (result) {\n setTestResult(result);\n setSelectedExecution(result);\n const records = await listExecutions(pipeline.id);\n setExecutions(records);\n }\n } catch {\n // Failures surface through the hook's `error` state; the panel keeps the\n // previous result rather than blanking out.\n }\n }, [pipeline, testPipeline, testInput, listExecutions]);\n\n // Loading state\n if (loading && !pipeline) {\n return (\n <div className=\"p-card-padding\">\n <div className=\"flex flex-col items-center justify-center py-16\" role=\"status\">\n <Spinner style={{ height: 'var(--size-icon-xl)', width: 'var(--size-icon-xl)' }} />\n <p className=\"mt-form-gap text-sm text-text-secondary\">\n {t('bigconsole.pipelines.view.loading', 'Loading Pipeline...')}\n </p>\n </div>\n </div>\n );\n }\n\n // Read gate — once permissions have loaded, block actors without read access.\n if (!permissionsLoading && !canRead) {\n return (\n <AccessDenied\n title={t('bigconsole.pipelines.errors.accessDeniedTitle', 'Access Denied')}\n description={t(\n 'bigconsole.pipelines.errors.accessDeniedViewDescription',\n \"You don't have permission to view this pipeline.\"\n )}\n />\n );\n }\n\n // Error state\n if (error) {\n return (\n <div className=\"p-card-padding\">\n <Section\n tone=\"danger\"\n headingLevel={2}\n title={t('bigconsole.pipelines.view.loadError', 'Failed to load Pipeline')}\n description={error.message}\n icon={<ErrorIcon className=\"h-icon-sm w-icon-sm\" />}\n actions={\n <Button onClick={handleBack} className={TOUCH_TARGET}>\n {t('bigconsole.pipelines.actions.backToPipelines', 'Back to Pipelines')}\n </Button>\n }\n data-testid=\"pipeline-view-error\"\n >\n <p className=\"text-sm text-text-secondary\">\n The pipeline could not be read from the console service. Nothing was changed.\n </p>\n </Section>\n </div>\n );\n }\n\n // Not found state\n if (!pipeline) {\n return (\n <div className=\"p-card-padding\">\n <Section\n tone=\"warning\"\n headingLevel={2}\n title={t('bigconsole.pipelines.view.notFoundTitle', 'Pipeline not found')}\n description={t(\n 'bigconsole.pipelines.view.notFoundDescription',\n \"The pipeline you're looking for doesn't exist or has been deleted.\"\n )}\n icon={<ErrorIcon className=\"h-icon-sm w-icon-sm\" />}\n actions={\n <Button onClick={handleBack} className={TOUCH_TARGET}>\n {t('bigconsole.pipelines.actions.backToPipelines', 'Back to Pipelines')}\n </Button>\n }\n data-testid=\"pipeline-not-found\"\n />\n </div>\n );\n }\n\n const stageCount = pipeline.stages?.length ?? 0;\n const testPassed = testResult?.status === 'completed';\n\n /** Stage chain — hero unless the user opened the execution panel. */\n const stagesSection = (\n <Section\n emphasis={showTestPanel ? 'standard' : 'primary'}\n headingLevel={2}\n title={t('bigconsole.pipelines.view.stagesHeading', 'Pipeline Stages ({{count}})', { count: stageCount })}\n description=\"Data flows top to bottom — each stage reads its input key and writes an output key for the next one.\"\n data-testid=\"pipeline-stages\"\n >\n {stageCount === 0 ? (\n <IllustratedEmptyState\n illustration=\"empty-generic\"\n title={t('bigconsole.pipelines.view.noStagesTitle', 'No stages defined')}\n description={t('bigconsole.pipelines.view.noStagesDescription', 'Edit the pipeline to add parser stages.')}\n action={\n <Button variant=\"secondary\" onClick={handleEdit} disabled={!canUpdate} className={TOUCH_TARGET}>\n <EditIcon className=\"h-icon-sm w-icon-sm\" />\n {t('bigconsole.pipelines.actions.edit', 'Edit')}\n </Button>\n }\n />\n ) : (\n <ol className=\"flex flex-col\">\n {(pipeline.stages ?? []).map((stage: PipelineStage, index: number) => (\n <li key={stage.id} className=\"flex min-w-0 flex-col\">\n {/* Stage card — recessed so the chain reads as N discrete steps\n instead of one stack at the parent's luminance. */}\n <div\n data-testid=\"pipeline-stage\"\n data-enabled={stage.enabled}\n className={`min-w-0 rounded-card border bg-bg-sunken p-4 ${\n stage.enabled\n ? 'border-[var(--color-border-subtle)]'\n : 'border-dashed border-[var(--color-border-strong)]'\n }`}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-control-gap\">\n <div className=\"flex min-w-0 flex-wrap items-center gap-icon-gap\">\n <span\n aria-hidden=\"true\"\n className=\"flex h-6 w-6 shrink-0 items-center justify-center rounded-pill bg-bg-surface text-xs font-semibold text-text-secondary\"\n >\n {index + 1}\n </span>\n <h3 className=\"min-w-0 truncate text-sm font-semibold text-text-primary\">\n {stage.parserName ||\n t('bigconsole.pipelines.view.stageFallbackName', 'Stage {{number}}', { number: index + 1 })}\n </h3>\n {stage.parserType && (\n <span className=\"rounded-pill bg-bg-surface px-2 py-0.5 text-xs font-medium text-text-secondary\">\n {stage.parserType.toUpperCase()}\n </span>\n )}\n </div>\n <div className=\"flex flex-wrap items-center gap-icon-gap\">\n <StageErrorBadge handling={stage.onError} />\n {!stage.enabled && (\n <span className=\"rounded-pill border border-[var(--color-border-strong)] px-2 py-0.5 text-xs font-medium text-text-secondary\">\n {t('bigconsole.pipelines.view.stageDisabled', 'Disabled')}\n </span>\n )}\n </div>\n </div>\n\n <div className=\"mt-2 flex flex-wrap items-center gap-x-2 gap-y-1 text-xs text-text-secondary\">\n <span className=\"text-text-muted\">Reads</span>\n <code className={KEY_CHIP}>{stage.inputKey}</code>\n <ArrowRightIcon className=\"h-3 w-3 shrink-0\" />\n <span className=\"text-text-muted\">writes</span>\n <code className={KEY_CHIP}>{stage.outputKey}</code>\n </div>\n\n {stage.description && <p className=\"mt-2 text-xs text-text-secondary\">{stage.description}</p>}\n\n {stage.parserId && (\n <button\n type=\"button\"\n onClick={() => handleViewParser(stage.parserId)}\n className={`mt-2 rounded-button text-xs text-text-link hover:underline ${SECTION_FOCUS_RING}`}\n >\n {t('bigconsole.pipelines.view.viewParser', 'View Parser')}\n </button>\n )}\n </div>\n\n {/* Sequence connector — vertical, so the ordering metaphor survives\n below md (the old arrow was `hidden md:block`). */}\n {index < stageCount - 1 && (\n <span aria-hidden=\"true\" className=\"flex justify-center py-1\">\n <ArrowRightIcon className=\"h-icon-sm w-icon-sm rotate-90 text-text-muted\" />\n </span>\n )}\n </li>\n ))}\n </ol>\n )}\n </Section>\n );\n\n /** Execution surface — hero while it is open. */\n const testSection = showTestPanel ? (\n <Section\n id=\"pipeline-test-panel\"\n emphasis=\"primary\"\n headingLevel={2}\n title={t('bigconsole.pipelines.view.testPanelHeading', 'Test Pipeline')}\n description=\"Run sample input through every enabled stage. Nothing is written to the connected sink.\"\n actions={\n <Button onClick={handleTest} disabled={loading || !canTest} className={TOUCH_TARGET}>\n <PlayIcon className=\"h-icon-sm w-icon-sm\" />\n {loading\n ? t('bigconsole.pipelines.view.testRunning', 'Running...')\n : t('bigconsole.pipelines.view.runTest', 'Run Test')}\n </Button>\n }\n data-testid=\"pipeline-test-panel\"\n >\n <div className=\"flex flex-col gap-form-gap\">\n <div className=\"min-w-0\">\n <label htmlFor={testInputId} className=\"mb-1 block text-sm font-medium text-text-primary\">\n {t('bigconsole.pipelines.view.inputJsonLabel', 'Input JSON')}\n </label>\n <textarea\n id={testInputId}\n value={testInput}\n onChange={(e) => setTestInput(e.target.value)}\n spellCheck={false}\n className={`min-h-32 w-full resize-y rounded-input border border-[var(--color-border-subtle)] bg-bg-canvas px-3 py-2 font-mono text-sm text-text-primary ${SECTION_FOCUS_RING}`}\n placeholder='{\"key\": \"value\"}'\n />\n </div>\n\n {testResult && (\n <Section\n tone={testPassed ? 'success' : 'danger'}\n headingLevel={3}\n title={\n testPassed\n ? t('bigconsole.pipelines.view.testPassed', 'Test Passed')\n : t('bigconsole.pipelines.view.testFailed', 'Test Failed')\n }\n icon={\n testPassed ? <CheckIcon className=\"h-icon-sm w-icon-sm\" /> : <ErrorIcon className=\"h-icon-sm w-icon-sm\" />\n }\n meta={\n testResult.totalExecutionTimeMs ? (\n <span className={META_CHIP}>{testResult.totalExecutionTimeMs}ms</span>\n ) : null\n }\n data-testid=\"pipeline-test-result\"\n >\n <div className=\"flex flex-col gap-form-gap\">\n <div className=\"min-w-0\">\n <h4 className=\"mb-1 text-sm font-medium text-text-primary\">\n {t('bigconsole.pipelines.view.outputLabel', 'Output')}\n </h4>\n <pre className=\"max-h-64 w-full overflow-auto rounded-input border border-[var(--color-border-subtle)] bg-bg-canvas p-3 font-mono text-xs text-text-primary\">\n {JSON.stringify(testResult.outputData, null, 2) || 'null'}\n </pre>\n </div>\n\n {testResult.error && (\n <div className=\"min-w-0\">\n <h4 className=\"mb-1 text-sm font-medium text-status-error-text\">\n {t('bigconsole.pipelines.view.errorLabel', 'Error')}\n </h4>\n <pre className=\"max-h-64 w-full overflow-auto rounded-input border border-[var(--color-status-error-border)] bg-[var(--color-status-error-bgSubtle)] p-3 font-mono text-xs text-status-error-text\">\n {testResult.error}\n </pre>\n </div>\n )}\n </div>\n </Section>\n )}\n </div>\n </Section>\n ) : null;\n\n return (\n <div className=\"p-card-padding\">\n <SectionStack>\n {/* Header strip — structure only, no surface. */}\n <header className=\"flex flex-col gap-form-gap sm:flex-row sm:items-start sm:justify-between\">\n <div className=\"flex min-w-0 flex-col gap-control-gap\">\n <Button variant=\"ghost\" size=\"sm\" onClick={handleBack} className=\"w-fit\">\n <BackIcon className=\"h-icon-sm w-icon-sm\" />\n {t('bigconsole.pipelines.actions.backToPipelines', 'Back to Pipelines')}\n </Button>\n <div className=\"flex flex-wrap items-center gap-icon-gap\">\n {/* `break-words`: a pipeline name is user-supplied and can be one\n long unbroken token — without it the h1 pushes the whole page\n into horizontal scroll at 390px. */}\n <h1 className=\"min-w-0 break-words text-2xl font-bold leading-tight text-text-primary\">\n {pipeline.name}\n </h1>\n <PipelineStatusBadge status={pipeline.status} />\n </div>\n {pipeline.description && <p className=\"text-sm text-text-secondary\">{pipeline.description}</p>}\n </div>\n\n <div className=\"flex flex-wrap items-center gap-control-gap\">\n <Button\n onClick={() => setShowTestPanel(!showTestPanel)}\n disabled={!canTest}\n aria-expanded={showTestPanel}\n aria-controls=\"pipeline-test-panel\"\n className={TOUCH_TARGET}\n >\n <PlayIcon className=\"h-icon-sm w-icon-sm\" />\n {t('bigconsole.pipelines.actions.test', 'Test')}\n </Button>\n <Button variant=\"secondary\" onClick={handleEdit} disabled={!canUpdate} className={TOUCH_TARGET}>\n <EditIcon className=\"h-icon-sm w-icon-sm\" />\n {t('bigconsole.pipelines.actions.edit', 'Edit')}\n </Button>\n {canDelete && (\n <Button variant=\"destructive\" onClick={handleDeleteClick} className={TOUCH_TARGET}>\n <DeleteIcon className=\"h-icon-sm w-icon-sm\" />\n {t('bigconsole.pipelines.actions.delete', 'Delete')}\n </Button>\n )}\n </div>\n </header>\n\n <PagePurpose className=\"max-w-[75ch]\">\n {t(\n 'bigconsole.pipelines.view.purpose',\n 'A pipeline chains parsers and a data sink into a repeatable flow. Review its stages here, test it with sample input to confirm the output, then edit the stages or run it to process real data into the connected sink.'\n )}\n </PagePurpose>\n\n <NextSteps\n storageKey=\"bigconsole-pipeline-view\"\n steps={[\n ...(canTest\n ? [\n {\n id: 'test',\n label: t('bigconsole.pipelines.view.nextStepTestLabel', 'Test with sample input'),\n description: t(\n 'bigconsole.pipelines.view.nextStepTestDescription',\n 'Run the pipeline against a sample to verify each stage.'\n ),\n onClick: () => setShowTestPanel(true),\n },\n ]\n : []),\n ...(canUpdate\n ? [\n {\n id: 'edit',\n label: t('bigconsole.pipelines.view.nextStepEditLabel', 'Edit the stages'),\n description: t(\n 'bigconsole.pipelines.view.nextStepEditDescription',\n 'Add, reorder, or configure the parsers in this pipeline.'\n ),\n onClick: handleEdit,\n },\n ]\n : []),\n {\n id: 'sinks',\n label: t('bigconsole.pipelines.view.nextStepSinksLabel', 'Review the target data sink'),\n description: t(\n 'bigconsole.pipelines.view.nextStepSinksDescription',\n 'See where the processed data lands.'\n ),\n onClick: () => navigate('/datasinks'),\n },\n ]}\n />\n\n <div className=\"grid grid-cols-1 gap-section-gap lg:grid-cols-3\">\n {/* Main column */}\n <div className=\"min-w-0 lg:col-span-2\">\n <SectionStack>\n {testSection}\n {selectedExecution && selectedExecution.pipelineId === pipelineId && (\n <Section\n emphasis=\"primary\"\n headingLevel={2}\n title={t('bigconsole.pipelines.execution.timelineHeading', 'Stage timeline')}\n data-testid=\"pipeline-stage-timeline\"\n >\n <div className=\"flex flex-col gap-form-gap\">\n <dl className=\"grid grid-cols-1 gap-form-gap sm:grid-cols-2\">\n <div>\n <dt className=\"text-xs text-text-muted\">\n {t('bigconsole.pipelines.execution.runStatus', 'Run status')}\n </dt>\n <dd className=\"font-medium text-text-primary\">{selectedExecution.status}</dd>\n </div>\n <div>\n <dt className=\"text-xs text-text-muted\">\n {t('bigconsole.pipelines.execution.totalDuration', 'Total duration')}\n </dt>\n <dd className=\"text-text-primary\">\n {selectedExecution.totalExecutionTimeMs == null\n ? '—'\n : `${selectedExecution.totalExecutionTimeMs} ms`}\n </dd>\n </div>\n <div>\n <dt className=\"text-xs text-text-muted\">\n {t('bigconsole.pipelines.execution.started', 'Started')}\n </dt>\n <dd className=\"break-words text-text-primary\">\n {new Date(selectedExecution.startedAt).toLocaleString()}\n </dd>\n </div>\n <div>\n <dt className=\"text-xs text-text-muted\">\n {t('bigconsole.pipelines.execution.finished', 'Finished')}\n </dt>\n <dd className=\"break-words text-text-primary\">\n {selectedExecution.completedAt\n ? new Date(selectedExecution.completedAt).toLocaleString()\n : '—'}\n </dd>\n </div>\n </dl>\n <ol className=\"flex flex-col gap-control-gap\">\n {selectedExecution.stageResults.map((result, index) => (\n <li\n key={result.id}\n className=\"min-w-0 rounded-card border border-[var(--color-border-subtle)] bg-bg-sunken p-3\"\n >\n <div className=\"flex flex-wrap items-center justify-between gap-control-gap\">\n <h3 className=\"min-w-0 break-words font-medium text-text-primary\">\n {index + 1}.{' '}\n {result.stageName ??\n pipeline.stages.find((stage) => stage.id === result.stageId)?.parserName ??\n result.stageId}\n </h3>\n <span className=\"text-sm text-text-secondary\">\n {result.status} · {result.executionTimeMs} ms\n </span>\n </div>\n {result.error && (\n <p className=\"mt-2 break-words text-sm text-status-error-text\">{result.error}</p>\n )}\n {result.output != null && (\n <details className=\"mt-2\">\n <summary className=\"cursor-pointer text-sm text-text-secondary\">\n {t('bigconsole.pipelines.execution.stageOutput', 'Stage output')}\n </summary>\n <pre className=\"mt-2 max-h-48 overflow-auto rounded-input bg-bg-canvas p-3 text-xs\">\n {JSON.stringify(result.output, null, 2)}\n </pre>\n </details>\n )}\n </li>\n ))}\n </ol>\n {selectedExecution.error && (\n <p role=\"alert\" className=\"break-words text-sm text-status-error-text\">\n {selectedExecution.error}\n </p>\n )}\n </div>\n </Section>\n )}\n {stagesSection}\n </SectionStack>\n </div>\n\n {/* Sidebar — supporting detail only. */}\n <div className=\"min-w-0\">\n <SectionStack>\n <Section\n headingLevel={2}\n title={t('bigconsole.pipelines.execution.historyHeading', 'Previous runs')}\n data-testid=\"pipeline-execution-history\"\n >\n {executions.filter((execution) => execution.pipelineId === pipelineId).length === 0 ? (\n <p className=\"text-sm text-text-secondary\">\n {t(\n 'bigconsole.pipelines.execution.noHistory',\n 'No execution history yet. Test this pipeline with sample input to inspect its stages.'\n )}\n </p>\n ) : (\n <ol className=\"flex flex-col gap-control-gap\">\n {executions\n .filter((execution) => execution.pipelineId === pipelineId)\n .map((execution) => (\n <li key={execution.id}>\n <button\n type=\"button\"\n aria-pressed={selectedExecution?.id === execution.id}\n onClick={() => setSelectedExecution(execution)}\n className={`flex w-full min-w-0 flex-col gap-1 rounded-button border border-[var(--color-border-subtle)] p-3 text-left ${SECTION_FOCUS_RING} ${selectedExecution?.id === execution.id ? 'bg-bg-sunken' : 'bg-bg-surface'}`}\n >\n <span className=\"flex flex-wrap justify-between gap-2 text-sm font-medium text-text-primary\">\n <span>{execution.status}</span>\n <span>\n {execution.totalExecutionTimeMs == null ? '—' : `${execution.totalExecutionTimeMs} ms`}\n </span>\n </span>\n <span className=\"break-words text-xs text-text-secondary\">\n {new Date(execution.startedAt).toLocaleString()}\n </span>\n <span className=\"truncate font-mono text-xs text-text-muted\" title={execution.id}>\n {execution.id}\n </span>\n </button>\n </li>\n ))}\n </ol>\n )}\n </Section>\n <Section\n emphasis=\"muted\"\n headingLevel={2}\n title={t('bigconsole.pipelines.view.detailsHeading', 'Details')}\n data-testid=\"pipeline-details\"\n >\n <dl className=\"flex flex-col gap-form-gap text-sm\">\n <div className=\"flex flex-col gap-3\">\n <div>\n <dt className=\"text-xs text-text-muted\">\n {t('bigconsole.pipelines.view.detailStatus', 'Status')}\n </dt>\n <dd className=\"mt-1\">\n <PipelineStatusBadge status={pipeline.status} size=\"sm\" />\n </dd>\n </div>\n <div>\n <dt className=\"text-xs text-text-muted\">\n {t('bigconsole.pipelines.view.detailStages', 'Stages')}\n </dt>\n <dd className=\"text-text-primary\">{stageCount}</dd>\n </div>\n <div>\n <dt className=\"text-xs text-text-muted\">\n {t('bigconsole.pipelines.view.detailLastExecuted', 'Last Executed')}\n </dt>\n <dd className=\"break-words text-text-primary\">\n {pipeline.lastExecutedAt\n ? new Date(pipeline.lastExecutedAt).toLocaleString(undefined, {\n dateStyle: 'medium',\n timeStyle: 'short',\n })\n : t('bigconsole.pipelines.view.detailNever', 'Never')}\n </dd>\n </div>\n </div>\n\n {/* Lifecycle facts — separated so the sidebar reads as two\n short groups rather than six equal rows. */}\n <div className=\"flex flex-col gap-3 border-t border-[var(--color-border-subtle)] pt-form-gap\">\n <div>\n <dt className=\"text-xs text-text-muted\">\n {t('bigconsole.pipelines.view.detailVersion', 'Version')}\n </dt>\n <dd className=\"text-text-primary\">{pipeline.version}</dd>\n </div>\n <div>\n <dt className=\"text-xs text-text-muted\">\n {t('bigconsole.pipelines.view.detailCreated', 'Created')}\n </dt>\n <dd className=\"break-words text-text-primary\">\n {new Date(pipeline.createdAt).toLocaleString(undefined, {\n dateStyle: 'medium',\n timeStyle: 'short',\n })}\n </dd>\n </div>\n <div>\n <dt className=\"text-xs text-text-muted\">\n {t('bigconsole.pipelines.view.detailUpdated', 'Updated')}\n </dt>\n <dd className=\"break-words text-text-primary\">\n {new Date(pipeline.updatedAt).toLocaleString(undefined, {\n dateStyle: 'medium',\n timeStyle: 'short',\n })}\n </dd>\n </div>\n </div>\n </dl>\n </Section>\n </SectionStack>\n </div>\n </div>\n </SectionStack>\n\n {/* Delete Dialog */}\n {pipeline && (\n <PipelineDeleteDialog\n pipeline={pipeline}\n isOpen={deleteDialogOpen}\n onClose={closeDeleteDialog}\n onConfirm={handleDeleteConfirm}\n />\n )}\n </div>\n );\n});\n\nexport default PipelineViewPage;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PipelinesPage.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/pages/PipelinesPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuCH,eAAO,MAAM,aAAa,8CA6bxB,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PipelinesPage.js","names":[],"sources":["../../../src/bigconsole/pages/PipelinesPage.tsx"],"sourcesContent":["/**\n * Pipelines Page\n *\n * List and manage Pipelines.\n *\n * Section ladder (BOFF-5635):\n * bare — page header band, filter/search toolbar (structure only)\n * primary — \"Your pipelines\" results region: the block this route exists for\n * muted — nested empty / no-match states inside the results region\n * danger — load failure, rendered under the header so navigation survives\n */\n\nimport { useSearchParams } from 'react-router';\nimport { PipelineScopePicker } from '../components/pipeline/PipelineScopePicker';\nimport { memo, useState, useMemo, useCallback } from 'react';\nimport { useAppNavigate } from '../contexts';\nimport { isNative, nativeNotify } from '../../utils/nativeBridge';\nimport { usePipelineOperations } from '../hooks/usePipelineOperations';\nimport { usePipelineStore } from '../store/pipelineStore';\nimport { PipelineCard } from '../components/pipeline/PipelineCard';\nimport { PipelineDeleteDialog } from '../components/pipeline/PipelineDeleteDialog';\nimport { Section, SectionStack, SECTION_FOCUS_RING, sectionSurfaceClasses } from '../components/common';\nimport type { PipelineStatus } from '../types';\n\n// fe-libs RBAC\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { AccessDenied, PermissionButton } from '@burdenoff/fe-libs/shared/components';\nimport { BIGCONSOLE_PERMISSIONS } from '../../constants/permissions';\n\n// fe-libs UI components\nimport { Button } from '@burdenoff/fe-libs/ui';\nimport { Input } from '@burdenoff/fe-libs/ui';\nimport { Spinner } from '@burdenoff/fe-libs/ui';\nimport { AuroraBackground, GradientText, IllustratedEmptyState, PagePurpose } from '@burdenoff/fe-libs/ui';\n\n// Lucide icons\nimport { Plus, Search, GitBranch, AlertCircle, LayoutGrid, List } from 'lucide-react';\n\n// ============================================================================\n// TYPES\n// ============================================================================\n\ntype StatusFilter = 'all' | PipelineStatus;\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport const PipelinesPage = memo(function PipelinesPage() {\n const navigate = useAppNavigate();\n const { t } = useI18n();\n\n // Permissions\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const canRead = hasPermission(BIGCONSOLE_PERMISSIONS.PIPELINE_READ);\n // Create is gated inline via <PermissionButton permission=PIPELINE_CREATE>.\n const canUpdate = hasPermission(BIGCONSOLE_PERMISSIONS.PIPELINE_UPDATE);\n const canDelete = hasPermission(BIGCONSOLE_PERMISSIONS.PIPELINE_DELETE);\n const canTest = hasPermission(BIGCONSOLE_PERMISSIONS.PIPELINE_TEST);\n\n // Local state\n const [statusFilter, setStatusFilter] = useState<StatusFilter>('all');\n const [searchParams, setSearchParams] = useSearchParams();\n const consoleId = searchParams.get('consoleId') || 'default';\n const [viewMode, setViewMode] = useState<'grid' | 'list'>('grid');\n\n // Store state\n const searchQuery = usePipelineStore((state) => state.searchQuery);\n const setSearchQuery = usePipelineStore((state) => state.setSearchQuery);\n const deleteDialogOpen = usePipelineStore((state) => state.deleteDialogOpen);\n const currentPipeline = usePipelineStore((state) => state.currentPipeline);\n const openDeleteDialog = usePipelineStore((state) => state.openDeleteDialog);\n const closeDeleteDialog = usePipelineStore((state) => state.closeDeleteDialog);\n\n // Operations\n const { loading, error, pipelines, deletePipeline, refetch } = usePipelineOperations({\n consoleId,\n });\n\n // Filter pipelines\n const filteredPipelines = useMemo(() => {\n let filtered = [...pipelines];\n\n // Apply status filter\n if (statusFilter !== 'all') {\n filtered = filtered.filter((p) => p.status === statusFilter);\n }\n\n // Apply search filter\n if (searchQuery.trim()) {\n const query = searchQuery.toLowerCase();\n filtered = filtered.filter(\n (p) => p.name.toLowerCase().includes(query) || p.description?.toLowerCase().includes(query)\n );\n }\n\n // Sort by updatedAt descending\n return filtered.sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime());\n }, [pipelines, statusFilter, searchQuery]);\n\n // Handlers\n const handleCreatePipeline = useCallback(() => {\n navigate(`/pipelines/new?consoleId=${encodeURIComponent(consoleId)}`);\n }, [navigate, consoleId]);\n\n const handleViewPipeline = useCallback(\n (id: string) => {\n navigate(`/pipelines/${id}`);\n },\n [navigate]\n );\n\n const handleEditPipeline = useCallback(\n (id: string) => {\n navigate(`/pipelines/${id}/edit`);\n },\n [navigate]\n );\n\n const handleTestPipeline = useCallback(\n (id: string) => {\n navigate(`/pipelines/${id}?test=true`);\n },\n [navigate]\n );\n\n const handleDeleteClick = useCallback(\n (id: string) => {\n const pipeline = pipelines.find((p) => p.id === id);\n if (pipeline) {\n openDeleteDialog(pipeline);\n }\n },\n [pipelines, openDeleteDialog]\n );\n\n const handleDeleteConfirm = useCallback(async () => {\n if (currentPipeline) {\n try {\n await deletePipeline(currentPipeline.id);\n if (isNative()) void nativeNotify('success');\n } catch (err) {\n if (isNative()) void nativeNotify('error');\n throw err;\n }\n closeDeleteDialog();\n }\n }, [currentPipeline, deletePipeline, closeDeleteDialog]);\n\n const handleClearFilters = useCallback(() => {\n setStatusFilter('all');\n setSearchQuery('');\n }, [setSearchQuery]);\n\n // Status filter options\n const statusOptions: { value: StatusFilter; label: string }[] = [\n { value: 'all', label: t('bigconsole.pipelines.filters.all', 'All') },\n { value: 'draft', label: t('bigconsole.pipelines.filters.draft', 'Draft') },\n { value: 'active', label: t('bigconsole.pipelines.filters.active', 'Active') },\n { value: 'inactive', label: t('bigconsole.pipelines.filters.inactive', 'Inactive') },\n { value: 'error', label: t('bigconsole.pipelines.filters.error', 'Error') },\n ];\n\n // Permission gate — wait for permissions to resolve, then block callers\n // without pipeline read access before rendering the page body.\n if (permissionsLoading) {\n return (\n <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', padding: '80px 0' }}>\n <Spinner\n style={{\n height: 'var(--size-icon-xl)',\n width: 'var(--size-icon-xl)',\n }}\n />\n </div>\n );\n }\n\n if (!canRead) {\n return (\n <AccessDenied\n title={t('bigconsole.pipelines.errors.accessDeniedTitle', 'Access Denied')}\n description={t(\n 'bigconsole.pipelines.errors.accessDeniedListDescription',\n \"You don't have permission to view pipelines.\"\n )}\n />\n );\n }\n\n /**\n * Page header band. `bare` in the emphasis ladder: it carries the page\n * identity and the single create action, never a content surface. Rendered in\n * both the error and the normal branch so a failed load keeps its \"you are\n * here\" anchor instead of replacing the whole page.\n */\n const pageHeader = (\n <header className=\"relative overflow-hidden border-b border-[var(--color-border-seam)] bg-[image:var(--gradient-gloss-card)]\">\n <AuroraBackground intensity=\"subtle\" />\n <div\n className=\"flex flex-col gap-form-gap sm:flex-row sm:items-center sm:justify-between\"\n style={{ padding: 'var(--space-pagePadding)' }}\n >\n <div className=\"flex min-w-0 items-center gap-form-gap\">\n <span\n aria-hidden=\"true\"\n className=\"flex shrink-0 items-center justify-center rounded-card\"\n style={{\n height: 'var(--size-controlHeight-lg)',\n width: 'var(--size-controlHeight-lg)',\n backgroundColor: 'var(--color-action-primary-bg)',\n }}\n >\n <GitBranch\n style={{\n height: 'var(--size-icon-lg)',\n width: 'var(--size-icon-lg)',\n color: 'var(--color-action-primary-text)',\n }}\n />\n </span>\n <div className=\"min-w-0\">\n <h1 className=\"text-2xl font-bold leading-tight text-text-primary\">\n <GradientText>{t('bigconsole.pipelines.list.heading', 'Pipelines')}</GradientText>\n </h1>\n <p className=\"text-sm text-text-secondary\">\n {t(\n 'bigconsole.pipelines.list.subtitle',\n 'Create and manage sequential parser chains for data transformation'\n )}\n </p>\n </div>\n </div>\n\n <PermissionButton permission={BIGCONSOLE_PERMISSIONS.PIPELINE_CREATE} deniedBehavior=\"disable\">\n <Button\n onClick={handleCreatePipeline}\n className=\"w-full shrink-0 min-h-[var(--size-controlHeight-md)] sm:w-auto\"\n >\n <Plus className=\"h-icon-sm w-icon-sm\" />\n {t('bigconsole.pipelines.actions.createPipeline', 'Create Pipeline')}\n </Button>\n </PermissionButton>\n </div>\n </header>\n );\n\n // Error state — keep the header so the page never loses its context.\n if (error) {\n return (\n <div className=\"min-h-screen bg-bg-canvas\">\n {pageHeader}\n <div style={{ padding: 'var(--space-pagePadding)' }}>\n <Section\n tone=\"danger\"\n headingLevel={2}\n title={t('bigconsole.pipelines.errors.loadListTitle', 'Failed to load Pipelines')}\n description={error.message}\n icon={<AlertCircle className=\"h-icon-sm w-icon-sm\" />}\n actions={\n <Button size=\"sm\" onClick={() => refetch()}>\n {t('bigconsole.pipelines.actions.tryAgain', 'Try Again')}\n </Button>\n }\n data-testid=\"pipelines-error\"\n >\n <p className=\"text-sm text-text-secondary\">\n Nothing was changed. Retry once the console service is reachable again.\n </p>\n </Section>\n </div>\n </div>\n );\n }\n\n return (\n <div className=\"min-h-screen bg-bg-canvas\">\n {pageHeader}\n\n {/* Main Content */}\n <div style={{ padding: 'var(--space-pagePadding)' }}>\n <SectionStack>\n <PagePurpose className=\"max-w-[75ch]\">\n {t(\n 'bigconsole.pipelines.list.purpose',\n 'Pipelines chain parsers and data sinks into a repeatable flow — they take raw input, run it through your parsers, and route the structured result into a sink. Use them to turn messy logs, files, or API payloads into clean, queryable data your dashboards can use.'\n )}\n </PagePurpose>\n\n {/* Toolbar — `bare` in the ladder: filters + search grouped so the eye\n reads one control row instead of two floating stripes. Written with\n `sectionSurfaceClasses` rather than <Section> because the block has\n no visible heading (see the ticket note on Section's required\n `title` prop). */}\n <section\n aria-label=\"Filter and search pipelines\"\n data-testid=\"pipelines-toolbar\"\n data-section-emphasis=\"bare\"\n className={sectionSurfaceClasses('bare', 'neutral', 'none')}\n >\n <PipelineScopePicker\n value={consoleId}\n onChange={(next) => {\n const params = new URLSearchParams(searchParams);\n params.set('consoleId', next);\n setSearchParams(params);\n }}\n />\n <div className=\"mt-form-gap flex flex-col gap-control-gap md:flex-row md:items-center md:justify-between\">\n {/* `min-w-0`: the pills are `shrink-0`, so without it this scroller\n refuses to shrink in the md row and pushes the search field out. */}\n <div\n role=\"group\"\n aria-label=\"Filter by status\"\n className=\"flex min-w-0 max-w-full items-center gap-1 overflow-x-auto rounded-card bg-bg-sunken p-1\"\n >\n {statusOptions.map((option) => (\n <button\n key={option.value}\n type=\"button\"\n aria-pressed={statusFilter === option.value}\n onClick={() => setStatusFilter(option.value)}\n className={`shrink-0 whitespace-nowrap rounded-button text-sm font-medium motion-safe:transition-colors ${SECTION_FOCUS_RING}`}\n style={{\n minHeight: 'var(--size-controlHeight-md)',\n padding: '0 var(--space-formGap)',\n border: 'none',\n cursor: 'pointer',\n backgroundColor: statusFilter === option.value ? 'var(--color-bg-surface)' : 'transparent',\n color:\n statusFilter === option.value ? 'var(--color-text-primary)' : 'var(--color-text-secondary)',\n boxShadow: statusFilter === option.value ? 'var(--shadow-elevation-1)' : 'none',\n }}\n >\n {option.label}\n </button>\n ))}\n </div>\n\n <div role=\"group\" aria-label=\"Pipeline layout\" className=\"flex shrink-0 gap-1\">\n <Button\n variant={viewMode === 'grid' ? 'secondary' : 'ghost'}\n aria-label=\"Grid view\"\n aria-pressed={viewMode === 'grid'}\n onClick={() => setViewMode('grid')}\n >\n <LayoutGrid className=\"h-icon-sm w-icon-sm\" />\n </Button>\n <Button\n variant={viewMode === 'list' ? 'secondary' : 'ghost'}\n aria-label=\"List view\"\n aria-pressed={viewMode === 'list'}\n onClick={() => setViewMode('list')}\n >\n <List className=\"h-icon-sm w-icon-sm\" />\n </Button>\n </div>\n <div className=\"relative w-full md:max-w-[320px]\">\n <Search\n aria-hidden=\"true\"\n style={{\n position: 'absolute',\n left: 'var(--space-controlGap)',\n top: '50%',\n transform: 'translateY(-50%)',\n height: 'var(--size-icon-sm)',\n width: 'var(--size-icon-sm)',\n color: 'var(--color-text-muted)',\n }}\n />\n <Input\n type=\"text\"\n aria-label={t('bigconsole.pipelines.list.searchPlaceholder', 'Search pipelines...')}\n placeholder={t('bigconsole.pipelines.list.searchPlaceholder', 'Search pipelines...')}\n value={searchQuery}\n onChange={(e) => setSearchQuery(e.target.value)}\n style={{ paddingLeft: 'var(--size-controlHeight-md)', height: 'var(--size-controlHeight-md)' }}\n />\n </div>\n </div>\n </section>\n\n {/* Results — the one primary block on this route. */}\n <Section\n emphasis=\"primary\"\n headingLevel={2}\n title=\"Your pipelines\"\n description=\"Open one to review its stages, or run a quick test against sample input.\"\n meta={\n !loading || pipelines.length > 0 ? (\n <span className=\"rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary\">\n {filteredPipelines.length}\n {filteredPipelines.length === pipelines.length ? '' : ` of ${pipelines.length}`}\n </span>\n ) : null\n }\n data-testid=\"pipelines-results\"\n >\n {/* Loading state */}\n {loading && pipelines.length === 0 && (\n <div className=\"flex items-center justify-center py-12\" role=\"status\">\n <div className=\"text-center\">\n <Spinner\n style={{\n height: 'var(--size-icon-xl)',\n width: 'var(--size-icon-xl)',\n margin: '0 auto var(--space-formGap)',\n }}\n />\n <p className=\"text-sm text-text-muted\">\n {t('bigconsole.pipelines.list.loading', 'Loading pipelines...')}\n </p>\n </div>\n </div>\n )}\n\n {/* Empty state — nothing created yet (onboarding). */}\n {!loading && pipelines.length === 0 && (\n <div data-testid=\"pipelines-empty\">\n <IllustratedEmptyState\n illustration=\"empty-data\"\n title={t('bigconsole.pipelines.list.emptyTitle', 'No Pipelines yet')}\n description={t(\n 'bigconsole.pipelines.list.emptyDescription',\n 'Create a pipeline to chain parsers together for sequential data transformation. Each stage processes the output of the previous stage.'\n )}\n action={\n <PermissionButton permission={BIGCONSOLE_PERMISSIONS.PIPELINE_CREATE} deniedBehavior=\"disable\">\n <Button onClick={handleCreatePipeline} className=\"min-h-[var(--size-controlHeight-md)]\">\n <Plus className=\"h-icon-sm w-icon-sm\" />\n {t('bigconsole.pipelines.actions.createPipeline', 'Create Pipeline')}\n </Button>\n </PermissionButton>\n }\n />\n </div>\n )}\n\n {/* No results state — a filter problem, not an onboarding problem. */}\n {!loading && filteredPipelines.length === 0 && pipelines.length > 0 && (\n <Section\n emphasis=\"muted\"\n tone=\"info\"\n padding=\"compact\"\n headingLevel={3}\n title={t('bigconsole.pipelines.list.noResultsTitle', 'No matching pipelines')}\n description={t('bigconsole.pipelines.list.noResultsDescription', 'No pipelines match your filters')}\n actions={\n <Button size=\"sm\" variant=\"secondary\" onClick={handleClearFilters}>\n Clear filters\n </Button>\n }\n data-testid=\"pipelines-no-results\"\n />\n )}\n\n {/* Pipeline Grid */}\n {filteredPipelines.length > 0 && (\n <div\n className={\n viewMode === 'grid'\n ? 'grid grid-cols-1 gap-form-gap sm:grid-cols-2 xl:grid-cols-3'\n : 'grid grid-cols-1 gap-form-gap'\n }\n data-layout={viewMode}\n >\n {filteredPipelines.map((pipeline) => (\n <PipelineCard\n key={pipeline.id}\n pipeline={pipeline}\n onView={handleViewPipeline}\n onEdit={canUpdate ? handleEditPipeline : undefined}\n onTest={canTest ? handleTestPipeline : undefined}\n onDelete={canDelete ? handleDeleteClick : undefined}\n />\n ))}\n </div>\n )}\n </Section>\n </SectionStack>\n </div>\n\n {/* Delete Dialog */}\n {currentPipeline && (\n <PipelineDeleteDialog\n pipeline={currentPipeline}\n isOpen={deleteDialogOpen}\n onClose={closeDeleteDialog}\n onConfirm={handleDeleteConfirm}\n />\n )}\n </div>\n );\n});\n\nexport default PipelinesPage;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiDA,IAAa,IAAgB,EAAK,WAAyB;CACzD,IAAM,IAAW,GAAgB,EAC3B,EAAE,SAAM,GAAS,EAGjB,EAAE,kBAAe,WAAW,MAAuB,GAAgB,EACnE,IAAU,EAAc,EAAuB,cAAc,EAE7D,IAAY,EAAc,EAAuB,gBAAgB,EACjE,IAAY,EAAc,EAAuB,gBAAgB,EACjE,IAAU,EAAc,EAAuB,cAAc,EAG7D,CAAC,GAAc,KAAmB,EAAuB,MAAM,EAC/D,CAAC,GAAc,KAAmB,GAAiB,EACnD,IAAY,EAAa,IAAI,YAAY,IAAI,WAC7C,CAAC,GAAU,KAAe,EAA0B,OAAO,EAG3D,IAAc,GAAkB,MAAU,EAAM,YAAY,EAC5D,IAAiB,GAAkB,MAAU,EAAM,eAAe,EAClE,IAAmB,GAAkB,MAAU,EAAM,iBAAiB,EACtE,IAAkB,GAAkB,MAAU,EAAM,gBAAgB,EACpE,IAAmB,GAAkB,MAAU,EAAM,iBAAiB,EACtE,IAAoB,GAAkB,MAAU,EAAM,kBAAkB,EAGxE,EAAE,YAAS,UAAO,cAAW,mBAAgB,gBAAY,GAAsB,EACnF,cACD,CAAC,EAGI,IAAoB,QAAc;EACtC,IAAI,IAAW,CAAC,GAAG,EAAU;AAQ7B,MALI,MAAiB,UACnB,IAAW,EAAS,QAAQ,MAAM,EAAE,WAAW,EAAa,GAI1D,EAAY,MAAM,EAAE;GACtB,IAAM,IAAQ,EAAY,aAAa;AACvC,OAAW,EAAS,QACjB,MAAM,EAAE,KAAK,aAAa,CAAC,SAAS,EAAM,IAAI,EAAE,aAAa,aAAa,CAAC,SAAS,EAAM,CAC5F;;AAIH,SAAO,EAAS,MAAM,GAAG,MAAM,IAAI,KAAK,EAAE,UAAU,CAAC,SAAS,GAAG,IAAI,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC;IAChG;EAAC;EAAW;EAAc;EAAY,CAAC,EAGpC,IAAuB,QAAkB;AAC7C,IAAS,4BAA4B,mBAAmB,EAAU,GAAG;IACpE,CAAC,GAAU,EAAU,CAAC,EAEnB,KAAqB,GACxB,MAAe;AACd,IAAS,cAAc,IAAK;IAE9B,CAAC,EAAS,CACX,EAEK,KAAqB,GACxB,MAAe;AACd,IAAS,cAAc,EAAG,OAAO;IAEnC,CAAC,EAAS,CACX,EAEK,KAAqB,GACxB,MAAe;AACd,IAAS,cAAc,EAAG,YAAY;IAExC,CAAC,EAAS,CACX,EAEK,KAAoB,GACvB,MAAe;EACd,IAAM,IAAW,EAAU,MAAM,MAAM,EAAE,OAAO,EAAG;AACnD,EAAI,KACF,EAAiB,EAAS;IAG9B,CAAC,GAAW,EAAiB,CAC9B,EAEK,KAAsB,EAAY,YAAY;AAClD,MAAI,GAAiB;AACnB,OAAI;AAEF,IADA,MAAM,EAAe,EAAgB,GAAG,EACpC,GAAU,IAAO,EAAa,UAAU;YACrC,GAAK;AAEZ,UADI,GAAU,IAAO,EAAa,QAAQ,EACpC;;AAER,MAAmB;;IAEpB;EAAC;EAAiB;EAAgB;EAAkB,CAAC,EAElD,KAAqB,QAAkB;AAE3C,EADA,EAAgB,MAAM,EACtB,EAAe,GAAG;IACjB,CAAC,EAAe,CAAC,EAGd,IAA0D;EAC9D;GAAE,OAAO;GAAO,OAAO,EAAE,oCAAoC,MAAM;GAAE;EACrE;GAAE,OAAO;GAAS,OAAO,EAAE,sCAAsC,QAAQ;GAAE;EAC3E;GAAE,OAAO;GAAU,OAAO,EAAE,uCAAuC,SAAS;GAAE;EAC9E;GAAE,OAAO;GAAY,OAAO,EAAE,yCAAyC,WAAW;GAAE;EACpF;GAAE,OAAO;GAAS,OAAO,EAAE,sCAAsC,QAAQ;GAAE;EAC5E;AAID,KAAI,EACF,QACE,kBAAC,OAAD;EAAK,OAAO;GAAE,SAAS;GAAQ,YAAY;GAAU,gBAAgB;GAAU,SAAS;GAAU;YAChG,kBAAC,GAAD,EACE,OAAO;GACL,QAAQ;GACR,OAAO;GACR,EACD,CAAA;EACE,CAAA;AAIV,KAAI,CAAC,EACH,QACE,kBAAC,GAAD;EACE,OAAO,EAAE,iDAAiD,gBAAgB;EAC1E,aAAa,EACX,2DACA,+CACD;EACD,CAAA;CAUN,IAAM,IACJ,kBAAC,UAAD;EAAQ,WAAU;YAAlB,CACE,kBAAC,IAAD,EAAkB,WAAU,UAAW,CAAA,EACvC,kBAAC,OAAD;GACE,WAAU;GACV,OAAO,EAAE,SAAS,4BAA4B;aAFhD,CAIE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,QAAD;KACE,eAAY;KACZ,WAAU;KACV,OAAO;MACL,QAAQ;MACR,OAAO;MACP,iBAAiB;MAClB;eAED,kBAAC,GAAD,EACE,OAAO;MACL,QAAQ;MACR,OAAO;MACP,OAAO;MACR,EACD,CAAA;KACG,CAAA,EACP,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,MAAD;MAAI,WAAU;gBACZ,kBAAC,IAAD,EAAA,UAAe,EAAE,qCAAqC,YAAY,EAAgB,CAAA;MAC/E,CAAA,EACL,kBAAC,KAAD;MAAG,WAAU;gBACV,EACC,sCACA,qEACD;MACC,CAAA,CACA;OACF;OAEN,kBAAC,GAAD;IAAkB,YAAY,EAAuB;IAAiB,gBAAe;cACnF,kBAAC,GAAD;KACE,SAAS;KACT,WAAU;eAFZ,CAIE,kBAAC,GAAD,EAAM,WAAU,uBAAwB,CAAA,EACvC,EAAE,+CAA+C,kBAAkB,CAC7D;;IACQ,CAAA,CACf;KACC;;AA+BX,QA3BI,IAEA,kBAAC,OAAD;EAAK,WAAU;YAAf,CACG,GACD,kBAAC,OAAD;GAAK,OAAO,EAAE,SAAS,4BAA4B;aACjD,kBAAC,GAAD;IACE,MAAK;IACL,cAAc;IACd,OAAO,EAAE,6CAA6C,2BAA2B;IACjF,aAAa,EAAM;IACnB,MAAM,kBAAC,GAAD,EAAa,WAAU,uBAAwB,CAAA;IACrD,SACE,kBAAC,GAAD;KAAQ,MAAK;KAAK,eAAe,IAAS;eACvC,EAAE,yCAAyC,YAAY;KACjD,CAAA;IAEX,eAAY;cAEZ,kBAAC,KAAD;KAAG,WAAU;eAA8B;KAEvC,CAAA;IACI,CAAA;GACN,CAAA,CACF;MAKR,kBAAC,OAAD;EAAK,WAAU;YAAf;GACG;GAGD,kBAAC,OAAD;IAAK,OAAO,EAAE,SAAS,4BAA4B;cACjD,kBAAC,GAAD,EAAA,UAAA;KACE,kBAAC,IAAD;MAAa,WAAU;gBACpB,EACC,qCACA,yQACD;MACW,CAAA;KAOd,kBAAC,WAAD;MACE,cAAW;MACX,eAAY;MACZ,yBAAsB;MACtB,WAAW,GAAsB,QAAQ,WAAW,OAAO;gBAJ7D,CAME,kBAAC,GAAD;OACE,OAAO;OACP,WAAW,MAAS;QAClB,IAAM,IAAS,IAAI,gBAAgB,EAAa;AAEhD,QADA,EAAO,IAAI,aAAa,EAAK,EAC7B,EAAgB,EAAO;;OAEzB,CAAA,EACF,kBAAC,OAAD;OAAK,WAAU;iBAAf;QAGE,kBAAC,OAAD;SACE,MAAK;SACL,cAAW;SACX,WAAU;mBAET,EAAc,KAAK,MAClB,kBAAC,UAAD;UAEE,MAAK;UACL,gBAAc,MAAiB,EAAO;UACtC,eAAe,EAAgB,EAAO,MAAM;UAC5C,WAAW,+FAA+F;UAC1G,OAAO;WACL,WAAW;WACX,SAAS;WACT,QAAQ;WACR,QAAQ;WACR,iBAAiB,MAAiB,EAAO,QAAQ,4BAA4B;WAC7E,OACE,MAAiB,EAAO,QAAQ,8BAA8B;WAChE,WAAW,MAAiB,EAAO,QAAQ,8BAA8B;WAC1E;oBAEA,EAAO;UACD,EAjBF,EAAO,MAiBL,CACT;SACE,CAAA;QAEN,kBAAC,OAAD;SAAK,MAAK;SAAQ,cAAW;SAAkB,WAAU;mBAAzD,CACE,kBAAC,GAAD;UACE,SAAS,MAAa,SAAS,cAAc;UAC7C,cAAW;UACX,gBAAc,MAAa;UAC3B,eAAe,EAAY,OAAO;oBAElC,kBAAC,GAAD,EAAY,WAAU,uBAAwB,CAAA;UACvC,CAAA,EACT,kBAAC,GAAD;UACE,SAAS,MAAa,SAAS,cAAc;UAC7C,cAAW;UACX,gBAAc,MAAa;UAC3B,eAAe,EAAY,OAAO;oBAElC,kBAAC,IAAD,EAAM,WAAU,uBAAwB,CAAA;UACjC,CAAA,CACL;;QACN,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,IAAD;UACE,eAAY;UACZ,OAAO;WACL,UAAU;WACV,MAAM;WACN,KAAK;WACL,WAAW;WACX,QAAQ;WACR,OAAO;WACP,OAAO;WACR;UACD,CAAA,EACF,kBAAC,IAAD;UACE,MAAK;UACL,cAAY,EAAE,+CAA+C,sBAAsB;UACnF,aAAa,EAAE,+CAA+C,sBAAsB;UACpF,OAAO;UACP,WAAW,MAAM,EAAe,EAAE,OAAO,MAAM;UAC/C,OAAO;WAAE,aAAa;WAAgC,QAAQ;WAAgC;UAC9F,CAAA,CACE;;QACF;SACE;;KAGV,kBAAC,GAAD;MACE,UAAS;MACT,cAAc;MACd,OAAM;MACN,aAAY;MACZ,MACE,CAAC,KAAW,EAAU,SAAS,IAC7B,kBAAC,QAAD;OAAM,WAAU;iBAAhB,CACG,EAAkB,QAClB,EAAkB,WAAW,EAAU,SAAS,KAAK,OAAO,EAAU,SAClE;WACL;MAEN,eAAY;gBAbd;OAgBG,KAAW,EAAU,WAAW,KAC/B,kBAAC,OAAD;QAAK,WAAU;QAAyC,MAAK;kBAC3D,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD,EACE,OAAO;UACL,QAAQ;UACR,OAAO;UACP,QAAQ;UACT,EACD,CAAA,EACF,kBAAC,KAAD;UAAG,WAAU;oBACV,EAAE,qCAAqC,uBAAuB;UAC7D,CAAA,CACA;;QACF,CAAA;OAIP,CAAC,KAAW,EAAU,WAAW,KAChC,kBAAC,OAAD;QAAK,eAAY;kBACf,kBAAC,IAAD;SACE,cAAa;SACb,OAAO,EAAE,wCAAwC,mBAAmB;SACpE,aAAa,EACX,8CACA,yIACD;SACD,QACE,kBAAC,GAAD;UAAkB,YAAY,EAAuB;UAAiB,gBAAe;oBACnF,kBAAC,GAAD;WAAQ,SAAS;WAAsB,WAAU;qBAAjD,CACE,kBAAC,GAAD,EAAM,WAAU,uBAAwB,CAAA,EACvC,EAAE,+CAA+C,kBAAkB,CAC7D;;UACQ,CAAA;SAErB,CAAA;QACE,CAAA;OAIP,CAAC,KAAW,EAAkB,WAAW,KAAK,EAAU,SAAS,KAChE,kBAAC,GAAD;QACE,UAAS;QACT,MAAK;QACL,SAAQ;QACR,cAAc;QACd,OAAO,EAAE,4CAA4C,wBAAwB;QAC7E,aAAa,EAAE,kDAAkD,kCAAkC;QACnG,SACE,kBAAC,GAAD;SAAQ,MAAK;SAAK,SAAQ;SAAY,SAAS;mBAAoB;SAE1D,CAAA;QAEX,eAAY;QACZ,CAAA;OAIH,EAAkB,SAAS,KAC1B,kBAAC,OAAD;QACE,WACE,MAAa,SACT,gEACA;QAEN,eAAa;kBAEZ,EAAkB,KAAK,MACtB,kBAAC,IAAD;SAEY;SACV,QAAQ;SACR,QAAQ,IAAY,KAAqB,KAAA;SACzC,QAAQ,IAAU,KAAqB,KAAA;SACvC,UAAU,IAAY,KAAoB,KAAA;SAC1C,EANK,EAAS,GAMd,CACF;QACE,CAAA;OAEA;;KACG,EAAA,CAAA;IACX,CAAA;GAGL,KACC,kBAAC,IAAD;IACE,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,CAAA;GAEA;;EAER"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsPage.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/pages/SettingsPage.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,EAA0C,MAAM,OAAO,CAAC;AAgBxE,eAAO,MAAM,YAAY,EAAE,EA4czB,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsPage.js","names":[],"sources":["../../../src/bigconsole/pages/SettingsPage.tsx"],"sourcesContent":["/**\n * SettingsPage\n *\n * BigConsole workspace settings and preferences.\n * Settings are persisted to localStorage until a backend settings API is available.\n */\n\nimport { type FC, memo, useState, useCallback, useEffect } from 'react';\nimport { AuroraBackground, GradientText, PagePurpose, EmphasisPanel } from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { Settings, Save, RotateCcw } from 'lucide-react';\n\nimport {\n type BigConsoleSettings,\n DEFAULT_SETTINGS,\n loadBigConsoleSettings,\n saveBigConsoleSettings,\n} from '../hooks/useBigConsoleSettings';\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport const SettingsPage: FC = memo(function SettingsPage() {\n const { t } = useI18n();\n const [settings, setSettings] = useState<BigConsoleSettings>(loadBigConsoleSettings);\n const [saved, setSaved] = useState(false);\n const [saveError, setSaveError] = useState(false);\n\n useEffect(() => {\n if (saved) {\n const timer = setTimeout(() => setSaved(false), 2000);\n return () => clearTimeout(timer);\n }\n }, [saved]);\n\n const handleChange = useCallback(<K extends keyof BigConsoleSettings>(key: K, value: BigConsoleSettings[K]) => {\n setSettings((prev) => ({ ...prev, [key]: value }));\n }, []);\n\n const handleSave = useCallback(() => {\n const success = saveBigConsoleSettings(settings);\n setSaved(success);\n setSaveError(!success);\n }, [settings]);\n\n const handleReset = useCallback(() => {\n setSettings({ ...DEFAULT_SETTINGS });\n const success = saveBigConsoleSettings(DEFAULT_SETTINGS);\n setSaved(success);\n setSaveError(!success);\n }, []);\n\n const inputStyle: React.CSSProperties = {\n width: '100%',\n padding: '8px 12px',\n borderRadius: 'var(--radius-button)',\n border: '1px solid var(--color-border)',\n backgroundColor: 'var(--color-bg-canvas)',\n color: 'var(--color-text-primary)',\n fontSize: 'var(--font-size-body-sm)',\n };\n\n const labelStyle: React.CSSProperties = {\n display: 'block',\n fontSize: 'var(--font-size-body-sm)',\n fontWeight: 'var(--font-weight-medium)',\n color: 'var(--color-text-primary)',\n marginBottom: 4,\n };\n\n const descStyle: React.CSSProperties = {\n fontSize: 'var(--font-size-body-sm)',\n color: 'var(--color-text-muted)',\n marginTop: 4,\n };\n\n const sectionStyle: React.CSSProperties = {\n backgroundColor: 'var(--color-bg-surface)',\n border: '1px solid var(--color-border-seam)',\n borderRadius: 'var(--radius-card)',\n padding: 'var(--space-cardPadding)',\n marginBottom: 'var(--space-sectionGap)',\n boxShadow: 'var(--shadow-pop)',\n };\n\n return (\n <div style={{ minHeight: '100vh', backgroundColor: 'var(--color-bg-canvas)' }}>\n <div style={{ padding: 'var(--space-pagePadding)', maxWidth: 1440, margin: '0 auto' }}>\n {/* Header */}\n <div\n className=\"relative overflow-hidden rounded-card border border-border-seam bg-gloss-card p-6\"\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n marginBottom: 'var(--space-sectionGap)',\n flexWrap: 'wrap',\n gap: 'var(--space-formGap)',\n }}\n >\n <AuroraBackground intensity=\"subtle\" />\n <div>\n <div style={{ display: 'flex', alignItems: 'center', gap: 'var(--space-iconGap)' }}>\n <Settings size={24} style={{ color: 'var(--color-text-primary)' }} />\n <h1\n style={{\n fontSize: 'var(--font-size-heading-h4)',\n fontWeight: 'var(--font-weight-bold)',\n color: 'var(--color-text-primary)',\n }}\n >\n <GradientText>{t('bigconsole.settings.header.title', 'Settings')}</GradientText>\n </h1>\n </div>\n <p style={{ fontSize: 'var(--font-size-body-md)', color: 'var(--color-text-secondary)', marginTop: 4 }}>\n {t('bigconsole.settings.header.subtitle', 'Configure BigConsole preferences')}\n </p>\n </div>\n <div style={{ display: 'flex', gap: 8 }}>\n <button\n onClick={handleReset}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 6,\n padding: '8px 12px',\n borderRadius: 'var(--radius-button)',\n border: '1px solid var(--color-border)',\n backgroundColor: 'transparent',\n color: 'var(--color-text-secondary)',\n fontSize: 'var(--font-size-body-sm)',\n cursor: 'pointer',\n }}\n >\n <RotateCcw size={14} /> {t('bigconsole.settings.actions.reset', 'Reset')}\n </button>\n <button\n onClick={handleSave}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 6,\n padding: '8px 16px',\n borderRadius: 'var(--radius-button)',\n backgroundColor: saved ? 'var(--color-status-success-bg)' : 'var(--color-action-primary-bg)',\n color: 'var(--color-action-primary-text)',\n fontWeight: 'var(--font-weight-medium)',\n fontSize: 'var(--font-size-body-sm)',\n border: 'none',\n cursor: 'pointer',\n transition: 'background-color 200ms',\n }}\n >\n <Save size={14} />{' '}\n {saved\n ? t('bigconsole.settings.actions.savedLocally', 'Saved locally')\n : t('bigconsole.settings.actions.saveLocally', 'Save locally')}\n </button>\n </div>\n </div>\n\n {saveError && (\n <p role=\"alert\" className=\"mb-form-gap text-status-error-text\">\n {t('bigconsole.settings.actions.saveError', 'Your browser could not save these preferences. Try again.')}\n </p>\n )}\n <PagePurpose className=\"mb-[var(--space-sectionGap)]\">\n {t(\n 'bigconsole.settings.localDefaultsPurpose',\n 'These browser-local defaults apply when you add dashboard pages, widgets and data sinks. Display preferences update existing widgets in this browser. They do not change existing page layouts, widget refresh schedules or data sink cache settings, and are not shared with your team.'\n )}\n </PagePurpose>\n\n {/* Dashboard Defaults — primary emphasis zone */}\n <EmphasisPanel className=\"mb-[var(--space-sectionGap)] p-[var(--space-cardPadding)]\">\n <h2\n style={{\n fontSize: 'var(--font-size-body-md)',\n fontWeight: 'var(--font-weight-semibold)',\n color: 'var(--color-text-primary)',\n marginBottom: 16,\n }}\n >\n {t('bigconsole.settings.dashboardDefaults.title', 'Dashboard Defaults')}\n </h2>\n <div className=\"grid gap-form-gap md:grid-cols-3\">\n <div>\n <label htmlFor=\"grid-cols\" style={labelStyle}>\n {t('bigconsole.settings.dashboardDefaults.gridColumns.label', 'Grid Columns')}\n </label>\n <input\n id=\"grid-cols\"\n type=\"number\"\n min={4}\n max={24}\n value={settings.defaultGridColumns}\n onChange={(e) =>\n handleChange('defaultGridColumns', Math.min(24, Math.max(4, Number(e.target.value) || 12)))\n }\n style={inputStyle}\n />\n <p style={descStyle}>\n {t(\n 'bigconsole.settings.dashboardDefaults.gridColumns.help',\n 'Number of columns in the dashboard grid (4-24)'\n )}\n </p>\n </div>\n <div>\n <label htmlFor=\"widget-height\" style={labelStyle}>\n {t('bigconsole.settings.dashboardDefaults.widgetHeight.label', 'Default Widget Height')}\n </label>\n <input\n id=\"widget-height\"\n type=\"number\"\n min={2}\n max={12}\n value={settings.defaultWidgetHeight}\n onChange={(e) =>\n handleChange('defaultWidgetHeight', Math.min(12, Math.max(1, Number(e.target.value) || 4)))\n }\n style={inputStyle}\n />\n <p style={descStyle}>\n {t(\n 'bigconsole.settings.dashboardDefaults.widgetHeight.help',\n 'Default height units for new widgets (2-12)'\n )}\n </p>\n </div>\n <div>\n <label htmlFor=\"refresh-interval\" style={labelStyle}>\n {t('bigconsole.settings.dashboardDefaults.refreshInterval.label', 'Auto-Refresh Interval (seconds)')}\n </label>\n <select\n id=\"refresh-interval\"\n value={settings.defaultRefreshInterval}\n onChange={(e) => handleChange('defaultRefreshInterval', parseInt(e.target.value))}\n style={inputStyle}\n >\n <option value={0}>\n {t('bigconsole.settings.dashboardDefaults.refreshInterval.disabled', 'Disabled')}\n </option>\n <option value={10}>\n {t('bigconsole.settings.dashboardDefaults.refreshInterval.seconds10', '10 seconds')}\n </option>\n <option value={30}>\n {t('bigconsole.settings.dashboardDefaults.refreshInterval.seconds30', '30 seconds')}\n </option>\n <option value={60}>\n {t('bigconsole.settings.dashboardDefaults.refreshInterval.minute1', '1 minute')}\n </option>\n <option value={300}>\n {t('bigconsole.settings.dashboardDefaults.refreshInterval.minutes5', '5 minutes')}\n </option>\n <option value={600}>\n {t('bigconsole.settings.dashboardDefaults.refreshInterval.minutes10', '10 minutes')}\n </option>\n </select>\n <p style={descStyle}>\n {t(\n 'bigconsole.settings.dashboardDefaults.refreshInterval.help',\n 'How often widgets refresh their data automatically'\n )}\n </p>\n </div>\n </div>\n </EmphasisPanel>\n\n {/* Cache Settings */}\n <div style={sectionStyle}>\n <h2\n style={{\n fontSize: 'var(--font-size-body-md)',\n fontWeight: 'var(--font-weight-semibold)',\n color: 'var(--color-text-primary)',\n marginBottom: 16,\n }}\n >\n {t('bigconsole.settings.cache.title', 'Cache')}\n </h2>\n <div className=\"grid gap-form-gap md:grid-cols-2\">\n <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>\n <div>\n <label style={labelStyle}>{t('bigconsole.settings.cache.enable.label', 'Enable Cache')}</label>\n <p style={descStyle}>\n {t('bigconsole.settings.cache.newSinkHelp', 'Enable caching by default for new data sinks')}\n </p>\n </div>\n <button\n onClick={() => handleChange('cacheEnabled', !settings.cacheEnabled)}\n role=\"switch\"\n aria-checked={settings.cacheEnabled}\n aria-label={t('bigconsole.settings.cache.enable.label', 'Enable Cache')}\n style={{\n width: 44,\n flexShrink: 0,\n height: 24,\n borderRadius: 12,\n backgroundColor: settings.cacheEnabled ? 'var(--color-action-primary-bg)' : 'var(--color-bg-sunken)',\n border: 'none',\n cursor: 'pointer',\n position: 'relative',\n transition: 'background-color 200ms',\n }}\n >\n <div\n style={{\n width: 18,\n height: 18,\n borderRadius: '50%',\n backgroundColor: 'var(--color-action-primary-text)',\n position: 'absolute',\n top: 3,\n left: settings.cacheEnabled ? 23 : 3,\n transition: 'left 200ms',\n }}\n />\n </button>\n </div>\n {settings.cacheEnabled && (\n <div>\n <label htmlFor=\"cache-ttl\" style={labelStyle}>\n {t('bigconsole.settings.cache.ttl.label', 'Cache TTL (seconds)')}\n </label>\n <input\n id=\"cache-ttl\"\n type=\"number\"\n min={30}\n max={3600}\n value={settings.cacheTTLSeconds}\n onChange={(e) =>\n handleChange('cacheTTLSeconds', Math.min(86400, Math.max(0, Number(e.target.value))))\n }\n style={inputStyle}\n />\n <p style={descStyle}>\n {t('bigconsole.settings.cache.ttl.help', 'How long cached data is considered fresh (30-3600)')}\n </p>\n </div>\n )}\n </div>\n </div>\n\n {/* Display Settings */}\n <div style={sectionStyle}>\n <h2\n style={{\n fontSize: 'var(--font-size-body-md)',\n fontWeight: 'var(--font-weight-semibold)',\n color: 'var(--color-text-primary)',\n marginBottom: 16,\n }}\n >\n {t('bigconsole.settings.display.title', 'Display')}\n </h2>\n <div className=\"grid gap-form-gap md:grid-cols-3\">\n <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>\n <div>\n <label style={labelStyle}>\n {t('bigconsole.settings.display.widgetBorders.label', 'Show Widget Borders')}\n </label>\n <p style={descStyle}>\n {t('bigconsole.settings.display.widgetBorders.help', 'Display borders around widgets in dashboards')}\n </p>\n </div>\n <button\n onClick={() => handleChange('showWidgetBorders', !settings.showWidgetBorders)}\n role=\"switch\"\n aria-checked={settings.showWidgetBorders}\n aria-label={t('bigconsole.settings.display.widgetBorders.label', 'Show Widget Borders')}\n style={{\n width: 44,\n flexShrink: 0,\n height: 24,\n borderRadius: 12,\n backgroundColor: settings.showWidgetBorders\n ? 'var(--color-action-primary-bg)'\n : 'var(--color-bg-sunken)',\n border: 'none',\n cursor: 'pointer',\n position: 'relative',\n transition: 'background-color 200ms',\n }}\n >\n <div\n style={{\n width: 18,\n height: 18,\n borderRadius: '50%',\n backgroundColor: 'var(--color-action-primary-text)',\n position: 'absolute',\n top: 3,\n left: settings.showWidgetBorders ? 23 : 3,\n transition: 'left 200ms',\n }}\n />\n </button>\n </div>\n <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>\n <div>\n <label style={labelStyle}>{t('bigconsole.settings.display.compactMode.label', 'Compact Mode')}</label>\n <p style={descStyle}>\n {t('bigconsole.settings.display.compactMode.help', 'Reduce padding and spacing for more content')}\n </p>\n </div>\n <button\n onClick={() => handleChange('compactMode', !settings.compactMode)}\n role=\"switch\"\n aria-checked={settings.compactMode}\n aria-label={t('bigconsole.settings.display.compactMode.label', 'Compact Mode')}\n style={{\n width: 44,\n flexShrink: 0,\n height: 24,\n borderRadius: 12,\n backgroundColor: settings.compactMode ? 'var(--color-action-primary-bg)' : 'var(--color-bg-sunken)',\n border: 'none',\n cursor: 'pointer',\n position: 'relative',\n transition: 'background-color 200ms',\n }}\n >\n <div\n style={{\n width: 18,\n height: 18,\n borderRadius: '50%',\n backgroundColor: 'var(--color-action-primary-text)',\n position: 'absolute',\n top: 3,\n left: settings.compactMode ? 23 : 3,\n transition: 'left 200ms',\n }}\n />\n </button>\n </div>\n <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>\n <div>\n <label style={labelStyle}>{t('bigconsole.settings.display.animations.label', 'Animations')}</label>\n <p style={descStyle}>\n {t('bigconsole.settings.display.animations.help', 'Enable transition animations and effects')}\n </p>\n </div>\n <button\n onClick={() => handleChange('animationsEnabled', !settings.animationsEnabled)}\n role=\"switch\"\n aria-checked={settings.animationsEnabled}\n aria-label={t('bigconsole.settings.display.animations.label', 'Animations')}\n style={{\n width: 44,\n flexShrink: 0,\n height: 24,\n borderRadius: 12,\n backgroundColor: settings.animationsEnabled\n ? 'var(--color-action-primary-bg)'\n : 'var(--color-bg-sunken)',\n border: 'none',\n cursor: 'pointer',\n position: 'relative',\n transition: 'background-color 200ms',\n }}\n >\n <div\n style={{\n width: 18,\n height: 18,\n borderRadius: '50%',\n backgroundColor: 'var(--color-action-primary-text)',\n position: 'absolute',\n top: 3,\n left: settings.animationsEnabled ? 23 : 3,\n transition: 'left 200ms',\n }}\n />\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n});\n\nexport default SettingsPage;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetDemoPage.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/pages/WidgetDemoPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,EAAqB,MAAM,OAAO,CAAC;AAkNnD,eAAO,MAAM,cAAc,EAAE,EAkR5B,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WidgetDemoPage.js","names":[],"sources":["../../../src/bigconsole/pages/WidgetDemoPage.tsx"],"sourcesContent":["/**\n * WidgetDemoPage\n *\n * Demonstrates all 18 widget types.\n * Widgets show empty states when no real data is available.\n * Connect a DataSink + Parser pipeline for real data processing.\n *\n * Section emphasis (BOFF-5636): the gallery is the one block this route exists\n * for, so it carries `primary`. The page-identity strip and the footer stat line\n * are structural (`bare` / `muted`) and the categories inside the gallery are\n * `bare` sub-sections, which gives the eye a ladder — page → gallery → category\n * → card — instead of eighteen equal rectangles.\n */\n\nimport { type FC, useState, useMemo } from 'react';\nimport { Button, IllustratedEmptyState, PagePurpose } from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useAppNavigate } from '../contexts';\nimport type { Widget, WidgetCategory } from '../types';\nimport { WidgetWrapper } from '../components/widgets';\nimport { WIDGET_CATEGORY_LABELS } from '../components/widgets/WidgetRegistry';\nimport { Section, SectionStack, sectionSurfaceClasses } from '../components/common';\n\n// Widget type string literals\ntype WidgetType =\n | 'metric_card'\n | 'kpi_card_comparison'\n | 'chart'\n | 'funnel_chart'\n | 'table'\n | 'pivot_table'\n | 'gauge'\n | 'progress'\n | 'list'\n | 'form'\n | 'text'\n | 'iframe'\n | 'map'\n | 'heatmap'\n | 'calendar'\n | 'kanban'\n | 'timeline'\n | 'custom';\n\n// ============================================================================\n// Widget Types for Demo\n// ============================================================================\n\ninterface DemoWidgetDef {\n type: WidgetType;\n title: string;\n /** i18n key for the widget title shown on the demo card. */\n titleKey: string;\n description: string;\n /** i18n key for the one-line description under the card header. */\n descriptionKey: string;\n /** Grouping used by the gallery headings — mirrors the registry categories. */\n category: WidgetCategory;\n}\n\nconst WIDGET_TYPES: DemoWidgetDef[] = [\n {\n type: 'metric_card',\n title: 'Metric Card',\n titleKey: 'bigconsole.widgetDemo.type.metricCard.title',\n description: 'Single metric with trend and sparkline',\n descriptionKey: 'bigconsole.widgetDemo.type.metricCard.description',\n category: 'KPI',\n },\n {\n type: 'kpi_card_comparison',\n title: 'KPI Card Comparison',\n titleKey: 'bigconsole.widgetDemo.type.kpiCardComparison.title',\n description: 'Multiple KPIs with comparisons',\n descriptionKey: 'bigconsole.widgetDemo.type.kpiCardComparison.description',\n category: 'KPI',\n },\n {\n type: 'gauge',\n title: 'Gauge',\n titleKey: 'bigconsole.widgetDemo.type.gauge.title',\n description: 'Circular/linear gauge with thresholds',\n descriptionKey: 'bigconsole.widgetDemo.type.gauge.description',\n category: 'KPI',\n },\n {\n type: 'progress',\n title: 'Progress',\n titleKey: 'bigconsole.widgetDemo.type.progress.title',\n description: 'Progress bar with milestones',\n descriptionKey: 'bigconsole.widgetDemo.type.progress.description',\n category: 'KPI',\n },\n {\n type: 'chart',\n title: 'Chart (Line/Bar/Area)',\n titleKey: 'bigconsole.widgetDemo.type.chart.title',\n description: 'Time-series data visualization',\n descriptionKey: 'bigconsole.widgetDemo.type.chart.description',\n category: 'Visualization',\n },\n {\n type: 'funnel_chart',\n title: 'Funnel Chart',\n titleKey: 'bigconsole.widgetDemo.type.funnelChart.title',\n description: 'Conversion funnel with stages',\n descriptionKey: 'bigconsole.widgetDemo.type.funnelChart.description',\n category: 'Visualization',\n },\n {\n type: 'heatmap',\n title: 'Heatmap',\n titleKey: 'bigconsole.widgetDemo.type.heatmap.title',\n description: 'Grid visualization with color intensity',\n descriptionKey: 'bigconsole.widgetDemo.type.heatmap.description',\n category: 'Visualization',\n },\n {\n type: 'map',\n title: 'Map',\n titleKey: 'bigconsole.widgetDemo.type.map.title',\n description: 'Geographic data with markers',\n descriptionKey: 'bigconsole.widgetDemo.type.map.description',\n category: 'Visualization',\n },\n {\n type: 'table',\n title: 'Table',\n titleKey: 'bigconsole.widgetDemo.type.table.title',\n description: 'Data table with sort/filter/pagination',\n descriptionKey: 'bigconsole.widgetDemo.type.table.description',\n category: 'Data',\n },\n {\n type: 'pivot_table',\n title: 'Pivot Table',\n titleKey: 'bigconsole.widgetDemo.type.pivotTable.title',\n description: 'Multi-dimensional data analysis',\n descriptionKey: 'bigconsole.widgetDemo.type.pivotTable.description',\n category: 'Data',\n },\n {\n type: 'list',\n title: 'List',\n titleKey: 'bigconsole.widgetDemo.type.list.title',\n description: 'Scrollable list with items',\n descriptionKey: 'bigconsole.widgetDemo.type.list.description',\n category: 'Data',\n },\n {\n type: 'form',\n title: 'Form (Adaptive Card)',\n titleKey: 'bigconsole.widgetDemo.type.form.title',\n description: 'Interactive form with inputs',\n descriptionKey: 'bigconsole.widgetDemo.type.form.description',\n category: 'Content',\n },\n {\n type: 'text',\n title: 'Text (Markdown)',\n titleKey: 'bigconsole.widgetDemo.type.text.title',\n description: 'Rich text with markdown support',\n descriptionKey: 'bigconsole.widgetDemo.type.text.description',\n category: 'Content',\n },\n {\n type: 'iframe',\n title: 'iFrame',\n titleKey: 'bigconsole.widgetDemo.type.iframe.title',\n description: 'Embedded external content',\n descriptionKey: 'bigconsole.widgetDemo.type.iframe.description',\n category: 'Content',\n },\n {\n type: 'calendar',\n title: 'Calendar',\n titleKey: 'bigconsole.widgetDemo.type.calendar.title',\n description: 'Event calendar view',\n descriptionKey: 'bigconsole.widgetDemo.type.calendar.description',\n category: 'Temporal',\n },\n {\n type: 'kanban',\n title: 'Kanban',\n titleKey: 'bigconsole.widgetDemo.type.kanban.title',\n description: 'Task board with columns',\n descriptionKey: 'bigconsole.widgetDemo.type.kanban.description',\n category: 'Temporal',\n },\n {\n type: 'timeline',\n title: 'Timeline (Gantt)',\n titleKey: 'bigconsole.widgetDemo.type.timeline.title',\n description: 'Project timeline with tasks',\n descriptionKey: 'bigconsole.widgetDemo.type.timeline.description',\n category: 'Temporal',\n },\n {\n type: 'custom',\n title: 'Custom',\n titleKey: 'bigconsole.widgetDemo.type.custom.title',\n description: 'User-defined widget rendering',\n descriptionKey: 'bigconsole.widgetDemo.type.custom.description',\n category: 'Custom',\n },\n];\n\n/** Order the gallery renders its groups in. */\nconst CATEGORY_ORDER: WidgetCategory[] = ['KPI', 'Visualization', 'Data', 'Content', 'Temporal', 'Custom'];\n\n/** One line per group, so a heading is never a bare word. */\nconst CATEGORY_BLURBS: Partial<Record<WidgetCategory, string>> = {\n KPI: 'Single-number widgets for a headline figure and how it is trending.',\n Visualization: 'Chart widgets for comparing series, stages and distributions.',\n Data: 'Row-and-column widgets for browsing records in detail.',\n Content: 'Widgets that carry prose, forms or an embedded page.',\n Temporal: 'Widgets organised by date, schedule or workflow stage.',\n Custom: 'Widgets whose body you define yourself.',\n};\n\n// ============================================================================\n// Component\n// ============================================================================\n\nexport const WidgetDemoPage: FC = () => {\n const { t } = useI18n();\n const navigate = useAppNavigate();\n const [filter, setFilter] = useState('');\n const [viewMode, setViewMode] = useState<'grid' | 'list'>('grid');\n\n // Generate demo widgets from all types\n const demoWidgets = useMemo(() => {\n const filtered = filter\n ? WIDGET_TYPES.filter((w) =>\n [w.type, t(w.titleKey, w.title), t(w.descriptionKey, w.description)].some((value) =>\n value.toLowerCase().includes(filter.trim().toLowerCase())\n )\n )\n : WIDGET_TYPES;\n\n return filtered.map((widgetDef, index): Widget => ({\n id: `demo-${widgetDef.type}`,\n pageId: 'demo-page',\n dashboardId: 'demo-dashboard',\n type: widgetDef.type,\n title: t(widgetDef.titleKey, widgetDef.title),\n // No data source - widgets show empty state until connected to DataSink\n config: {},\n position: {\n x: (index % 3) * 4,\n y: Math.floor(index / 3) * 4,\n width: 4,\n height: 4,\n },\n positionX: (index % 3) * 4,\n positionY: Math.floor(index / 3) * 4,\n positionWidth: 4,\n positionHeight: 4,\n refreshInterval: undefined,\n lastRefreshedAt: undefined,\n metadata: { description: t(widgetDef.descriptionKey, widgetDef.description) },\n context: {},\n translations: [],\n createdAt: new Date().toISOString(),\n updatedAt: new Date().toISOString(),\n }));\n }, [filter, t]);\n\n // Group the visible widgets so the gallery reads as labelled families rather\n // than a flat wall of same-weight cards.\n const groups = useMemo(() => {\n const byCategory = new Map<WidgetCategory, Widget[]>();\n for (const widget of demoWidgets) {\n const def = WIDGET_TYPES.find((w) => w.type === widget.type);\n if (!def) continue;\n const bucket = byCategory.get(def.category);\n if (bucket) bucket.push(widget);\n else byCategory.set(def.category, [widget]);\n }\n return CATEGORY_ORDER.filter((category) => (byCategory.get(category)?.length ?? 0) > 0).map((category) => ({\n category,\n label: WIDGET_CATEGORY_LABELS[category],\n blurb: CATEGORY_BLURBS[category],\n widgets: byCategory.get(category) ?? [],\n }));\n }, [demoWidgets]);\n\n const gridClassName =\n viewMode === 'grid' ? 'grid grid-cols-1 gap-form-gap sm:grid-cols-2 xl:grid-cols-3' : 'flex flex-col gap-form-gap';\n\n return (\n <div className=\"flex h-full min-w-0 flex-col bg-bg-canvas\">\n {/*\n Page identity + controls — a `bare` structural strip. It supplies the\n page `h1` itself, so it uses the emphasis recipe directly rather than\n `<Section title=…>`, which would render a second heading.\n */}\n <section\n aria-label=\"Widget demo header\"\n className={`${sectionSurfaceClasses('bare', 'neutral', 'none')} flex-shrink-0 border-b border-[var(--color-border-subtle)] bg-bg-surface px-4 py-3 sm:px-6 sm:py-4`}\n >\n <div className=\"flex flex-col gap-control-gap lg:flex-row lg:items-center lg:justify-between\">\n <div className=\"min-w-0\">\n <h1 className=\"text-xl font-semibold text-text-primary\">\n {t('bigconsole.widgetDemo.header.title', 'Widget Demo')}\n </h1>\n <p className=\"mt-1 text-sm text-text-secondary\">\n {t('bigconsole.widgetDemo.header.subtitle', 'All 18 widget types - connect a DataSink for real data')}\n </p>\n </div>\n\n <div className=\"flex flex-wrap items-center gap-control-gap\">\n {/* Search Filter */}\n <div className=\"relative min-w-0 flex-1 sm:flex-none\">\n <label htmlFor=\"widget-demo-filter\" className=\"sr-only\">\n Filter widget types\n </label>\n <input\n id=\"widget-demo-filter\"\n type=\"text\"\n placeholder={t('bigconsole.widgetDemo.filter.placeholder', 'Filter widgets...')}\n value={filter}\n onChange={(e) => setFilter(e.target.value)}\n className=\"h-control-md w-full min-w-0 rounded-input border border-[var(--color-border-subtle)] bg-bg-sunken py-2 pl-[3.25rem] pr-3 text-sm text-text-primary placeholder:text-text-muted focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface sm:w-64\"\n />\n <svg\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute left-3 top-1/2 h-icon-sm w-icon-sm -translate-y-1/2 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 </div>\n\n {/* View Toggle */}\n <div\n className=\"flex shrink-0 items-center gap-1 rounded-button bg-bg-sunken p-1\"\n role=\"group\"\n aria-label=\"Gallery layout\"\n >\n <button\n type=\"button\"\n onClick={() => setViewMode('grid')}\n aria-pressed={viewMode === 'grid'}\n className={`min-h-control-md rounded-button px-3 text-sm font-medium motion-safe:transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${\n viewMode === 'grid'\n ? 'bg-bg-surface text-text-primary shadow-[var(--shadow-elevation-1)]'\n : 'text-text-secondary hover:text-text-primary'\n }`}\n >\n {t('bigconsole.widgetDemo.viewToggle.grid', 'Grid')}\n </button>\n <button\n type=\"button\"\n onClick={() => setViewMode('list')}\n aria-pressed={viewMode === 'list'}\n className={`min-h-control-md rounded-button px-3 text-sm font-medium motion-safe:transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${\n viewMode === 'list'\n ? 'bg-bg-surface text-text-primary shadow-[var(--shadow-elevation-1)]'\n : 'text-text-secondary hover:text-text-primary'\n }`}\n >\n {t('bigconsole.widgetDemo.viewToggle.list', 'List')}\n </button>\n </div>\n <Button variant=\"secondary\" onClick={() => navigate('/dashboards')}>\n {t('bigconsole.widgetDemo.openDashboards', 'Open dashboards')}\n </Button>\n </div>\n </div>\n </section>\n\n {/* Scroll region */}\n <div className=\"min-w-0 flex-1 overflow-y-auto overflow-x-hidden p-4 sm:p-6\">\n <SectionStack>\n <section\n aria-label=\"What this gallery is for\"\n className={sectionSurfaceClasses('muted', 'neutral', 'compact')}\n >\n <PagePurpose>\n {t(\n 'bigconsole.widgetDemo.pagePurpose',\n 'This gallery previews every widget type BigConsole can render on a dashboard — metrics, charts, tables, maps, kanban boards and more. Use it to see what each widget looks like and pick the right one before wiring it to a real DataSink in the dashboard builder.'\n )}\n </PagePurpose>\n </section>\n\n {groups.length > 0 && (\n <Section\n emphasis=\"primary\"\n headingLevel={2}\n title=\"Widget gallery\"\n description=\"Every widget renders its unconnected state here — the card chrome, header and empty copy are exactly what a dashboard will show before a DataSink is bound.\"\n meta={\n <span className=\"rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary\">\n {demoWidgets.length} of {WIDGET_TYPES.length}\n </span>\n }\n >\n <div className=\"flex flex-col gap-section-gap\">\n {groups.map((group) => (\n <Section\n key={group.category}\n emphasis=\"bare\"\n padding=\"none\"\n headingLevel={3}\n title={group.label}\n description={group.blurb}\n meta={\n <span className=\"text-xs font-medium text-text-muted\">\n {group.widgets.length} {group.widgets.length === 1 ? 'type' : 'types'}\n </span>\n }\n >\n <div className={gridClassName}>\n {group.widgets.map((widget) => {\n const widgetDef = WIDGET_TYPES.find((w) => w.type === widget.type);\n return (\n <figure\n key={widget.id}\n className={`m-0 flex min-w-0 flex-col ${viewMode === 'grid' ? 'h-80' : 'h-64'}`}\n >\n <figcaption className=\"mb-2 flex flex-shrink-0 flex-wrap items-baseline gap-x-2 gap-y-0.5 text-xs text-text-secondary\">\n <span>\n {t('bigconsole.widgetDemo.widgetCard.typeLabel', 'Type:')}{' '}\n <code className=\"font-mono text-text-link\">{widget.type}</code>\n </span>\n {widgetDef && (\n <span className=\"text-text-muted\">\n {t(widgetDef.descriptionKey, widgetDef.description)}\n </span>\n )}\n </figcaption>\n <div className=\"min-h-0 min-w-0 flex-1\">\n <WidgetWrapper previewOnly widget={widget} />\n </div>\n </figure>\n );\n })}\n </div>\n </Section>\n ))}\n </div>\n </Section>\n )}\n\n {/* Empty State */}\n {demoWidgets.length === 0 && (\n <Section\n emphasis=\"standard\"\n tone=\"info\"\n title={t('bigconsole.widgetDemo.emptyState.title', 'No widgets match your filter')}\n headingLevel={2}\n data-testid=\"widget-demo-empty\"\n >\n {/*\n The section heading is the empty state's title, so the inner\n state carries the next step instead of repeating it verbatim.\n */}\n <IllustratedEmptyState\n illustration=\"empty-search\"\n title={t(\n 'bigconsole.widgetDemo.emptyState.description',\n 'Try a different search term to preview a widget type.'\n )}\n description=\"The filter matches a widget's name and its one-line description.\"\n />\n </Section>\n )}\n </SectionStack>\n </div>\n\n {/* Footer stats — supporting detail, deliberately lighter than the header strip */}\n <section\n aria-label=\"Gallery summary\"\n className={`${sectionSurfaceClasses('bare', 'neutral', 'none')} flex-shrink-0 border-t border-[var(--color-border-subtle)] bg-bg-sunken px-4 py-2 sm:px-6`}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-x-4 gap-y-1 text-xs text-text-secondary\">\n <span>\n {t('bigconsole.widgetDemo.footer.showing', 'Showing {{shown}} of {{total}} widget types', {\n shown: demoWidgets.length,\n total: WIDGET_TYPES.length,\n })}\n </span>\n <span className=\"text-text-muted\">\n {t('bigconsole.widgetDemo.footer.hint', 'Widgets show empty state until connected to DataSink + Parser')}\n </span>\n </div>\n </section>\n </div>\n );\n};\n\nexport default WidgetDemoPage;\n"],"mappings":";;;;;;;;;;;;;AA4DA,IAAM,IAAgC;CACpC;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACD;EACE,MAAM;EACN,OAAO;EACP,UAAU;EACV,aAAa;EACb,gBAAgB;EAChB,UAAU;EACX;CACF,EAGK,IAAmC;CAAC;CAAO;CAAiB;CAAQ;CAAW;CAAY;CAAS,EAGpG,IAA2D;CAC/D,KAAK;CACL,eAAe;CACf,MAAM;CACN,SAAS;CACT,UAAU;CACV,QAAQ;CACT,EAMY,UAA2B;CACtC,IAAM,EAAE,SAAM,GAAS,EACjB,IAAW,GAAgB,EAC3B,CAAC,GAAQ,KAAa,EAAS,GAAG,EAClC,CAAC,GAAU,KAAe,EAA0B,OAAO,EAG3D,IAAc,SACD,IACb,EAAa,QAAQ,MACnB;EAAC,EAAE;EAAM,EAAE,EAAE,UAAU,EAAE,MAAM;EAAE,EAAE,EAAE,gBAAgB,EAAE,YAAY;EAAC,CAAC,MAAM,MACzE,EAAM,aAAa,CAAC,SAAS,EAAO,MAAM,CAAC,aAAa,CAAC,CAC1D,CACF,GACD,GAEY,KAAK,GAAW,OAAmB;EACjD,IAAI,QAAQ,EAAU;EACtB,QAAQ;EACR,aAAa;EACb,MAAM,EAAU;EAChB,OAAO,EAAE,EAAU,UAAU,EAAU,MAAM;EAE7C,QAAQ,EAAE;EACV,UAAU;GACR,GAAI,IAAQ,IAAK;GACjB,GAAG,KAAK,MAAM,IAAQ,EAAE,GAAG;GAC3B,OAAO;GACP,QAAQ;GACT;EACD,WAAY,IAAQ,IAAK;EACzB,WAAW,KAAK,MAAM,IAAQ,EAAE,GAAG;EACnC,eAAe;EACf,gBAAgB;EAChB,iBAAiB,KAAA;EACjB,iBAAiB,KAAA;EACjB,UAAU,EAAE,aAAa,EAAE,EAAU,gBAAgB,EAAU,YAAY,EAAE;EAC7E,SAAS,EAAE;EACX,cAAc,EAAE;EAChB,4BAAW,IAAI,MAAM,EAAC,aAAa;EACnC,4BAAW,IAAI,MAAM,EAAC,aAAa;EACpC,EAAE,EACF,CAAC,GAAQ,EAAE,CAAC,EAIT,IAAS,QAAc;EAC3B,IAAM,oBAAa,IAAI,KAA+B;AACtD,OAAK,IAAM,KAAU,GAAa;GAChC,IAAM,IAAM,EAAa,MAAM,MAAM,EAAE,SAAS,EAAO,KAAK;AAC5D,OAAI,CAAC,EAAK;GACV,IAAM,IAAS,EAAW,IAAI,EAAI,SAAS;AAC3C,GAAI,IAAQ,EAAO,KAAK,EAAO,GAC1B,EAAW,IAAI,EAAI,UAAU,CAAC,EAAO,CAAC;;AAE7C,SAAO,EAAe,QAAQ,OAAc,EAAW,IAAI,EAAS,EAAE,UAAU,KAAK,EAAE,CAAC,KAAK,OAAc;GACzG;GACA,OAAO,EAAuB;GAC9B,OAAO,EAAgB;GACvB,SAAS,EAAW,IAAI,EAAS,IAAI,EAAE;GACxC,EAAE;IACF,CAAC,EAAY,CAAC,EAEX,IACJ,MAAa,SAAS,gEAAgE;AAExF,QACE,kBAAC,OAAD;EAAK,WAAU;YAAf;GAME,kBAAC,WAAD;IACE,cAAW;IACX,WAAW,GAAG,EAAsB,QAAQ,WAAW,OAAO,CAAC;cAE/D,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,MAAD;OAAI,WAAU;iBACX,EAAE,sCAAsC,cAAc;OACpD,CAAA,EACL,kBAAC,KAAD;OAAG,WAAU;iBACV,EAAE,yCAAyC,yDAAyD;OACnG,CAAA,CACA;SAEN,kBAAC,OAAD;MAAK,WAAU;gBAAf;OAEE,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,SAAD;UAAO,SAAQ;UAAqB,WAAU;oBAAU;UAEhD,CAAA;SACR,kBAAC,SAAD;UACE,IAAG;UACH,MAAK;UACL,aAAa,EAAE,4CAA4C,oBAAoB;UAC/E,OAAO;UACP,WAAW,MAAM,EAAU,EAAE,OAAO,MAAM;UAC1C,WAAU;UACV,CAAA;SACF,kBAAC,OAAD;UACE,eAAY;UACZ,WAAU;UACV,MAAK;UACL,QAAO;UACP,SAAQ;oBAER,kBAAC,QAAD;WACE,eAAc;WACd,gBAAe;WACf,aAAa;WACb,GAAE;WACF,CAAA;UACE,CAAA;SACF;;OAGN,kBAAC,OAAD;QACE,WAAU;QACV,MAAK;QACL,cAAW;kBAHb,CAKE,kBAAC,UAAD;SACE,MAAK;SACL,eAAe,EAAY,OAAO;SAClC,gBAAc,MAAa;SAC3B,WAAW,mOACT,MAAa,SACT,uEACA;mBAGL,EAAE,yCAAyC,OAAO;SAC5C,CAAA,EACT,kBAAC,UAAD;SACE,MAAK;SACL,eAAe,EAAY,OAAO;SAClC,gBAAc,MAAa;SAC3B,WAAW,mOACT,MAAa,SACT,uEACA;mBAGL,EAAE,yCAAyC,OAAO;SAC5C,CAAA,CACL;;OACN,kBAAC,GAAD;QAAQ,SAAQ;QAAY,eAAe,EAAS,cAAc;kBAC/D,EAAE,wCAAwC,kBAAkB;QACtD,CAAA;OACL;QACF;;IACE,CAAA;GAGV,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD,EAAA,UAAA;KACE,kBAAC,WAAD;MACE,cAAW;MACX,WAAW,EAAsB,SAAS,WAAW,UAAU;gBAE/D,kBAAC,GAAD,EAAA,UACG,EACC,qCACA,uQACD,EACW,CAAA;MACN,CAAA;KAET,EAAO,SAAS,KACf,kBAAC,GAAD;MACE,UAAS;MACT,cAAc;MACd,OAAM;MACN,aAAY;MACZ,MACE,kBAAC,QAAD;OAAM,WAAU;iBAAhB;QACG,EAAY;QAAO;QAAK,EAAa;QACjC;;gBAGT,kBAAC,OAAD;OAAK,WAAU;iBACZ,EAAO,KAAK,MACX,kBAAC,GAAD;QAEE,UAAS;QACT,SAAQ;QACR,cAAc;QACd,OAAO,EAAM;QACb,aAAa,EAAM;QACnB,MACE,kBAAC,QAAD;SAAM,WAAU;mBAAhB;UACG,EAAM,QAAQ;UAAO;UAAE,EAAM,QAAQ,WAAW,IAAI,SAAS;UACzD;;kBAGT,kBAAC,OAAD;SAAK,WAAW;mBACb,EAAM,QAAQ,KAAK,MAAW;UAC7B,IAAM,IAAY,EAAa,MAAM,MAAM,EAAE,SAAS,EAAO,KAAK;AAClE,iBACE,kBAAC,UAAD;WAEE,WAAW,6BAA6B,MAAa,SAAS,SAAS;qBAFzE,CAIE,kBAAC,cAAD;YAAY,WAAU;sBAAtB,CACE,kBAAC,QAAD,EAAA,UAAA;aACG,EAAE,8CAA8C,QAAQ;aAAE;aAC3D,kBAAC,QAAD;cAAM,WAAU;wBAA4B,EAAO;cAAY,CAAA;aAC1D,EAAA,CAAA,EACN,KACC,kBAAC,QAAD;aAAM,WAAU;uBACb,EAAE,EAAU,gBAAgB,EAAU,YAAY;aAC9C,CAAA,CAEE;eACb,kBAAC,OAAD;YAAK,WAAU;sBACb,kBAAC,GAAD;aAAe,aAAA;aAAoB;aAAU,CAAA;YACzC,CAAA,CACC;aAjBF,EAAO,GAiBL;WAEX;SACE,CAAA;QACE,EAtCH,EAAM,SAsCH,CACV;OACE,CAAA;MACE,CAAA;KAIX,EAAY,WAAW,KACtB,kBAAC,GAAD;MACE,UAAS;MACT,MAAK;MACL,OAAO,EAAE,0CAA0C,+BAA+B;MAClF,cAAc;MACd,eAAY;gBAMZ,kBAAC,GAAD;OACE,cAAa;OACb,OAAO,EACL,gDACA,wDACD;OACD,aAAY;OACZ,CAAA;MACM,CAAA;KAEC,EAAA,CAAA;IACX,CAAA;GAGN,kBAAC,WAAD;IACE,cAAW;IACX,WAAW,GAAG,EAAsB,QAAQ,WAAW,OAAO,CAAC;cAE/D,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,QAAD,EAAA,UACG,EAAE,wCAAwC,+CAA+C;MACxF,OAAO,EAAY;MACnB,OAAO,EAAa;MACrB,CAAC,EACG,CAAA,EACP,kBAAC,QAAD;MAAM,WAAU;gBACb,EAAE,qCAAqC,gEAAgE;MACnG,CAAA,CACH;;IACE,CAAA;GACN"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowViewPage.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/pages/WorkflowViewPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA6GH,eAAO,MAAM,gBAAgB,8CAwuB3B,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowViewPage.js","names":[],"sources":["../../../src/bigconsole/pages/WorkflowViewPage.tsx"],"sourcesContent":["/**\n * Workflow View Page\n *\n * Page for viewing FluidGrids Workflow details, linked DataSinks,\n * read-only workflow design preview, and real execution with polling.\n *\n * Section hierarchy (BOFF-5634):\n * - header (back link + identity + actions) ... `bare`\n * - execution result ......................... `standard` + success/danger tone\n * - \"Workflow design\" (the node canvas) ...... `primary` — the thing the route is about\n * - \"Execution stats\" ........................ `standard`, promoted to `primary` when the\n * workflow has no design preview to show\n * - \"Description\" / \"Webhook trigger\" /\n * \"Record history\" ......................... `muted` — supporting detail\n * - \"Linked data sinks\" ...................... `standard`\n * Exactly one `primary` renders in every branch.\n */\n\nimport { memo, useState, useEffect, useCallback } from 'react';\nimport { useParams } from 'react-router';\nimport { Button, IllustratedEmptyState, PagePurpose, NextSteps, Spinner } from '@burdenoff/fe-libs/ui';\nimport type { NextStep } from '@burdenoff/fe-libs/ui';\nimport { Section, SectionStack, SECTION_FOCUS_RING, sectionSurfaceClasses } from '../components/common';\nimport { useAppNavigate } from '../contexts';\nimport { isNative, nativeCopyText, nativeNotify, nativeToast } from '../../utils/nativeBridge';\nimport { formatDistanceToNow } from 'date-fns';\nimport { useWorkflowOperations } from '../hooks/useWorkflowOperations';\nimport { WorkflowStatusBadge } from '../components/workflow/WorkflowStatusBadge';\nimport { WorkflowDeleteDialog } from '../components/workflow/WorkflowDeleteDialog';\nimport { WorkflowSinkLinkForm } from '../components/workflow/WorkflowSinkLinkForm';\nimport { WorkflowDesignPreview } from '../components/workflow/WorkflowDesignPreview';\nimport type { FluidGridsWorkflow } from '../types';\n\n// FluidGrids FE SDK — read-only embedded builder preview\nimport { useLazyWorkflowDefinition } from '@burdenoff/fluidgrids-fe-sdk';\nimport { BOOTSTRAP_RETRY_DELAY_MS } from '../constants';\n\n// RBAC\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { AccessDenied, PermissionButton } from '@burdenoff/fe-libs/shared/components';\nimport { BIGCONSOLE_PERMISSIONS } from '../../constants/permissions';\n\n// ============================================================================\n// ICONS\n// ============================================================================\n\nconst ArrowLeftIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M15 19l-7-7 7-7\" />\n </svg>\n);\n\nconst EditIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\"\n />\n </svg>\n);\n\nconst TrashIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"\n />\n </svg>\n);\n\nconst PlayIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z\"\n />\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n);\n\nconst CopyIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"\n />\n </svg>\n);\n\nconst CheckIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M5 13l4 4L19 7\" />\n </svg>\n);\n\nconst DatabaseIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4\"\n />\n </svg>\n);\n\nconst ChevronDownIcon = ({ className }: { className?: string }) => (\n <svg className={className} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M19 9l-7 7-7-7\" />\n </svg>\n);\n\n// ============================================================================\n// COMPONENT\n// ============================================================================\n\nexport const WorkflowViewPage = memo(function WorkflowViewPage() {\n const navigate = useAppNavigate();\n const { t } = useI18n();\n const { workflowId } = useParams<{ workflowId: string }>();\n\n // RBAC\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const canRead = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_READ);\n const canUpdate = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_UPDATE);\n const canReadSinks = hasPermission(BIGCONSOLE_PERMISSIONS.DATASINK_READ);\n const canDelete = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_DELETE);\n const canExecute = hasPermission(BIGCONSOLE_PERMISSIONS.WORKFLOW_EXECUTE);\n\n // Local state\n const [workflow, setWorkflow] = useState<FluidGridsWorkflow | null>(null);\n const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);\n const [, setIsDeleting] = useState(false);\n const [isExecuting, setIsExecuting] = useState(false);\n const [webhookCopied, setWebhookCopied] = useState(false);\n const [showLinkForm, setShowLinkForm] = useState(false);\n const [linkFeedback, setLinkFeedback] = useState<string | null>(null);\n const [unlinkingId, setUnlinkingId] = useState<string | null>(null);\n const { unlinkDataSink } = useWorkflowOperations({ skipFetch: true });\n const [showDesignPreview, setShowDesignPreview] = useState(false);\n const {\n getWorkflow: fetchDefinition,\n workflow: definition,\n loading: definitionLoading,\n error: definitionError,\n } = useLazyWorkflowDefinition();\n // Track whether initial fetch has completed — prevents \"not found\" flash\n // before data has even been requested (loading starts as false with skipFetch: true)\n const [isReady, setIsReady] = useState(false);\n const [executionResult, setExecutionResult] = useState<{\n success: boolean;\n output: unknown;\n error: string | null;\n executionTimeMs: number;\n runId?: string;\n } | null>(null);\n\n // Operations\n const { loading, error, fetchWorkflow, deleteWorkflow, executeWorkflow, pollWorkflowExecution } =\n useWorkflowOperations({\n skipFetch: true,\n });\n\n // Load workflow on mount.\n // On a full page reload the workspace token may not be issued yet when this\n // effect first runs, causing the gateway to lack workspace context and\n // the resolver to return null. We retry once after a short delay to give\n // the auth bootstrap time to complete.\n useEffect(() => {\n if (!workflowId) {\n setIsReady(true);\n return;\n }\n\n let cancelled = false;\n\n const load = async (attempt: number) => {\n try {\n const result = await fetchWorkflow(workflowId);\n if (cancelled) return;\n\n if (result) {\n setWorkflow(result);\n setIsReady(true);\n } else if (attempt === 0) {\n // First attempt failed — likely workspace token race on full-page load.\n // Retry once after a short delay.\n setTimeout(() => {\n if (!cancelled) load(1);\n }, BOOTSTRAP_RETRY_DELAY_MS);\n } else {\n // Second attempt also failed — genuinely not found\n setIsReady(true);\n }\n } catch {\n // Network error, GraphQL error, etc. — surface the \"not found\" UI\n // rather than spinning forever with no escape hatch.\n if (!cancelled) setIsReady(true);\n }\n };\n\n load(0);\n return () => {\n cancelled = true;\n };\n }, [workflowId, fetchWorkflow]);\n\n // Handlers\n const handleBack = useCallback(() => {\n navigate(`/workflows/feeds`);\n }, [navigate]);\n\n const handleEdit = useCallback(() => {\n if (workflow?.key)\n navigate(\n `/workflows/workflow/${encodeURIComponent(workflow.key)}/${encodeURIComponent(definition?.version ?? 'v1')}`\n );\n }, [navigate, workflow, definition]);\n\n const handleDelete = useCallback(async () => {\n if (!workflowId) return;\n setIsDeleting(true);\n try {\n const success = await deleteWorkflow(workflowId);\n if (success) {\n if (isNative()) void nativeNotify('success');\n navigate(`/workflows/feeds`);\n } else if (isNative()) {\n void nativeNotify('error');\n }\n } catch {\n if (isNative()) void nativeNotify('error');\n } finally {\n setIsDeleting(false);\n setShowDeleteConfirm(false);\n }\n }, [workflowId, deleteWorkflow, navigate]);\n\n const handleExecute = useCallback(async () => {\n if (!workflowId) return;\n setIsExecuting(true);\n setExecutionResult(null);\n\n const startTime = Date.now();\n\n try {\n const result = await executeWorkflow(workflowId);\n\n if (result) {\n const executionTimeMs = Date.now() - startTime;\n\n // If workflow has external FluidGrids ID, the execution is async\n if (result.externalWorkflowId) {\n setExecutionResult({\n success: true,\n output: {\n externalWorkflowId: result.externalWorkflowId,\n executionCount: result.executionCount,\n status: t('bigconsole.workflows.view.executionTriggeredPolling', 'Triggered — polling for completion...'),\n },\n error: null,\n executionTimeMs,\n });\n\n // Poll for completion in the background\n pollWorkflowExecution(workflowId, {\n intervalMs: 3000,\n timeoutMs: 120000,\n onProgress: (updated) => {\n setWorkflow(updated);\n },\n }).then((final) => {\n if (final) {\n setWorkflow(final);\n setExecutionResult((prev) =>\n prev\n ? {\n ...prev,\n output: {\n ...((prev.output as Record<string, unknown>) || {}),\n status:\n final.status === 'error'\n ? t('bigconsole.workflows.view.executionStatusFailed', 'Failed')\n : t('bigconsole.workflows.view.executionStatusCompleted', 'Completed'),\n executionCount: final.executionCount,\n lastExecutedAt: final.lastExecutedAt,\n },\n executionTimeMs: Date.now() - startTime,\n }\n : prev\n );\n }\n });\n } else {\n // Local execution (no external FluidGrids workflow)\n setExecutionResult({\n success: true,\n output: {\n executionCount: result.executionCount,\n lastExecutedAt: result.lastExecutedAt,\n status: t('bigconsole.workflows.view.executionStatusCompleted', 'Completed'),\n },\n error: null,\n executionTimeMs,\n });\n }\n\n // Refresh workflow\n const updated = await fetchWorkflow(workflowId);\n if (updated) {\n setWorkflow(updated);\n }\n }\n } catch (err) {\n setExecutionResult({\n success: false,\n output: null,\n error:\n err instanceof Error ? err.message : t('bigconsole.workflows.errors.executionFailed', 'Execution failed'),\n executionTimeMs: Date.now() - startTime,\n });\n } finally {\n setIsExecuting(false);\n }\n }, [workflowId, executeWorkflow, fetchWorkflow, pollWorkflowExecution, t]);\n\n const handleCopyWebhook = useCallback(async () => {\n if (!workflow?.webhookUrl) return;\n try {\n await nativeCopyText(workflow.webhookUrl);\n setWebhookCopied(true);\n if (isNative()) void nativeToast(t('bigconsole.workflows.view.webhookCopiedToast', 'Webhook copied'));\n setTimeout(() => setWebhookCopied(false), 2000);\n } catch {\n // Clipboard not available\n }\n }, [workflow?.webhookUrl, t]);\n\n const handleViewDataSink = useCallback(\n (dataSinkId: string) => {\n navigate(`/datasinks/${dataSinkId}`);\n },\n [navigate]\n );\n\n // Back-to-list control — identical on the not-found branch and the loaded page,\n // so \"where am I\" reads the same however the route resolves.\n const backLink = (\n <button\n type=\"button\"\n onClick={handleBack}\n className={`inline-flex min-h-[var(--size-controlHeight-md)] items-center gap-1 rounded-button text-sm text-text-secondary motion-safe:transition-colors hover:text-text-primary ${SECTION_FOCUS_RING}`}\n >\n <ArrowLeftIcon className=\"w-4 h-4\" />\n {t('bigconsole.workflows.view.backToWorkflows', 'Back to Workflows')}\n </button>\n );\n\n // Loading state — show spinner until initial fetch completes OR during a\n // refetch, and while permissions are still loading (avoids a read-gate flash).\n if (!isReady || (loading && !workflow) || permissionsLoading) {\n return (\n <div className=\"mx-auto flex min-h-[400px] max-w-5xl items-center justify-center p-4 sm:p-[var(--space-pagePadding)]\">\n <Spinner size=\"lg\" />\n </div>\n );\n }\n\n // Read gate — no permission to view this workflow\n if (!canRead) {\n return (\n <AccessDenied\n title={t('bigconsole.workflows.errors.accessDeniedTitle', 'Access Denied')}\n description={t(\n 'bigconsole.workflows.errors.accessDeniedViewDescription',\n \"You don't have permission to view this workflow.\"\n )}\n />\n );\n }\n\n // Error or not found state — only shown AFTER initial fetch completed\n if (error || !workflow) {\n return (\n <div className=\"mx-auto max-w-5xl p-4 sm:p-[var(--space-pagePadding)]\">\n <SectionStack>\n <div>{backLink}</div>\n {/* Same surface the list page gives its empty states, so \"nothing to\n show\" looks the same wherever you hit it. */}\n <section\n aria-label=\"Workflow not found\"\n data-section-emphasis=\"standard\"\n data-testid=\"workflow-not-found\"\n className={sectionSurfaceClasses('standard')}\n >\n <IllustratedEmptyState\n illustration=\"empty-data\"\n title={t('bigconsole.workflows.view.notFoundTitle', 'Workflow not found')}\n description={\n error?.message ||\n t('bigconsole.workflows.view.notFoundDescription', 'The workflow you are looking for does not exist.')\n }\n />\n </section>\n </SectionStack>\n </div>\n );\n }\n\n const linkedDataSinkCount = workflow.dataSinkLinks?.length || 0;\n // The read-only canvas is the point of this route when it exists; when it does\n // not, the execution numbers become the page's single `primary` block.\n const hasDesignPreview = Boolean(workflow.externalWorkflowId);\n const previewData = definition?.id === workflow.externalWorkflowId ? definition.definitionJson?.data : undefined;\n\n // Next-step guidance — omit steps that trigger a gated action the caller\n // cannot perform (execute → WORKFLOW_EXECUTE, edit → WORKFLOW_UPDATE).\n const nextSteps: NextStep[] = [\n ...(canExecute\n ? [\n {\n id: 'execute',\n label: t('bigconsole.workflows.view.nextStepExecuteLabel', 'Run the workflow'),\n description: t(\n 'bigconsole.workflows.view.nextStepExecuteDescription',\n 'Trigger an execution to pull fresh data now.'\n ),\n onClick: handleExecute,\n },\n ]\n : []),\n {\n id: 'design',\n label: t('bigconsole.workflows.view.nextStepDesignLabel', 'Inspect the design'),\n description: t(\n 'bigconsole.workflows.view.nextStepDesignDescription',\n 'Expand the read-only preview to see each step.'\n ),\n onClick: () => setShowDesignPreview(true),\n },\n ...(canUpdate\n ? [\n {\n id: 'edit',\n label: t('bigconsole.workflows.view.nextStepEditLabel', 'Edit in the builder'),\n description: t(\n 'bigconsole.workflows.view.nextStepEditDescription',\n 'Open the FluidGrids visual builder to change the flow.'\n ),\n onClick: handleEdit,\n },\n ]\n : []),\n {\n id: 'sinks',\n label: t('bigconsole.workflows.view.nextStepSinksLabel', 'Check the linked data sinks'),\n description: t(\n 'bigconsole.workflows.view.nextStepSinksDescription',\n 'See where this workflow writes its output.'\n ),\n onClick: () => navigate('/datasinks'),\n },\n ];\n\n return (\n <div className=\"mx-auto max-w-5xl p-4 sm:p-[var(--space-pagePadding)]\">\n <SectionStack>\n {/* ---------------------------------------------------------------- *\n * Page header — `bare` emphasis: back link, identity and the action\n * cluster. Structural only, so the blocks below own the visual weight.\n * ---------------------------------------------------------------- */}\n <header data-section-emphasis=\"bare\" className=\"min-w-0\">\n <div className=\"mb-form-gap\">{backLink}</div>\n\n <div className=\"flex flex-col gap-form-gap md:flex-row md:items-start md:justify-between\">\n <div className=\"min-w-0\">\n <div className=\"flex flex-wrap items-center gap-icon-gap\">\n <h1 className=\"break-words text-2xl font-bold text-text-primary\">{workflow.name}</h1>\n <WorkflowStatusBadge status={workflow.status} />\n </div>\n <p className=\"mt-1 break-all font-mono text-sm text-text-secondary\">{workflow.key}</p>\n {workflow.externalWorkflowId && (\n <p className=\"mt-1 text-xs text-text-muted\">\n {t('bigconsole.workflows.view.fluidGridsIdLabel', 'FluidGrids ID:')}{' '}\n <span className=\"break-all font-mono\">{workflow.externalWorkflowId}</span>\n </p>\n )}\n </div>\n\n <div className=\"flex flex-wrap items-center gap-control-gap\">\n <PermissionButton permission={BIGCONSOLE_PERMISSIONS.WORKFLOW_EXECUTE} deniedBehavior=\"disable\">\n <Button size=\"lg\" onClick={handleExecute} disabled={isExecuting}>\n <PlayIcon className=\"w-4 h-4\" />\n {isExecuting\n ? t('bigconsole.workflows.actions.executing', 'Executing...')\n : t('bigconsole.workflows.actions.execute', 'Execute')}\n </Button>\n </PermissionButton>\n <PermissionButton permission={BIGCONSOLE_PERMISSIONS.WORKFLOW_UPDATE} deniedBehavior=\"disable\">\n <Button size=\"lg\" variant=\"outline\" onClick={handleEdit}>\n <EditIcon className=\"w-4 h-4\" />\n {t('bigconsole.workflows.actions.edit', 'Edit')}\n </Button>\n </PermissionButton>\n <PermissionButton permission={BIGCONSOLE_PERMISSIONS.WORKFLOW_DELETE} deniedBehavior=\"hide\">\n <Button\n size=\"lg\"\n variant=\"ghost\"\n onClick={() => setShowDeleteConfirm(true)}\n className=\"text-[var(--color-status-error-text)] hover:bg-status-error-bg/10 hover:text-[var(--color-status-error-text)]\"\n >\n <TrashIcon className=\"w-4 h-4\" />\n {t('bigconsole.workflows.actions.delete', 'Delete')}\n </Button>\n </PermissionButton>\n </div>\n </div>\n </header>\n\n <PagePurpose>\n {t(\n 'bigconsole.workflows.view.purpose',\n 'A workflow is the visual ETL job that feeds this BigConsole — it fetches, transforms, and delivers data into linked data sinks. From here you can run it on demand, inspect its design and execution history, copy its webhook trigger, and edit it in the visual builder.'\n )}\n </PagePurpose>\n\n <NextSteps storageKey=\"bigconsole-workflow-view\" steps={nextSteps} />\n\n {/* Execution result — a status section, not a hand-rolled tinted div. */}\n {executionResult && (\n <Section\n headingLevel={2}\n tone={executionResult.success ? 'success' : 'danger'}\n title={\n executionResult.success\n ? t('bigconsole.workflows.view.executionResultTriggered', 'Execution Triggered')\n : t('bigconsole.workflows.view.executionResultFailed', 'Execution Failed')\n }\n description={\n executionResult.success\n ? 'The run was accepted. Results refresh below as the run progresses.'\n : 'The run could not be started. The detail below comes straight from the workflow service.'\n }\n meta={\n <span className=\"rounded-pill bg-bg-sunken px-2 py-0.5 text-xs font-medium text-text-secondary\">\n {executionResult.executionTimeMs}ms\n </span>\n }\n data-testid=\"workflow-execution-result\"\n >\n {executionResult.error ? (\n <p className=\"break-words text-sm text-[var(--color-status-error-text)]\">{executionResult.error}</p>\n ) : (\n <pre className=\"max-h-[200px] min-w-0 overflow-auto rounded-card bg-bg-sunken p-2 font-mono text-xs text-text-secondary\">\n {JSON.stringify(executionResult.output, null, 2)}\n </pre>\n )}\n {executionResult.runId && (\n <p className=\"mt-2 text-xs text-text-muted\">\n {t('bigconsole.workflows.view.runIdLabel', 'Run ID:')}{' '}\n <span className=\"break-all font-mono\">{executionResult.runId}</span>\n </p>\n )}\n </Section>\n )}\n\n {/* Overview row: supporting description beside the run numbers. */}\n <div className=\"grid grid-cols-1 gap-section-gap md:grid-cols-2\">\n <Section\n headingLevel={2}\n emphasis=\"muted\"\n title={t('bigconsole.workflows.view.descriptionLabel', 'Description')}\n description=\"What this workflow is for, as entered by its author.\"\n >\n <p className=\"break-words text-sm text-text-primary\">\n {workflow.description || t('bigconsole.workflows.view.noDescription', 'No description')}\n </p>\n </Section>\n\n <Section\n headingLevel={2}\n emphasis={hasDesignPreview ? 'standard' : 'primary'}\n title={t('bigconsole.workflows.view.executionStatsLabel', 'Execution Stats')}\n description=\"How often this workflow has run, and when it last did.\"\n data-testid=\"workflow-execution-stats\"\n >\n <div className=\"grid grid-cols-1 gap-form-gap sm:grid-cols-2\">\n <div className=\"min-w-0\">\n <p className=\"text-2xl font-bold text-text-primary\">{workflow.executionCount}</p>\n <p className=\"text-xs text-text-secondary\">\n {t('bigconsole.workflows.view.totalExecutionsLabel', 'Total Executions')}\n </p>\n </div>\n <div className=\"min-w-0\">\n <p className=\"text-sm font-medium text-text-primary\">\n {workflow.lastExecutedAt\n ? formatDistanceToNow(new Date(workflow.lastExecutedAt), { addSuffix: true })\n : t('bigconsole.workflows.view.never', 'Never')}\n </p>\n <p className=\"text-xs text-text-secondary\">\n {t('bigconsole.workflows.view.lastExecutedLabel', 'Last Executed')}\n </p>\n </div>\n </div>\n </Section>\n </div>\n\n {/* Workflow design — the node canvas, the one `primary` block here. */}\n {workflow.externalWorkflowId && (\n <Section\n headingLevel={2}\n emphasis=\"primary\"\n title={t('bigconsole.workflows.view.designPreviewTitle', 'Workflow Design Preview')}\n description=\"The steps this workflow runs, read-only. Open the builder to change them.\"\n actions={\n <Button\n variant=\"outline\"\n size=\"sm\"\n aria-expanded={showDesignPreview}\n aria-controls=\"workflow-design-canvas\"\n onClick={() => {\n const next = !showDesignPreview;\n setShowDesignPreview(next);\n if (next && workflow.externalWorkflowId)\n void fetchDefinition(workflow.key, workflow.externalWorkflowId);\n }}\n >\n {showDesignPreview ? 'Hide design' : 'Show design'}\n <ChevronDownIcon\n className={`w-4 h-4 motion-safe:transition-transform ${showDesignPreview ? 'rotate-180' : ''}`}\n />\n </Button>\n }\n data-testid=\"workflow-design-preview\"\n >\n {showDesignPreview ? (\n <div\n id=\"workflow-design-canvas\"\n className=\"h-[320px] min-w-0 overflow-hidden rounded-card border border-[var(--color-border-subtle)] sm:h-[420px] lg:h-[450px]\"\n >\n {definitionLoading ? (\n <div role=\"status\" className=\"flex h-full items-center justify-center\">\n <Spinner />\n </div>\n ) : definitionError ? (\n <p role=\"alert\" className=\"p-4 text-sm text-status-error-text\">\n {t(\n 'bigconsole.workflows.view.previewError',\n 'Could not load the workflow design. Close and reopen the preview to retry.'\n )}\n </p>\n ) : previewData ? (\n <WorkflowDesignPreview key={definition?.id} workflow={previewData} />\n ) : (\n <p className=\"p-4 text-sm text-text-secondary\">\n {t('bigconsole.workflows.view.previewUnavailable', 'No saved workflow design is available.')}\n </p>\n )}\n </div>\n ) : (\n <p id=\"workflow-design-canvas\" className=\"text-sm text-text-secondary\">\n The canvas is collapsed. Show the design to see every step, its order and its connections.\n </p>\n )}\n </Section>\n )}\n\n {/* Webhook trigger — supporting integration detail. */}\n {workflow.webhookUrl && (\n <Section\n headingLevel={2}\n emphasis=\"muted\"\n title={t('bigconsole.workflows.view.webhookUrlLabel', 'Webhook URL')}\n description=\"POST to this URL to run the workflow from an external system.\"\n actions={\n <Button variant=\"ghost\" size=\"sm\" onClick={handleCopyWebhook}>\n {webhookCopied ? (\n <>\n <CheckIcon className=\"w-4 h-4 text-status-success-text\" />\n {t('bigconsole.workflows.actions.copied', 'Copied!')}\n </>\n ) : (\n <>\n <CopyIcon className=\"w-4 h-4\" />\n {t('bigconsole.workflows.actions.copy', 'Copy')}\n </>\n )}\n </Button>\n }\n >\n <code className=\"block min-w-0 overflow-x-auto break-all rounded-card bg-bg-sunken px-3 py-2 font-mono text-sm text-text-primary\">\n {workflow.webhookUrl}\n </code>\n </Section>\n )}\n\n {/* Linked data sinks — relationships, normal grouped work. */}\n <Section\n headingLevel={2}\n title={t('bigconsole.workflows.view.linkedDataSinksTitle', 'Linked DataSinks ({{count}})', {\n count: linkedDataSinkCount,\n })}\n description=\"Where this workflow writes the data it produces.\"\n actions={\n canUpdate && canReadSinks ? (\n <Button variant=\"outline\" aria-expanded={showLinkForm} onClick={() => setShowLinkForm((open) => !open)}>\n {showLinkForm\n ? t('bigconsole.workflows.links.cancel', 'Cancel linking')\n : t('bigconsole.workflows.links.link', 'Link sink')}\n </Button>\n ) : undefined\n }\n data-testid=\"workflow-linked-datasinks\"\n >\n {linkFeedback && (\n <p role=\"status\" className=\"mb-3 text-sm text-text-secondary\">\n {linkFeedback}\n </p>\n )}\n {showLinkForm && canUpdate && canReadSinks && (\n <WorkflowSinkLinkForm\n workflowId={workflow.id}\n linkedSinkIds={workflow.dataSinkLinks.map((link) => link.dataSinkId)}\n onLinked={async () => {\n const updated = await fetchWorkflow(workflow.id);\n if (updated) setWorkflow(updated);\n setShowLinkForm(false);\n setLinkFeedback(t('bigconsole.workflows.links.linked', 'Data sink linked.'));\n }}\n />\n )}\n {linkedDataSinkCount === 0 ? (\n <IllustratedEmptyState\n illustration=\"empty-generic\"\n title={t('bigconsole.workflows.view.noDataSinksTitle', 'No data sinks linked')}\n description={t(\n 'bigconsole.workflows.view.noDataSinksDescription',\n \"This workflow has no data sinks linked yet — its output isn't being stored.\"\n )}\n />\n ) : (\n <ul className=\"flex flex-col gap-list-gap\">\n {[...workflow.dataSinkLinks]\n .sort((a, b) => a.priority - b.priority)\n .map((link) => (\n <li\n key={link.id}\n className=\"flex flex-col gap-control-gap rounded-card bg-bg-sunken px-3 py-2 sm:flex-row sm:items-center sm:justify-between\"\n >\n <div className=\"flex min-w-0 items-center gap-icon-gap\">\n <DatabaseIcon className=\"w-4 h-4 shrink-0 text-text-secondary\" />\n <div className=\"min-w-0\">\n <p className=\"truncate text-sm font-medium text-text-primary\">\n {link.dataSink?.name || link.dataSink?.key || link.dataSinkId}\n </p>\n {link.dataSink?.key && (\n <p className=\"truncate font-mono text-xs text-text-secondary\">{link.dataSink.key}</p>\n )}\n </div>\n </div>\n <div className=\"flex flex-wrap items-center gap-control-gap\">\n {link.isEnabled ? (\n <span className=\"rounded-pill bg-[var(--color-status-success-bgSubtle)] px-2 py-0.5 text-xs font-medium text-status-success-text\">\n {t('bigconsole.workflows.view.dataSinkEnabled', 'Enabled')}\n </span>\n ) : (\n <span className=\"rounded-pill bg-bg-surface px-2 py-0.5 text-xs font-medium text-text-secondary\">\n {t('bigconsole.workflows.view.dataSinkDisabled', 'Disabled')}\n </span>\n )}\n <span className=\"text-xs text-text-muted\">\n {t('bigconsole.workflows.view.dataSinkPriority', 'Priority: {{priority}}', {\n priority: link.priority,\n })}\n </span>\n {canUpdate && (\n <Button\n variant=\"outline\"\n size=\"sm\"\n disabled={unlinkingId !== null}\n onClick={async () => {\n setUnlinkingId(link.dataSinkId);\n try {\n const removed = await unlinkDataSink(workflow.id, link.dataSinkId);\n if (removed) {\n const updated = await fetchWorkflow(workflow.id);\n if (updated) setWorkflow(updated);\n setLinkFeedback(t('bigconsole.workflows.links.unlinked', 'Data sink unlinked.'));\n } else {\n setLinkFeedback(\n t(\n 'bigconsole.workflows.links.unlinkError',\n 'The data sink could not be unlinked. Try again.'\n )\n );\n }\n } finally {\n setUnlinkingId(null);\n }\n }}\n >\n {t('bigconsole.workflows.links.unlink', 'Unlink')}\n </Button>\n )}\n {link.dataSink && (\n <button\n type=\"button\"\n onClick={() => handleViewDataSink(link.dataSinkId)}\n className={`inline-flex min-h-[var(--size-controlHeight-md)] items-center rounded-button px-2 text-xs font-medium text-text-link hover:underline sm:min-h-[var(--size-controlHeight-sm)] ${SECTION_FOCUS_RING}`}\n >\n {t('bigconsole.workflows.actions.view', 'View')}\n </button>\n )}\n </div>\n </li>\n ))}\n </ul>\n )}\n </Section>\n\n {/* Record history — lowest-value metadata, recessed. */}\n <Section headingLevel={2} emphasis=\"muted\" title=\"Record history\" padding=\"compact\">\n <dl className=\"grid grid-cols-1 gap-form-gap sm:grid-cols-2\">\n <div className=\"min-w-0\">\n <dt className=\"text-xs text-text-secondary\">{t('bigconsole.workflows.view.createdLabel', 'Created')}</dt>\n <dd className=\"text-sm text-text-primary\">\n {formatDistanceToNow(new Date(workflow.createdAt), { addSuffix: true })}\n </dd>\n <dd className=\"truncate text-xs text-text-muted\">\n {t('bigconsole.workflows.view.byAuthor', 'by {{author}}', { author: workflow.createdBy })}\n </dd>\n </div>\n <div className=\"min-w-0\">\n <dt className=\"text-xs text-text-secondary\">\n {t('bigconsole.workflows.view.lastUpdatedLabel', 'Last Updated')}\n </dt>\n <dd className=\"text-sm text-text-primary\">\n {formatDistanceToNow(new Date(workflow.updatedAt), { addSuffix: true })}\n </dd>\n <dd className=\"truncate text-xs text-text-muted\">\n {t('bigconsole.workflows.view.byAuthor', 'by {{author}}', {\n author: workflow.updatedBy || workflow.createdBy,\n })}\n </dd>\n </div>\n </dl>\n </Section>\n </SectionStack>\n\n {/* Delete Confirmation Dialog */}\n {workflow && (\n <WorkflowDeleteDialog\n workflow={workflow}\n isOpen={showDeleteConfirm}\n onClose={() => setShowDeleteConfirm(false)}\n onConfirm={handleDelete}\n />\n )}\n </div>\n );\n});\n\nexport default WorkflowViewPage;\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowsPage.d.ts","sourceRoot":"","sources":["../../../src/bigconsole/pages/WorkflowsPage.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA4CH,eAAO,MAAM,aAAa,8CAqZxB,CAAC;AAEH,eAAe,aAAa,CAAC"}
|