@vertesia/ui 0.80.0-dev-20251118 → 0.80.0
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 +105 -0
- package/lib/esm/core/components/MenuList.js +2 -5
- package/lib/esm/core/components/MenuList.js.map +1 -1
- package/lib/esm/core/components/MessageBox.js +1 -1
- package/lib/esm/core/components/MessageBox.js.map +1 -1
- package/lib/esm/core/components/TagsInput.js +194 -0
- package/lib/esm/core/components/TagsInput.js.map +1 -0
- package/lib/esm/core/components/index.js +2 -1
- package/lib/esm/core/components/index.js.map +1 -1
- package/lib/esm/core/components/shadcn/dialog.js +16 -2
- package/lib/esm/core/components/shadcn/dialog.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filter/SelectFilter.js +6 -9
- package/lib/esm/core/components/shadcn/filters/filter/SelectFilter.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filterBar.js +1 -1
- package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
- package/lib/esm/core/components/shadcn/popover.js +1 -1
- package/lib/esm/core/components/shadcn/popover.js.map +1 -1
- package/lib/esm/core/components/shadcn/selectBox.js +23 -5
- package/lib/esm/core/components/shadcn/selectBox.js.map +1 -1
- package/lib/esm/core/components/shadcn/tabs.js +3 -3
- package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
- package/lib/esm/env/index.js +4 -1
- package/lib/esm/env/index.js.map +1 -1
- package/lib/esm/features/agent/chat/AgentChart.js +184 -0
- package/lib/esm/features/agent/chat/AgentChart.js.map +1 -0
- package/lib/esm/features/agent/chat/ModernAgentConversation.js +87 -10
- package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +6 -2
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +4 -4
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +4 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +12 -4
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +60 -56
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
- package/lib/esm/features/agent/chat/index.js +1 -0
- package/lib/esm/features/agent/chat/index.js.map +1 -1
- package/lib/esm/features/agent/createChartTool.js +354 -0
- package/lib/esm/features/agent/createChartTool.js.map +1 -0
- package/lib/esm/features/agent/examples.js +295 -0
- package/lib/esm/features/agent/examples.js.map +1 -0
- package/lib/esm/features/agent/index.js +2 -0
- package/lib/esm/features/agent/index.js.map +1 -1
- package/lib/esm/features/agent/visualization.js +165 -0
- package/lib/esm/features/agent/visualization.js.map +1 -0
- package/lib/esm/features/facets/CollectionsFacetsNav.js +5 -1
- package/lib/esm/features/facets/CollectionsFacetsNav.js.map +1 -1
- package/lib/esm/features/index.js +1 -0
- package/lib/esm/features/index.js.map +1 -1
- package/lib/esm/features/layout/GenericPageNavHeader.js +14 -4
- package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -1
- package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js +268 -0
- package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +1 -0
- package/lib/esm/features/magic-pdf/DownloadPopover.js +11 -11
- package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -1
- package/lib/esm/features/magic-pdf/ExtractedContentView.js +77 -0
- package/lib/esm/features/magic-pdf/ExtractedContentView.js.map +1 -0
- package/lib/esm/features/magic-pdf/MagicPdfProvider.js +242 -0
- package/lib/esm/features/magic-pdf/MagicPdfProvider.js.map +1 -0
- package/lib/esm/features/magic-pdf/MagicPdfView.js +41 -47
- package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -1
- package/lib/esm/features/pdf-viewer/PdfPageRenderer.js +261 -0
- package/lib/esm/features/pdf-viewer/PdfPageRenderer.js.map +1 -0
- package/lib/esm/features/pdf-viewer/PdfPageSlider.js +276 -0
- package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +1 -0
- package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +71 -0
- package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +1 -0
- package/lib/esm/features/pdf-viewer/index.js +4 -0
- package/lib/esm/features/pdf-viewer/index.js.map +1 -0
- package/lib/esm/features/store/collections/EditCollectionView.js +19 -10
- package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
- package/lib/esm/features/store/collections/SelectCollection.js +104 -39
- package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
- package/lib/esm/features/store/collections/SharedPropsEditor.js +39 -0
- package/lib/esm/features/store/collections/SharedPropsEditor.js.map +1 -0
- package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js +35 -0
- package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js.map +1 -0
- package/lib/esm/features/store/collections/index.js +2 -0
- package/lib/esm/features/store/collections/index.js.map +1 -1
- package/lib/esm/features/store/objects/DocumentSearchResults.js +0 -7
- package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
- package/lib/esm/features/store/objects/components/ContentOverview.js +273 -83
- package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
- package/lib/esm/features/store/objects/components/useContentPanelHooks.js +153 -0
- package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -0
- package/lib/esm/features/store/objects/layout/DocumentTableColumn.js +3 -3
- package/lib/esm/features/store/objects/layout/DocumentTableColumn.js.map +1 -1
- package/lib/esm/features/store/objects/layout/renderers.js +13 -0
- package/lib/esm/features/store/objects/layout/renderers.js.map +1 -1
- package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +10 -9
- package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
- package/lib/esm/features/utils/index.js +2 -0
- package/lib/esm/features/utils/index.js.map +1 -1
- package/lib/esm/features/utils/mimeType.js +8 -0
- package/lib/esm/features/utils/mimeType.js.map +1 -1
- package/lib/esm/features/utils/print.js +181 -0
- package/lib/esm/features/utils/print.js.map +1 -0
- package/lib/esm/features/utils/workflowStatus.js +43 -0
- package/lib/esm/features/utils/workflowStatus.js.map +1 -0
- package/lib/esm/router/HistoryNavigator.js +22 -2
- package/lib/esm/router/HistoryNavigator.js.map +1 -1
- package/lib/esm/session/UserSessionProvider.js +2 -2
- package/lib/esm/session/UserSessionProvider.js.map +1 -1
- package/lib/esm/shell/apps/AppProjectSelector.js +2 -2
- package/lib/esm/shell/apps/AppProjectSelector.js.map +1 -1
- package/lib/esm/shell/login/UserInfo.js +2 -1
- package/lib/esm/shell/login/UserInfo.js.map +1 -1
- package/lib/esm/shell/login/UserSessionMenu.js +7 -1
- package/lib/esm/shell/login/UserSessionMenu.js.map +1 -1
- package/lib/esm/widgets/form/Form.js +6 -2
- package/lib/esm/widgets/form/Form.js.map +1 -1
- package/lib/esm/widgets/markdown/MarkdownRenderer.js +226 -4
- package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
- package/lib/esm/widgets/schema-editor/ManagedSchema.js +0 -3
- package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
- package/lib/esm/widgets/schema-editor/json-schema4-utils.js +1 -1
- package/lib/esm/widgets/schema-editor/json-schema4-utils.js.map +1 -1
- package/lib/esm/widgets/xml-viewer/components/XMLViewer.js +18 -9
- package/lib/esm/widgets/xml-viewer/components/XMLViewer.js.map +1 -1
- package/lib/esm/widgets/xml-viewer/constants/index.js +10 -0
- package/lib/esm/widgets/xml-viewer/constants/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/core/components/MessageBox.d.ts.map +1 -1
- package/lib/types/core/components/TagsInput.d.ts +16 -0
- package/lib/types/core/components/TagsInput.d.ts.map +1 -0
- package/lib/types/core/components/index.d.ts +2 -1
- package/lib/types/core/components/index.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/dialog.d.ts +2 -1
- package/lib/types/core/components/shadcn/dialog.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/popover.d.ts +7 -0
- package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/selectBox.d.ts +5 -1
- package/lib/types/core/components/shadcn/selectBox.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/tabs.d.ts +3 -1
- package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
- package/lib/types/env/index.d.ts +2 -0
- package/lib/types/env/index.d.ts.map +1 -1
- package/lib/types/features/agent/chat/AgentChart.d.ts +48 -0
- package/lib/types/features/agent/chat/AgentChart.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -2
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +2 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +4 -2
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts +2 -4
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
- package/lib/types/features/agent/chat/index.d.ts +1 -0
- package/lib/types/features/agent/chat/index.d.ts.map +1 -1
- package/lib/types/features/agent/createChartTool.d.ts +178 -0
- package/lib/types/features/agent/createChartTool.d.ts.map +1 -0
- package/lib/types/features/agent/examples.d.ts +59 -0
- package/lib/types/features/agent/examples.d.ts.map +1 -0
- package/lib/types/features/agent/index.d.ts +2 -0
- package/lib/types/features/agent/index.d.ts.map +1 -1
- package/lib/types/features/agent/visualization.d.ts +95 -0
- package/lib/types/features/agent/visualization.d.ts.map +1 -0
- package/lib/types/features/facets/CollectionsFacetsNav.d.ts.map +1 -1
- package/lib/types/features/index.d.ts +1 -0
- package/lib/types/features/index.d.ts.map +1 -1
- package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts +13 -0
- package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +1 -0
- package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/ExtractedContentView.d.ts +8 -0
- package/lib/types/features/magic-pdf/ExtractedContentView.d.ts.map +1 -0
- package/lib/types/features/magic-pdf/MagicPdfProvider.d.ts +58 -0
- package/lib/types/features/magic-pdf/MagicPdfProvider.d.ts.map +1 -0
- package/lib/types/features/magic-pdf/MagicPdfView.d.ts +1 -1
- package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
- package/lib/types/features/pdf-viewer/PdfPageRenderer.d.ts +83 -0
- package/lib/types/features/pdf-viewer/PdfPageRenderer.d.ts.map +1 -0
- package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts +29 -0
- package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +1 -0
- package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts +19 -0
- package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -0
- package/lib/types/features/pdf-viewer/index.d.ts +4 -0
- package/lib/types/features/pdf-viewer/index.d.ts.map +1 -0
- package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
- package/lib/types/features/store/collections/SelectCollection.d.ts +2 -1
- package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -1
- package/lib/types/features/store/collections/SharedPropsEditor.d.ts +7 -0
- package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +1 -0
- package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts +7 -0
- package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts.map +1 -0
- package/lib/types/features/store/collections/index.d.ts +2 -0
- package/lib/types/features/store/collections/index.d.ts.map +1 -1
- package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts +30 -0
- package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -0
- package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -1
- package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
- package/lib/types/features/utils/index.d.ts +2 -0
- package/lib/types/features/utils/index.d.ts.map +1 -1
- package/lib/types/features/utils/mimeType.d.ts +1 -0
- package/lib/types/features/utils/mimeType.d.ts.map +1 -1
- package/lib/types/features/utils/print.d.ts +10 -0
- package/lib/types/features/utils/print.d.ts.map +1 -0
- package/lib/types/features/utils/workflowStatus.d.ts +10 -0
- package/lib/types/features/utils/workflowStatus.d.ts.map +1 -0
- package/lib/types/router/HistoryNavigator.d.ts +3 -0
- package/lib/types/router/HistoryNavigator.d.ts.map +1 -1
- package/lib/types/shell/login/UserInfo.d.ts.map +1 -1
- package/lib/types/shell/login/UserSessionMenu.d.ts.map +1 -1
- package/lib/types/widgets/form/Form.d.ts.map +1 -1
- package/lib/types/widgets/markdown/MarkdownRenderer.d.ts +5 -1
- package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
- package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
- package/lib/types/widgets/xml-viewer/components/XMLViewer.d.ts.map +1 -1
- package/lib/types/widgets/xml-viewer/constants/index.d.ts +10 -0
- package/lib/types/widgets/xml-viewer/constants/index.d.ts.map +1 -1
- package/lib/vertesia-ui-core.js +1 -1
- package/lib/vertesia-ui-core.js.map +1 -1
- package/lib/vertesia-ui-env.js +1 -1
- package/lib/vertesia-ui-env.js.map +1 -1
- package/lib/vertesia-ui-features.js +1 -1
- package/lib/vertesia-ui-features.js.map +1 -1
- package/lib/vertesia-ui-layout.js +1 -1
- package/lib/vertesia-ui-layout.js.map +1 -1
- package/lib/vertesia-ui-router.js +1 -1
- package/lib/vertesia-ui-router.js.map +1 -1
- package/lib/vertesia-ui-session.js +1 -1
- package/lib/vertesia-ui-session.js.map +1 -1
- package/lib/vertesia-ui-shell.js +1 -1
- package/lib/vertesia-ui-shell.js.map +1 -1
- package/lib/vertesia-ui-widgets.js +1 -1
- package/lib/vertesia-ui-widgets.js.map +1 -1
- package/package.json +173 -170
- package/src/core/components/MenuList.tsx +3 -6
- package/src/core/components/MessageBox.tsx +7 -2
- package/src/core/components/SelectBox.tsx +1 -1
- package/src/core/components/shadcn/dialog.tsx +19 -1
- package/src/core/components/shadcn/filters/filter/SelectFilter.tsx +31 -31
- package/src/core/components/shadcn/filters/filterBar.tsx +1 -0
- package/src/core/components/shadcn/selectBox.tsx +32 -6
- package/src/core/components/shadcn/tabs.tsx +3 -2
- package/src/env/index.ts +6 -1
- package/src/features/agent/CHART_INSTRUCTIONS.md +228 -0
- package/src/features/agent/chat/AgentChart.tsx +601 -0
- package/src/features/agent/chat/ModernAgentConversation.tsx +123 -11
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +8 -2
- package/src/features/agent/chat/ModernAgentOutput/Header.tsx +12 -2
- package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +6 -1
- package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +15 -10
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +122 -87
- package/src/features/agent/chat/index.ts +1 -0
- package/src/features/agent/createChartTool.ts +364 -0
- package/src/features/agent/examples.ts +321 -0
- package/src/features/agent/index.ts +2 -0
- package/src/features/agent/visualization.ts +227 -0
- package/src/features/facets/CollectionsFacetsNav.tsx +5 -1
- package/src/features/index.ts +1 -0
- package/src/features/layout/GenericPageNavHeader.tsx +15 -4
- package/src/features/magic-pdf/AnnotatedImageSlider.tsx +482 -0
- package/src/features/magic-pdf/DownloadPopover.tsx +45 -40
- package/src/features/magic-pdf/ExtractedContentView.tsx +132 -0
- package/src/features/magic-pdf/MagicPdfProvider.tsx +297 -0
- package/src/features/magic-pdf/MagicPdfView.tsx +184 -91
- package/src/features/pdf-viewer/PdfPageRenderer.tsx +612 -0
- package/src/features/pdf-viewer/PdfPageSlider.tsx +473 -0
- package/src/features/pdf-viewer/SimplePdfViewer.tsx +142 -0
- package/src/features/pdf-viewer/index.ts +3 -0
- package/src/features/store/collections/EditCollectionView.tsx +3 -5
- package/src/features/store/collections/SharedPropsEditor.tsx +1 -2
- package/src/features/store/objects/DocumentSearchResults.tsx +0 -7
- package/src/features/store/objects/components/ContentOverview.tsx +677 -210
- package/src/features/store/objects/components/useContentPanelHooks.ts +169 -0
- package/src/features/store/objects/layout/DocumentTableColumn.tsx +3 -3
- package/src/features/store/objects/layout/knowledge.md +1 -0
- package/src/features/store/objects/layout/renderers.tsx +25 -0
- package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +1 -3
- package/src/features/utils/index.ts +3 -1
- package/src/features/utils/mimeType.ts +10 -1
- package/src/features/utils/print.ts +189 -0
- package/src/features/utils/workflowStatus.ts +44 -0
- package/src/router/HistoryNavigator.ts +30 -2
- package/src/session/UserSessionProvider.tsx +2 -2
- package/src/shell/login/UserInfo.tsx +2 -0
- package/src/shell/login/UserSessionMenu.tsx +12 -1
- package/src/widgets/form/Form.tsx +8 -3
- package/src/widgets/markdown/MarkdownRenderer.tsx +350 -6
- package/src/widgets/schema-editor/ManagedSchema.ts +0 -3
- package/src/widgets/schema-editor/json-schema4-utils.ts +1 -1
- package/src/widgets/xml-viewer/components/XMLViewer.tsx +22 -10
- package/src/widgets/xml-viewer/constants/index.ts +11 -0
- package/lib/esm/features/magic-pdf/PageSlider.js +0 -70
- package/lib/esm/features/magic-pdf/PageSlider.js.map +0 -1
- package/lib/esm/features/magic-pdf/PdfPageProvider.js +0 -188
- package/lib/esm/features/magic-pdf/PdfPageProvider.js.map +0 -1
- package/lib/esm/features/magic-pdf/TextPageView.js +0 -62
- package/lib/esm/features/magic-pdf/TextPageView.js.map +0 -1
- package/lib/esm/features/magic-pdf/useResizeOnDrag.js +0 -34
- package/lib/esm/features/magic-pdf/useResizeOnDrag.js.map +0 -1
- package/lib/types/features/magic-pdf/PageSlider.d.ts +0 -9
- package/lib/types/features/magic-pdf/PageSlider.d.ts.map +0 -1
- package/lib/types/features/magic-pdf/PdfPageProvider.d.ts +0 -39
- package/lib/types/features/magic-pdf/PdfPageProvider.d.ts.map +0 -1
- package/lib/types/features/magic-pdf/TextPageView.d.ts +0 -8
- package/lib/types/features/magic-pdf/TextPageView.d.ts.map +0 -1
- package/lib/types/features/magic-pdf/useResizeOnDrag.d.ts +0 -9
- package/lib/types/features/magic-pdf/useResizeOnDrag.d.ts.map +0 -1
- package/src/features/magic-pdf/PageSlider.tsx +0 -142
- package/src/features/magic-pdf/PdfPageProvider.tsx +0 -310
- package/src/features/magic-pdf/TextPageView.tsx +0 -91
- package/src/features/magic-pdf/useResizeOnDrag.ts +0 -42
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../../../src/core/components/shadcn/popover.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAElC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAQxC,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAA6B,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../../../src/core/components/shadcn/popover.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,35 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import { isEqual } from 'lodash-es';
|
|
4
|
-
import { Check, ChevronsUpDown, SearchIcon, SquarePlus, X } from 'lucide-react';
|
|
5
|
-
import { useState, useEffect, useRef } from 'react';
|
|
4
|
+
import { AlertTriangle, Check, ChevronsUpDown, SearchIcon, SquarePlus, X } from 'lucide-react';
|
|
5
|
+
import { useState, useEffect, useRef, useMemo } from 'react';
|
|
6
6
|
import { Popover, PopoverContent, PopoverTrigger, PopoverClose } from './popover';
|
|
7
7
|
import { Command, CommandEmpty, CommandGroup, CommandItem, CommandList } from './command';
|
|
8
8
|
import { Input } from './input';
|
|
9
9
|
import { Button } from '@vertesia/ui/core';
|
|
10
|
-
|
|
10
|
+
import { VTooltip } from './tooltip';
|
|
11
|
+
export function VSelectBox({ options, optionLabel, value, onChange, addNew, addNewLabel, disabled, filterBy, label, placeholder, className, popupClass, isClearable, border = true, multiple = false, by, inline = false, warnOnMissingValue = true, missingValueWarning = "Value not in options list, may not be valid" }) {
|
|
11
12
|
const triggerRef = useRef(null);
|
|
12
13
|
const [open, setOpen] = useState(false);
|
|
13
14
|
const [width, setWidth] = useState(0);
|
|
14
15
|
const [filterValue, setFilterValue] = useState('');
|
|
16
|
+
// Check if value is in options list (for single select only)
|
|
17
|
+
const isMissingValue = useMemo(() => {
|
|
18
|
+
if (!warnOnMissingValue || multiple || value == null || !options)
|
|
19
|
+
return false;
|
|
20
|
+
// Use the isOptionsEqual helper which respects the 'by' comparator
|
|
21
|
+
return !options.some(opt => {
|
|
22
|
+
if (typeof by === 'string') {
|
|
23
|
+
return opt[by] === value[by];
|
|
24
|
+
}
|
|
25
|
+
else if (typeof by === 'function') {
|
|
26
|
+
return by(opt, value);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return isEqual(opt, value);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}, [warnOnMissingValue, multiple, value, options, by]);
|
|
15
33
|
useEffect(() => {
|
|
16
34
|
const element = triggerRef.current;
|
|
17
35
|
if (!element) {
|
|
@@ -112,7 +130,7 @@ export function VSelectBox({ options, optionLabel, value, onChange, addNew, addN
|
|
|
112
130
|
return (_jsxs("div", { className: "flex flex-wrap gap-1", children: [arrayValue.slice(0, 1).map((item, index) => (_jsx("span", { className: "inline-flex items-center gap-1 px-2 py-1 text-xs bg-muted rounded", children: optionLabel ? optionLabel(item) : item }, index))), arrayValue.length > 1 && (_jsxs("span", { className: "inline-flex items-center px-2 py-1 text-xs bg-muted rounded", children: ["+", arrayValue.length - 1, " more"] }))] }));
|
|
113
131
|
};
|
|
114
132
|
// Render the options list content
|
|
115
|
-
const renderOptionsContent = () => (_jsxs(_Fragment, { children: [filterBy && (_jsxs("div", { className: 'flex justify-start items-center mb-1', children: [_jsx("div", { className: 'mx-2', children: _jsx(SearchIcon, { className: "size-4" }) }), _jsx(Input, { variant: 'unstyled', value: filterValue, onChange: setFilterValue, className: "w-full p-1 rounded-md", placeholder: "Search..." })] })), _jsx(Command, { className: "overflow-hidden", children: _jsxs(CommandList, { className: inline ? "max-h-full overflow-y-auto" : "max-h-[200px] overflow-y-auto", children: [_jsx(CommandEmpty, { children: "No result found." }), _jsx(CommandGroup, {
|
|
133
|
+
const renderOptionsContent = () => (_jsxs(_Fragment, { children: [filterBy && (_jsxs("div", { className: 'flex justify-start items-center mb-1', children: [_jsx("div", { className: 'mx-2', children: _jsx(SearchIcon, { className: "size-4" }) }), _jsx(Input, { variant: 'unstyled', value: filterValue, onChange: setFilterValue, className: "w-full p-1 rounded-md", placeholder: "Search..." })] })), _jsx(Command, { className: "overflow-hidden", children: _jsxs(CommandList, { className: inline ? "max-h-full overflow-y-auto" : "max-h-[200px] overflow-y-auto", children: [_jsx(CommandEmpty, { children: "No result found." }), _jsx(CommandGroup, { children: filteredOptions?.map((opt, index) => {
|
|
116
134
|
const isSelected = multiple
|
|
117
135
|
? isOptionSelected(opt, Array.isArray(value) ? value : [])
|
|
118
136
|
: value != null ? isOptionsEqual(value, opt) : false;
|
|
@@ -121,7 +139,7 @@ export function VSelectBox({ options, optionLabel, value, onChange, addNew, addN
|
|
|
121
139
|
if (inline) {
|
|
122
140
|
return (_jsx("div", { className: clsx(className, border && 'border border-border rounded-md', "bg-popover p-1", popupClass), children: renderOptionsContent() }));
|
|
123
141
|
}
|
|
124
|
-
return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("div", { ref: triggerRef, onClick: handleTriggerClick, className: clsx(className, border && 'border border-border', 'flex flex-row gap-2 items-center justify-between p-2 rounded-md group relative [&:hover_.clear-button]:opacity-100', !disabled ? "cursor-pointer hover:bg-muted" : "cursor-not-allowed text-muted"), children: [_jsxs("div", { className: clsx("flex flex-col w-full rounded-md text-sm items-center justify-center truncate", !disabled && "", isClearable && value && (Array.isArray(value) ? value.length > 0 : true) && "pr-6"), children: [label && _jsx("div", { className: 'w-full text-left text-xs font-semibold', children: label }),
|
|
142
|
+
return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("div", { ref: triggerRef, onClick: handleTriggerClick, className: clsx(className, border && (isMissingValue ? 'border border-destructive' : 'border border-border'), 'flex flex-row gap-2 items-center justify-between p-2 rounded-md group relative [&:hover_.clear-button]:opacity-100', !disabled ? "cursor-pointer hover:bg-muted" : "cursor-not-allowed text-muted"), children: [_jsxs("div", { className: clsx("flex flex-col w-full rounded-md text-sm items-center justify-center truncate", !disabled && "", isClearable && value && (Array.isArray(value) ? value.length > 0 : true) && "pr-6"), children: [label && _jsx("div", { className: 'w-full text-left text-xs font-semibold', children: label }), _jsxs("div", { className: clsx('w-full text-left min-h-6', !disabled && '', isMissingValue && 'text-destructive'), children: [isMissingValue && (_jsx(VTooltip, { description: missingValueWarning, placement: "top", asChild: true, children: _jsx(AlertTriangle, { className: "inline-block size-4 mr-1 -mt-0.5 cursor-help" }) })), multiple ? renderMultipleValue() : renderSingleValue()] })] }), _jsxs("div", { className: "flex items-center gap-1 group", children: [isClearable && value && (Array.isArray(value) ? value.length > 0 : true) && (_jsx(Button, { variant: "link", size: "icon", disabled: disabled, alt: "Clear selection", onClick: (e) => {
|
|
125
143
|
e.stopPropagation();
|
|
126
144
|
if (multiple) {
|
|
127
145
|
onChange([]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectBox.js","sourceRoot":"","sources":["../../../../../src/core/components/shadcn/selectBox.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"selectBox.js","sourceRoot":"","sources":["../../../../../src/core/components/shadcn/selectBox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -98,11 +98,11 @@ const VTabsBar = ({ className }) => {
|
|
|
98
98
|
handleTabChange(tab.name);
|
|
99
99
|
} }) })), _jsx(TabsList, { size: size, variant: variant, className: cn((fullWidth ? "w-full" : ""), className, (responsive ? "hidden lg:flex" : "")), children: tabs.map((tab) => (_jsx(TabsTrigger, { value: tab.name, disabled: tab.disabled, href: tab.href, variant: variant, onClick: () => handleTabChange(tab.name), children: tab.label }, tab.name))) })] }));
|
|
100
100
|
};
|
|
101
|
-
const VTabsPanel = () => {
|
|
101
|
+
const VTabsPanel = ({ className }) => {
|
|
102
102
|
const { tabs } = React.useContext(TabsContext);
|
|
103
103
|
if (!tabs)
|
|
104
104
|
return null;
|
|
105
|
-
return (_jsx(_Fragment, { children: tabs.map((tab) => (_jsx(TabsContent, { value: tab.name, children: tab.content }, tab.name))) }));
|
|
105
|
+
return (_jsx(_Fragment, { children: tabs.map((tab) => (_jsx(TabsContent, { value: tab.name, className: className, children: tab.content }, tab.name))) }));
|
|
106
106
|
};
|
|
107
107
|
const TabsList = React.forwardRef(({ className, size, variant = "tabs", ...props }, ref) => (_jsx(TabsContext.Provider, { value: { size, variant }, children: _jsx(TabsPrimitive.List, { ref: ref, className: cn(variant === "tabs"
|
|
108
108
|
? "border-b -mb-px flex space-x-4"
|
|
@@ -126,7 +126,7 @@ const TabsTrigger = React.forwardRef(({ className, href, variant = "tabs", ...pr
|
|
|
126
126
|
: cn("px-3 py-1.5 text-sm font-medium whitespace-nowrap cursor-pointer rounded-sm transition-colors", "tborder border-input bg-muted shadow-xs hover:bg-muted ring-inset", "data-[state=active]:bg-primary data-[state=active]:text-white data-[state=active]:shadow-sm", "disabled:pointer-events-none disabled:opacity-50"), className, size ? `w-1/${size}` : ""), onClick: handleClick, ...props }));
|
|
127
127
|
});
|
|
128
128
|
TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
|
|
129
|
-
const TabsContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.Content, { ref: ref, className: cn("focus-visible:outline-none", className), ...props })));
|
|
129
|
+
const TabsContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.Content, { ref: ref, className: cn("focus-visible:outline-none", "flex-1 overflow-y-auto min-h-0 pt-2", className), ...props })));
|
|
130
130
|
TabsContent.displayName = TabsPrimitive.Content.displayName;
|
|
131
131
|
export { VTabs, VTabsBar, VTabsPanel, TabsList, TabsTrigger, TabsContent };
|
|
132
132
|
//# sourceMappingURL=tabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../../src/core/components/shadcn/tabs.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../../src/core/components/shadcn/tabs.tsx"],"names":[],"mappings":"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"}
|
package/lib/esm/env/index.js
CHANGED
|
@@ -18,6 +18,9 @@ export class VertesiaEnvironment {
|
|
|
18
18
|
get version() {
|
|
19
19
|
return this.prop("version");
|
|
20
20
|
}
|
|
21
|
+
get sdkVersion() {
|
|
22
|
+
return this._props?.sdkVersion;
|
|
23
|
+
}
|
|
21
24
|
get name() {
|
|
22
25
|
return this.prop("name");
|
|
23
26
|
}
|
|
@@ -28,7 +31,7 @@ export class VertesiaEnvironment {
|
|
|
28
31
|
return this.type === "production";
|
|
29
32
|
}
|
|
30
33
|
get isStable() {
|
|
31
|
-
return this.type === "production" || this.type === "preview" || this.type === "
|
|
34
|
+
return this.type === "production" || this.type === "preview" || this.type === "disaster-recovery";
|
|
32
35
|
}
|
|
33
36
|
get isDev() {
|
|
34
37
|
return !this.isStable;
|
package/lib/esm/env/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/env/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,8DAA8D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/env/index.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,8DAA8D;AAkC9D,MAAM,OAAO,mBAAmB;IAER;IAApB,YAAoB,MAA6B;QAA7B,WAAM,GAAN,MAAM,CAAuB;IACjD,CAAC;IAED,IAAI,CAAC,KAAgB;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,IAAI,CAA2B,IAAO;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;IACnC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,CAAC;IACtG,CAAC;IAED,IAAI,KAAK;QACL,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;IACnC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,KAAK,CAAC;IACzC,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,OAAO,CAAA;IACzC,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,KAAuB;QAC3B,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;IAC9B,CAAC;CACJ;AAED,MAAM,GAAG,GAAG,IAAI,mBAAmB,EAAE,CAAC;AAEtC,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Component, memo, useState, useRef, useCallback } from 'react';
|
|
3
|
+
import { toPng } from 'html-to-image';
|
|
4
|
+
import { Download, Copy, Check } from 'lucide-react';
|
|
5
|
+
import { ResponsiveContainer, BarChart, LineChart, ComposedChart, AreaChart, PieChart, ScatterChart, RadarChart, RadialBarChart, FunnelChart, Treemap, Bar, Line, Area, Pie, Cell, Scatter, Radar, RadialBar, Funnel, LabelList, PolarGrid, PolarAngleAxis, PolarRadiusAxis, XAxis, YAxis, CartesianGrid, Tooltip, Legend, ReferenceLine, } from 'recharts';
|
|
6
|
+
// Default color palette for charts
|
|
7
|
+
const COLORS = ['#4f46e5', '#06b6d4', '#22c55e', '#f59e0b', '#ef4444', '#8b5cf6', '#ec4899', '#14b8a6'];
|
|
8
|
+
class ChartErrorBoundary extends Component {
|
|
9
|
+
constructor(props) {
|
|
10
|
+
super(props);
|
|
11
|
+
this.state = { hasError: false, error: null };
|
|
12
|
+
}
|
|
13
|
+
static getDerivedStateFromError(error) {
|
|
14
|
+
return { hasError: true, error };
|
|
15
|
+
}
|
|
16
|
+
componentDidCatch(error, errorInfo) {
|
|
17
|
+
console.error(`Chart rendering error (${this.props.chartType}):`, error, errorInfo);
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
if (this.state.hasError) {
|
|
21
|
+
return (_jsx("div", { className: "flex items-center justify-center h-full bg-red-50 dark:bg-red-950 rounded-md p-4", children: _jsxs("div", { className: "text-center", children: [_jsxs("p", { className: "text-sm font-medium text-red-600 dark:text-red-400", children: ["Cannot render ", this.props.chartType, " chart"] }), _jsx("p", { className: "text-xs text-red-500 dark:text-red-500 mt-1 max-w-xs truncate", children: this.state.error?.message || 'Unknown error' })] }) }));
|
|
22
|
+
}
|
|
23
|
+
return this.props.children;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function formatNumber(n) {
|
|
27
|
+
if (!isFinite(n))
|
|
28
|
+
return String(n);
|
|
29
|
+
const abs = Math.abs(n);
|
|
30
|
+
if (abs >= 1_000_000_000)
|
|
31
|
+
return (n / 1_000_000_000).toFixed(1) + 'B';
|
|
32
|
+
if (abs >= 1_000_000)
|
|
33
|
+
return (n / 1_000_000).toFixed(1) + 'M';
|
|
34
|
+
if (abs >= 1_000)
|
|
35
|
+
return (n / 1_000).toFixed(1) + 'K';
|
|
36
|
+
return n.toLocaleString();
|
|
37
|
+
}
|
|
38
|
+
// Memoized chart component to prevent unnecessary re-renders
|
|
39
|
+
export const AgentChart = memo(function AgentChart({ spec }) {
|
|
40
|
+
const { chart, title, description, data, xKey, series, yAxis, options, nameKey, valueKey, yKey, zKey: _zKey, axisKey, dataKey, } = spec;
|
|
41
|
+
const [isExporting, setIsExporting] = useState(false);
|
|
42
|
+
const [isCopied, setIsCopied] = useState(false);
|
|
43
|
+
const chartRef = useRef(null);
|
|
44
|
+
const handleCopy = useCallback(async () => {
|
|
45
|
+
if (!chartRef.current || isCopied)
|
|
46
|
+
return;
|
|
47
|
+
try {
|
|
48
|
+
const dataUrl = await toPng(chartRef.current, {
|
|
49
|
+
backgroundColor: '#ffffff',
|
|
50
|
+
pixelRatio: 2,
|
|
51
|
+
});
|
|
52
|
+
const response = await fetch(dataUrl);
|
|
53
|
+
const blob = await response.blob();
|
|
54
|
+
await navigator.clipboard.write([
|
|
55
|
+
new ClipboardItem({ 'image/png': blob })
|
|
56
|
+
]);
|
|
57
|
+
setIsCopied(true);
|
|
58
|
+
setTimeout(() => setIsCopied(false), 2000);
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
console.error('Failed to copy chart:', err);
|
|
62
|
+
}
|
|
63
|
+
}, [isCopied]);
|
|
64
|
+
const handleExport = useCallback(async () => {
|
|
65
|
+
if (!chartRef.current || isExporting)
|
|
66
|
+
return;
|
|
67
|
+
setIsExporting(true);
|
|
68
|
+
try {
|
|
69
|
+
const dataUrl = await toPng(chartRef.current, {
|
|
70
|
+
backgroundColor: '#ffffff',
|
|
71
|
+
pixelRatio: 2,
|
|
72
|
+
});
|
|
73
|
+
const link = document.createElement('a');
|
|
74
|
+
link.download = `${title || 'chart'}.png`;
|
|
75
|
+
link.href = dataUrl;
|
|
76
|
+
link.click();
|
|
77
|
+
}
|
|
78
|
+
catch (err) {
|
|
79
|
+
console.error('Failed to export chart:', err);
|
|
80
|
+
}
|
|
81
|
+
finally {
|
|
82
|
+
setIsExporting(false);
|
|
83
|
+
}
|
|
84
|
+
}, [title, isExporting]);
|
|
85
|
+
// Safe arrays - default to empty array if undefined
|
|
86
|
+
const safeSeries = series || [];
|
|
87
|
+
const safeData = data || [];
|
|
88
|
+
const commonAxes = (_jsxs(_Fragment, { children: [_jsx(XAxis, { dataKey: xKey, tick: { fontSize: 12 } }), _jsx(YAxis, { yAxisId: "left", tickFormatter: formatNumber, label: yAxis?.left?.label ? { value: yAxis.left.label, angle: -90, position: 'insideLeft' } : undefined }), safeSeries.some((s) => s.yAxisId === 'right') && (_jsx(YAxis, { yAxisId: "right", orientation: "right", tickFormatter: formatNumber, label: yAxis?.right?.label ? { value: yAxis.right.label, angle: -90, position: 'insideRight' } : undefined }))] }));
|
|
89
|
+
const commonOverlays = (_jsxs(_Fragment, { children: [_jsx(CartesianGrid, { strokeDasharray: "3 3" }), _jsx(Tooltip, { formatter: (value) => (typeof value === 'number' ? formatNumber(value) : String(value)) }), _jsx(Legend, {}), options?.referenceZero && _jsx(ReferenceLine, { y: 0, stroke: "#999", strokeDasharray: "3 3" })] }));
|
|
90
|
+
const renderSeries = () => safeSeries.map((s, idx) => {
|
|
91
|
+
const color = s.color || COLORS[idx % COLORS.length];
|
|
92
|
+
const yAxisId = s.yAxisId || 'left';
|
|
93
|
+
if (chart === 'line') {
|
|
94
|
+
return (_jsx(Line, { type: "monotone", dataKey: s.key, name: s.label || s.key, stroke: color, dot: s.dot ?? false, yAxisId: yAxisId }, s.key));
|
|
95
|
+
}
|
|
96
|
+
if (chart === 'area') {
|
|
97
|
+
return (_jsx(Area, { type: "monotone", dataKey: s.key, name: s.label || s.key, stroke: color, fill: color, fillOpacity: 0.3, stackId: options?.stacked ? (s.stackId || 'stack') : undefined, yAxisId: yAxisId }, s.key));
|
|
98
|
+
}
|
|
99
|
+
if (chart === 'bar' || s.type === 'bar') {
|
|
100
|
+
return (_jsx(Bar, { dataKey: s.key, name: s.label || s.key, fill: color, stackId: options?.stacked ? (s.stackId || 'stack') : undefined, yAxisId: yAxisId }, s.key));
|
|
101
|
+
}
|
|
102
|
+
if (s.type === 'area') {
|
|
103
|
+
return (_jsx(Area, { type: "monotone", dataKey: s.key, name: s.label || s.key, stroke: color, fill: color, fillOpacity: 0.3, stackId: options?.stacked ? (s.stackId || 'stack') : undefined, yAxisId: yAxisId }, s.key));
|
|
104
|
+
}
|
|
105
|
+
// default to line in composed
|
|
106
|
+
return (_jsx(Line, { type: "monotone", dataKey: s.key, name: s.label || s.key, stroke: color, dot: s.dot ?? false, yAxisId: yAxisId }, s.key));
|
|
107
|
+
});
|
|
108
|
+
// Render Pie Chart
|
|
109
|
+
const renderPieChart = () => {
|
|
110
|
+
const nKey = nameKey || 'name';
|
|
111
|
+
const vKey = valueKey || 'value';
|
|
112
|
+
const innerRadius = options?.innerRadius || 0;
|
|
113
|
+
return (_jsxs(PieChart, { children: [_jsx(Pie, { data: safeData, dataKey: vKey, nameKey: nKey, cx: "50%", cy: "50%", innerRadius: innerRadius, outerRadius: 100, label: options?.showLabels !== false, children: safeData.map((_, index) => (_jsx(Cell, { fill: COLORS[index % COLORS.length] }, `cell-${index}`))) }), _jsx(Tooltip, { formatter: (value) => (typeof value === 'number' ? formatNumber(value) : String(value)) }), _jsx(Legend, {})] }));
|
|
114
|
+
};
|
|
115
|
+
// Render Scatter Chart
|
|
116
|
+
const renderScatterChart = () => {
|
|
117
|
+
const xDataKey = xKey;
|
|
118
|
+
const yDataKey = yKey || 'y';
|
|
119
|
+
return (_jsxs(ScatterChart, { children: [_jsx(CartesianGrid, { strokeDasharray: "3 3" }), _jsx(XAxis, { dataKey: xDataKey, name: xDataKey, tick: { fontSize: 12 } }), _jsx(YAxis, { dataKey: yDataKey, name: yDataKey, tickFormatter: formatNumber }), _jsx(Tooltip, { formatter: (value) => (typeof value === 'number' ? formatNumber(value) : String(value)) }), _jsx(Legend, {}), safeSeries.length > 0 ? (safeSeries.map((s, idx) => (_jsx(Scatter, { name: s.label || s.key, data: safeData, fill: s.color || COLORS[idx % COLORS.length] }, s.key)))) : (_jsx(Scatter, { name: "Data", data: safeData, fill: COLORS[0] }))] }));
|
|
120
|
+
};
|
|
121
|
+
// Render Radar Chart
|
|
122
|
+
const renderRadarChart = () => {
|
|
123
|
+
const aKey = axisKey || xKey || 'axis';
|
|
124
|
+
return (_jsxs(RadarChart, { cx: "50%", cy: "50%", outerRadius: 100, data: safeData, children: [_jsx(PolarGrid, {}), _jsx(PolarAngleAxis, { dataKey: aKey, tick: { fontSize: 11 } }), _jsx(PolarRadiusAxis, { tickFormatter: formatNumber }), safeSeries.map((s, idx) => (_jsx(Radar, { name: s.label || s.key, dataKey: s.key, stroke: s.color || COLORS[idx % COLORS.length], fill: s.color || COLORS[idx % COLORS.length], fillOpacity: 0.3 }, s.key))), _jsx(Tooltip, { formatter: (value) => (typeof value === 'number' ? formatNumber(value) : String(value)) }), _jsx(Legend, {})] }));
|
|
125
|
+
};
|
|
126
|
+
// Render RadialBar Chart
|
|
127
|
+
const renderRadialBarChart = () => {
|
|
128
|
+
const nKey = nameKey || 'name';
|
|
129
|
+
const vKey = valueKey || 'value';
|
|
130
|
+
const startAngle = options?.startAngle ?? 180;
|
|
131
|
+
const endAngle = options?.endAngle ?? 0;
|
|
132
|
+
const innerRadius = options?.innerRadius ?? 30;
|
|
133
|
+
return (_jsxs(RadialBarChart, { cx: "50%", cy: "50%", innerRadius: innerRadius, outerRadius: 100, barSize: 15, data: safeData, startAngle: startAngle, endAngle: endAngle, children: [_jsx(RadialBar, { label: { position: 'insideStart', fill: '#fff', fontSize: 11 }, background: true, dataKey: vKey, children: safeData.map((_, index) => (_jsx(Cell, { fill: COLORS[index % COLORS.length] }, `cell-${index}`))) }), _jsx(Tooltip, { formatter: (value) => (typeof value === 'number' ? formatNumber(value) : String(value)) }), _jsx(Legend, { iconSize: 10, layout: "vertical", verticalAlign: "middle", align: "right", formatter: (value, entry) => {
|
|
134
|
+
const item = safeData.find((d) => d[nKey] === value || d[vKey] === entry.payload?.value);
|
|
135
|
+
return item ? item[nKey] : value;
|
|
136
|
+
} })] }));
|
|
137
|
+
};
|
|
138
|
+
// Render Funnel Chart
|
|
139
|
+
const renderFunnelChart = () => {
|
|
140
|
+
const nKey = nameKey || 'name';
|
|
141
|
+
const vKey = valueKey || 'value';
|
|
142
|
+
return (_jsxs(FunnelChart, { children: [_jsx(Tooltip, { formatter: (value) => (typeof value === 'number' ? formatNumber(value) : String(value)) }), _jsxs(Funnel, { dataKey: vKey, data: safeData, isAnimationActive: true, children: [safeData.map((_, index) => (_jsx(Cell, { fill: COLORS[index % COLORS.length] }, `cell-${index}`))), options?.showLabels !== false && (_jsx(LabelList, { position: "center", fill: "#fff", stroke: "none", dataKey: nKey }))] })] }));
|
|
143
|
+
};
|
|
144
|
+
// Render Treemap
|
|
145
|
+
const renderTreemap = () => {
|
|
146
|
+
const dKey = dataKey || valueKey || 'value';
|
|
147
|
+
return (_jsx(Treemap, { data: safeData, dataKey: dKey, aspectRatio: 4 / 3, stroke: "#fff", fill: "#4f46e5", content: ({ x, y, width, height, name, value, index }) => {
|
|
148
|
+
const fill = COLORS[index % COLORS.length];
|
|
149
|
+
return (_jsxs("g", { children: [_jsx("rect", { x: x, y: y, width: width, height: height, style: { fill, stroke: '#fff', strokeWidth: 2 } }), width > 50 && height > 30 && (_jsxs(_Fragment, { children: [_jsx("text", { x: x + width / 2, y: y + height / 2 - 7, textAnchor: "middle", fill: "#fff", fontSize: 12, children: name }), _jsx("text", { x: x + width / 2, y: y + height / 2 + 10, textAnchor: "middle", fill: "#fff", fontSize: 11, children: formatNumber(value) })] }))] }));
|
|
150
|
+
} }));
|
|
151
|
+
};
|
|
152
|
+
// Render chart based on type
|
|
153
|
+
const renderChart = () => {
|
|
154
|
+
switch (chart) {
|
|
155
|
+
case 'bar':
|
|
156
|
+
return (_jsxs(BarChart, { data: safeData, children: [commonAxes, commonOverlays, renderSeries()] }));
|
|
157
|
+
case 'line':
|
|
158
|
+
return (_jsxs(LineChart, { data: safeData, children: [commonAxes, commonOverlays, renderSeries()] }));
|
|
159
|
+
case 'area':
|
|
160
|
+
return (_jsxs(AreaChart, { data: safeData, children: [commonAxes, commonOverlays, renderSeries()] }));
|
|
161
|
+
case 'composed':
|
|
162
|
+
return (_jsxs(ComposedChart, { data: safeData, children: [commonAxes, commonOverlays, renderSeries()] }));
|
|
163
|
+
case 'pie':
|
|
164
|
+
return renderPieChart();
|
|
165
|
+
case 'scatter':
|
|
166
|
+
return renderScatterChart();
|
|
167
|
+
case 'radar':
|
|
168
|
+
return renderRadarChart();
|
|
169
|
+
case 'radialBar':
|
|
170
|
+
return renderRadialBarChart();
|
|
171
|
+
case 'funnel':
|
|
172
|
+
return renderFunnelChart();
|
|
173
|
+
case 'treemap':
|
|
174
|
+
return renderTreemap();
|
|
175
|
+
default:
|
|
176
|
+
return (_jsxs(ComposedChart, { data: safeData, children: [commonAxes, commonOverlays, renderSeries()] }));
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
return (_jsx("div", { className: "bg-white dark:bg-gray-900 rounded-lg border border-gray-200 dark:border-gray-800 shadow-sm", children: _jsxs("div", { className: "flex flex-col gap-2 p-3", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "font-medium text-sm text-gray-900 dark:text-gray-100", children: title || 'Chart' }), _jsxs("div", { className: "flex items-center gap-2 print:hidden chart-actions", children: [_jsxs("button", { onClick: handleCopy, disabled: isCopied, className: "text-xs px-2 py-1 rounded border border-gray-300 dark:border-gray-700 bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700 cursor-pointer transition-colors disabled:opacity-50 flex items-center gap-1", title: "Copy to clipboard", children: [isCopied ? _jsx(Check, { className: "w-3 h-3" }) : _jsx(Copy, { className: "w-3 h-3" }), isCopied ? 'Copied' : 'Copy'] }), _jsxs("button", { onClick: handleExport, disabled: isExporting, className: "text-xs px-2 py-1 rounded border border-gray-300 dark:border-gray-700 bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700 cursor-pointer transition-colors disabled:opacity-50 disabled:cursor-not-allowed flex items-center gap-1", title: "Export as PNG", children: [_jsx(Download, { className: "w-3 h-3" }), isExporting ? 'Exporting...' : 'Export'] })] })] }), description && (_jsx("span", { className: "text-xs text-gray-500 dark:text-gray-400", children: description })), _jsx("div", { ref: chartRef, className: "bg-white dark:bg-gray-900 rounded", style: { width: '100%', height: 280, minWidth: 0 }, children: _jsx(ChartErrorBoundary, { chartType: chart, children: _jsx(ResponsiveContainer, { width: "100%", height: "100%", children: renderChart() }) }) })] }) }));
|
|
180
|
+
}, (prevProps, nextProps) => {
|
|
181
|
+
// Deep compare the spec to prevent re-renders when data hasn't changed
|
|
182
|
+
return JSON.stringify(prevProps.spec) === JSON.stringify(nextProps.spec);
|
|
183
|
+
});
|
|
184
|
+
//# sourceMappingURL=AgentChart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentChart.js","sourceRoot":"","sources":["../../../../../src/features/agent/chat/AgentChart.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAkC,MAAM,OAAO,CAAC;AACvG,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EACH,mBAAmB,EACnB,QAAQ,EACR,SAAS,EACT,aAAa,EACb,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,cAAc,EACd,WAAW,EACX,OAAO,EACP,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,OAAO,EACP,KAAK,EACL,SAAS,EACT,MAAM,EACN,SAAS,EACT,SAAS,EACT,cAAc,EACd,eAAe,EACf,KAAK,EACL,KAAK,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,aAAa,GAChB,MAAM,UAAU,CAAC;AAElB,mCAAmC;AACnC,MAAM,MAAM,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAaxG,MAAM,kBAAmB,SAAQ,SAA2D;IACxF,YAAY,KAA8B;QACtC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,CAAC,wBAAwB,CAAC,KAAY;QACxC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACrC,CAAC;IAED,iBAAiB,CAAC,KAAY,EAAE,SAAoB;QAChD,OAAO,CAAC,KAAK,CAAC,0BAA0B,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACxF,CAAC;IAED,MAAM;QACF,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,CACH,cAAK,SAAS,EAAC,kFAAkF,YAC7F,eAAK,SAAS,EAAC,aAAa,aACxB,aAAG,SAAS,EAAC,oDAAoD,+BAC9C,IAAI,CAAC,KAAK,CAAC,SAAS,cACnC,EACJ,YAAG,SAAS,EAAC,+DAA+D,YACvE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,GAC7C,IACF,GACJ,CACT,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC/B,CAAC;CACJ;AAiDD,SAAS,YAAY,CAAC,CAAS;IAC3B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,GAAG,IAAI,aAAa;QAAE,OAAO,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACtE,IAAI,GAAG,IAAI,SAAS;QAAE,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC9D,IAAI,GAAG,IAAI,KAAK;QAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACtD,OAAO,CAAC,CAAC,cAAc,EAAE,CAAC;AAC9B,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,UAAU,CAAC,EAAE,IAAI,EAAmB;IACxE,MAAM,EACF,KAAK,EACL,KAAK,EACL,WAAW,EACX,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,IAAI,EAAE,KAAK,EACX,OAAO,EACP,OAAO,GACV,GAAG,IAAI,CAAC;IACT,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ;YAAE,OAAO;QAE1C,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC1C,eAAe,EAAE,SAAS;gBAC1B,UAAU,EAAE,CAAC;aAChB,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC5B,IAAI,aAAa,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;aAC3C,CAAC,CAAC;YACH,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAChD,CAAC;IACL,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACxC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,WAAW;YAAE,OAAO;QAE7C,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC1C,eAAe,EAAE,SAAS;gBAC1B,UAAU,EAAE,CAAC;aAChB,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,GAAG,GAAG,KAAK,IAAI,OAAO,MAAM,CAAC;YAC1C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;YACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACP,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAEzB,oDAAoD;IACpD,MAAM,UAAU,GAAG,MAAM,IAAI,EAAE,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;IAE5B,MAAM,UAAU,GAAG,CACf,8BACI,KAAC,KAAK,IAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,EAChD,KAAC,KAAK,IACF,OAAO,EAAC,MAAM,EACd,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,GACzG,EACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAC9C,KAAC,KAAK,IACF,OAAO,EAAC,OAAO,EACf,WAAW,EAAC,OAAO,EACnB,aAAa,EAAE,YAAY,EAC3B,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,GAC5G,CACL,IACF,CACN,CAAC;IAEF,MAAM,cAAc,GAAG,CACnB,8BACI,KAAC,aAAa,IAAC,eAAe,EAAC,KAAK,GAAG,EACvC,KAAC,OAAO,IAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAI,EACpG,KAAC,MAAM,KAAG,EACT,OAAO,EAAE,aAAa,IAAI,KAAC,aAAa,IAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAC,MAAM,EAAC,eAAe,EAAC,KAAK,GAAG,IACvF,CACN,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE,CACtB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC;QACpC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACnB,OAAO,CACH,KAAC,IAAI,IAED,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,CAAC,CAAC,GAAG,EACd,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EACtB,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,KAAK,EACnB,OAAO,EAAE,OAAO,IANX,CAAC,CAAC,GAAG,CAOZ,CACL,CAAC;QACN,CAAC;QACD,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACnB,OAAO,CACH,KAAC,IAAI,IAED,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,CAAC,CAAC,GAAG,EACd,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EACtB,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,KAAK,EACX,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAC9D,OAAO,EAAE,OAAO,IARX,CAAC,CAAC,GAAG,CASZ,CACL,CAAC;QACN,CAAC;QACD,IAAI,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACtC,OAAO,CACH,KAAC,GAAG,IAEA,OAAO,EAAE,CAAC,CAAC,GAAG,EACd,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EACtB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAC9D,OAAO,EAAE,OAAO,IALX,CAAC,CAAC,GAAG,CAMZ,CACL,CAAC;QACN,CAAC;QACD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,OAAO,CACH,KAAC,IAAI,IAED,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,CAAC,CAAC,GAAG,EACd,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EACtB,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,KAAK,EACX,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAC9D,OAAO,EAAE,OAAO,IARX,CAAC,CAAC,GAAG,CASZ,CACL,CAAC;QACN,CAAC;QACD,8BAA8B;QAC9B,OAAO,CACH,KAAC,IAAI,IAED,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,CAAC,CAAC,GAAG,EACd,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EACtB,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,KAAK,EACnB,OAAO,EAAE,OAAO,IANX,CAAC,CAAC,GAAG,CAOZ,CACL,CAAC;IACN,CAAC,CAAC,CAAC;IAEP,mBAAmB;IACnB,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,MAAM,IAAI,GAAG,OAAO,IAAI,MAAM,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,IAAI,OAAO,CAAC;QACjC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC;QAC9C,OAAO,CACH,MAAC,QAAQ,eACL,KAAC,GAAG,IACA,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,EACb,EAAE,EAAC,KAAK,EACR,EAAE,EAAC,KAAK,EACR,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,GAAG,EAChB,KAAK,EAAE,OAAO,EAAE,UAAU,KAAK,KAAK,YAEnC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,KAAC,IAAI,IAAuB,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAApD,QAAQ,KAAK,EAAE,CAAyC,CACtE,CAAC,GACA,EACN,KAAC,OAAO,IAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAI,EACpG,KAAC,MAAM,KAAG,IACH,CACd,CAAC;IACN,CAAC,CAAC;IAEF,uBAAuB;IACvB,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,IAAI,GAAG,CAAC;QAC7B,OAAO,CACH,MAAC,YAAY,eACT,KAAC,aAAa,IAAC,eAAe,EAAC,KAAK,GAAG,EACvC,KAAC,KAAK,IAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,EACpE,KAAC,KAAK,IAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,GAAI,EACzE,KAAC,OAAO,IAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAI,EACpG,KAAC,MAAM,KAAG,EACT,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACrB,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACvB,KAAC,OAAO,IAEJ,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EACtB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAHvC,CAAC,CAAC,GAAG,CAIZ,CACL,CAAC,CACL,CAAC,CAAC,CAAC,CACA,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAI,CAC3D,IACU,CAClB,CAAC;IACN,CAAC,CAAC;IAEF,qBAAqB;IACrB,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI,IAAI,MAAM,CAAC;QACvC,OAAO,CACH,MAAC,UAAU,IAAC,EAAE,EAAC,KAAK,EAAC,EAAE,EAAC,KAAK,EAAC,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,aAC1D,KAAC,SAAS,KAAG,EACb,KAAC,cAAc,IAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI,EACzD,KAAC,eAAe,IAAC,aAAa,EAAE,YAAY,GAAI,EAC/C,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CACxB,KAAC,KAAK,IAEF,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,EACtB,OAAO,EAAE,CAAC,CAAC,GAAG,EACd,MAAM,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAC9C,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAC5C,WAAW,EAAE,GAAG,IALX,CAAC,CAAC,GAAG,CAMZ,CACL,CAAC,EACF,KAAC,OAAO,IAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAI,EACpG,KAAC,MAAM,KAAG,IACD,CAChB,CAAC;IACN,CAAC,CAAC;IAEF,yBAAyB;IACzB,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAC9B,MAAM,IAAI,GAAG,OAAO,IAAI,MAAM,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,IAAI,OAAO,CAAC;QACjC,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,GAAG,CAAC;QAC9C,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC;QACxC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;QAC/C,OAAO,CACH,MAAC,cAAc,IACX,EAAE,EAAC,KAAK,EACR,EAAE,EAAC,KAAK,EACR,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,EAAE,EACX,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,aAElB,KAAC,SAAS,IACN,KAAK,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,EAC9D,UAAU,QACV,OAAO,EAAE,IAAI,YAEZ,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,KAAC,IAAI,IAAuB,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAApD,QAAQ,KAAK,EAAE,CAAyC,CACtE,CAAC,GACM,EACZ,KAAC,OAAO,IAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAI,EACpG,KAAC,MAAM,IACH,QAAQ,EAAE,EAAE,EACZ,MAAM,EAAC,UAAU,EACjB,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAC,OAAO,EACb,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;wBACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBACzF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBACrC,CAAC,GACH,IACW,CACpB,CAAC;IACN,CAAC,CAAC;IAEF,sBAAsB;IACtB,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC3B,MAAM,IAAI,GAAG,OAAO,IAAI,MAAM,CAAC;QAC/B,MAAM,IAAI,GAAG,QAAQ,IAAI,OAAO,CAAC;QACjC,OAAO,CACH,MAAC,WAAW,eACR,KAAC,OAAO,IAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAI,EACpG,MAAC,MAAM,IAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,mBACnD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CACxB,KAAC,IAAI,IAAuB,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAApD,QAAQ,KAAK,EAAE,CAAyC,CACtE,CAAC,EACD,OAAO,EAAE,UAAU,KAAK,KAAK,IAAI,CAC9B,KAAC,SAAS,IAAC,QAAQ,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAE,IAAI,GAAI,CAC3E,IACI,IACC,CACjB,CAAC;IACN,CAAC,CAAC;IAEF,iBAAiB;IACjB,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,MAAM,IAAI,GAAG,OAAO,IAAI,QAAQ,IAAI,OAAO,CAAC;QAC5C,OAAO,CACH,KAAC,OAAO,IACJ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,IAAI,EACb,WAAW,EAAE,CAAC,GAAG,CAAC,EAClB,MAAM,EAAC,MAAM,EACb,IAAI,EAAC,SAAS,EACd,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBACrD,MAAM,IAAI,GAAG,MAAM,CAAE,KAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBACvD,OAAO,CACH,wBACI,eACI,CAAC,EAAE,CAAC,EACJ,CAAC,EAAE,CAAC,EACJ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,GACjD,EACA,KAAgB,GAAG,EAAE,IAAK,MAAiB,GAAG,EAAE,IAAI,CAClD,8BACI,eACI,CAAC,EAAG,CAAY,GAAI,KAAgB,GAAG,CAAC,EACxC,CAAC,EAAG,CAAY,GAAI,MAAiB,GAAG,CAAC,GAAG,CAAC,EAC7C,UAAU,EAAC,QAAQ,EACnB,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,EAAE,YAEX,IAAI,GACF,EACP,eACI,CAAC,EAAG,CAAY,GAAI,KAAgB,GAAG,CAAC,EACxC,CAAC,EAAG,CAAY,GAAI,MAAiB,GAAG,CAAC,GAAG,EAAE,EAC9C,UAAU,EAAC,QAAQ,EACnB,IAAI,EAAC,MAAM,EACX,QAAQ,EAAE,EAAE,YAEX,YAAY,CAAC,KAAe,CAAC,GAC3B,IACR,CACN,IACD,CACP,CAAC;YACN,CAAC,GACH,CACL,CAAC;IACN,CAAC,CAAC;IAEF,6BAA6B;IAC7B,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,QAAQ,KAAK,EAAE,CAAC;YACZ,KAAK,KAAK;gBACN,OAAO,CACH,MAAC,QAAQ,IAAC,IAAI,EAAE,QAAQ,aACnB,UAAU,EACV,cAAc,EACd,YAAY,EAAE,IACR,CACd,CAAC;YACN,KAAK,MAAM;gBACP,OAAO,CACH,MAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,aACpB,UAAU,EACV,cAAc,EACd,YAAY,EAAE,IACP,CACf,CAAC;YACN,KAAK,MAAM;gBACP,OAAO,CACH,MAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,aACpB,UAAU,EACV,cAAc,EACd,YAAY,EAAE,IACP,CACf,CAAC;YACN,KAAK,UAAU;gBACX,OAAO,CACH,MAAC,aAAa,IAAC,IAAI,EAAE,QAAQ,aACxB,UAAU,EACV,cAAc,EACd,YAAY,EAAE,IACH,CACnB,CAAC;YACN,KAAK,KAAK;gBACN,OAAO,cAAc,EAAE,CAAC;YAC5B,KAAK,SAAS;gBACV,OAAO,kBAAkB,EAAE,CAAC;YAChC,KAAK,OAAO;gBACR,OAAO,gBAAgB,EAAE,CAAC;YAC9B,KAAK,WAAW;gBACZ,OAAO,oBAAoB,EAAE,CAAC;YAClC,KAAK,QAAQ;gBACT,OAAO,iBAAiB,EAAE,CAAC;YAC/B,KAAK,SAAS;gBACV,OAAO,aAAa,EAAE,CAAC;YAC3B;gBACI,OAAO,CACH,MAAC,aAAa,IAAC,IAAI,EAAE,QAAQ,aACxB,UAAU,EACV,cAAc,EACd,YAAY,EAAE,IACH,CACnB,CAAC;QACV,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAC,4FAA4F,YACvG,eAAK,SAAS,EAAC,yBAAyB,aACpC,eAAK,SAAS,EAAC,mCAAmC,aAC9C,eAAM,SAAS,EAAC,sDAAsD,YACjE,KAAK,IAAI,OAAO,GACd,EACP,eAAK,SAAS,EAAC,oDAAoD,aAC/D,kBACI,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,2PAA2P,EACrQ,KAAK,EAAC,mBAAmB,aAExB,QAAQ,CAAC,CAAC,CAAC,KAAC,KAAK,IAAC,SAAS,EAAC,SAAS,GAAG,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAG,EACvE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IACxB,EACT,kBACI,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,WAAW,EACrB,SAAS,EAAC,uRAAuR,EACjS,KAAK,EAAC,eAAe,aAErB,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,GAAG,EAC/B,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,IACnC,IACP,IACJ,EACL,WAAW,IAAI,CACZ,eAAM,SAAS,EAAC,0CAA0C,YACrD,WAAW,GACT,CACV,EACD,cAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAC,mCAAmC,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,YAChH,KAAC,kBAAkB,IAAC,SAAS,EAAE,KAAK,YAChC,KAAC,mBAAmB,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,YAC1C,WAAW,EAAE,GACI,GACL,GACnB,IACJ,GACJ,CACT,CAAC;AACN,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE;IACxB,uEAAuE;IACvE,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { useEffect, useMemo, useRef, useState } from "react";
|
|
|
3
3
|
import { Bot, Cpu, SendIcon, XIcon } from "lucide-react";
|
|
4
4
|
import { useUserSession } from "@vertesia/ui/session";
|
|
5
5
|
import { AgentMessageType } from "@vertesia/common";
|
|
6
|
-
import { Button, MessageBox, Spinner, useToast } from "@vertesia/ui/core";
|
|
6
|
+
import { Button, MessageBox, Spinner, useToast, VModal, VModalBody, VModalFooter, VModalTitle } from "@vertesia/ui/core";
|
|
7
7
|
import { AnimatedThinkingDots, PulsatingCircle } from "./AnimatedThinkingDots";
|
|
8
8
|
import AllMessagesMixed from "./ModernAgentOutput/AllMessagesMixed";
|
|
9
9
|
import Header from "./ModernAgentOutput/Header";
|
|
@@ -11,6 +11,42 @@ import MessageInput from "./ModernAgentOutput/MessageInput";
|
|
|
11
11
|
import { getWorkstreamId, insertMessageInTimeline, isInProgress } from "./ModernAgentOutput/utils";
|
|
12
12
|
import { ThinkingMessages } from "./WaitingMessages";
|
|
13
13
|
import InlineSlidingPlanPanel from "./ModernAgentOutput/InlineSlidingPlanPanel";
|
|
14
|
+
function printElementToPdf(sourceElement, title) {
|
|
15
|
+
if (typeof window === "undefined" || typeof document === "undefined") {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
// Use a hidden iframe to avoid opening a new window
|
|
19
|
+
const iframe = document.createElement("iframe");
|
|
20
|
+
iframe.style.position = "fixed";
|
|
21
|
+
iframe.style.right = "0";
|
|
22
|
+
iframe.style.bottom = "0";
|
|
23
|
+
iframe.style.width = "0";
|
|
24
|
+
iframe.style.height = "0";
|
|
25
|
+
iframe.style.border = "0";
|
|
26
|
+
iframe.style.visibility = "hidden";
|
|
27
|
+
document.body.appendChild(iframe);
|
|
28
|
+
const iframeWindow = iframe.contentWindow;
|
|
29
|
+
if (!iframeWindow) {
|
|
30
|
+
iframe.parentNode?.removeChild(iframe);
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
const doc = iframeWindow.document;
|
|
34
|
+
doc.open();
|
|
35
|
+
doc.write(`<!doctype html><html><head><title>${title}</title></head><body></body></html>`);
|
|
36
|
+
doc.close();
|
|
37
|
+
doc.title = title;
|
|
38
|
+
const styles = document.querySelectorAll("link[rel=\"stylesheet\"], style");
|
|
39
|
+
styles.forEach((node) => {
|
|
40
|
+
doc.head.appendChild(node.cloneNode(true));
|
|
41
|
+
});
|
|
42
|
+
doc.body.innerHTML = sourceElement.innerHTML;
|
|
43
|
+
iframeWindow.focus();
|
|
44
|
+
iframeWindow.print();
|
|
45
|
+
setTimeout(() => {
|
|
46
|
+
iframe.parentNode?.removeChild(iframe);
|
|
47
|
+
}, 1000);
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
14
50
|
export function ModernAgentConversation(props) {
|
|
15
51
|
const { run, startWorkflow } = props;
|
|
16
52
|
if (run) {
|
|
@@ -107,9 +143,9 @@ function StartWorkflowView({ initialMessage, startWorkflow, onClose, isModal = f
|
|
|
107
143
|
function ModernAgentConversationInner({ run, title, interactive = true, onClose, isModal = false, placeholder = "Type your message...", resetWorkflow, }) {
|
|
108
144
|
const { client } = useUserSession();
|
|
109
145
|
const bottomRef = useRef(null);
|
|
146
|
+
const conversationRef = useRef(null);
|
|
110
147
|
const [messages, setMessages] = useState([]);
|
|
111
148
|
const [isCompleted, setIsCompleted] = useState(false);
|
|
112
|
-
const [inputValue, setInputValue] = useState("");
|
|
113
149
|
const [isSending, setIsSending] = useState(false);
|
|
114
150
|
const [viewMode, setViewMode] = useState("sliding");
|
|
115
151
|
const [showSlidingPanel, setShowSlidingPanel] = useState(!isModal);
|
|
@@ -304,15 +340,14 @@ function ModernAgentConversationInner({ run, title, interactive = true, onClose,
|
|
|
304
340
|
}
|
|
305
341
|
}, [messages, plans, activePlanIndex]);
|
|
306
342
|
// Send a message to the agent
|
|
307
|
-
const handleSendMessage = () => {
|
|
308
|
-
const
|
|
309
|
-
if (!
|
|
343
|
+
const handleSendMessage = (message) => {
|
|
344
|
+
const trimmed = message.trim();
|
|
345
|
+
if (!trimmed || isSending)
|
|
310
346
|
return;
|
|
311
347
|
setIsSending(true);
|
|
312
|
-
setInputValue("");
|
|
313
348
|
client.store.workflows
|
|
314
349
|
.sendSignal(run.workflowId, run.runId, "UserInput", {
|
|
315
|
-
message,
|
|
350
|
+
message: trimmed,
|
|
316
351
|
})
|
|
317
352
|
.then(() => {
|
|
318
353
|
setIsCompleted(false);
|
|
@@ -388,13 +423,55 @@ function ModernAgentConversationInner({ run, title, interactive = true, onClose,
|
|
|
388
423
|
duration: 2000,
|
|
389
424
|
});
|
|
390
425
|
};
|
|
391
|
-
|
|
426
|
+
const [isPdfModalOpen, setIsPdfModalOpen] = useState(false);
|
|
427
|
+
const exportConversationPdf = () => {
|
|
428
|
+
if (!conversationRef.current) {
|
|
429
|
+
toast({
|
|
430
|
+
status: "error",
|
|
431
|
+
title: "PDF export failed",
|
|
432
|
+
description: "No conversation content available to export",
|
|
433
|
+
duration: 3000,
|
|
434
|
+
});
|
|
435
|
+
return;
|
|
436
|
+
}
|
|
437
|
+
setIsPdfModalOpen(true);
|
|
438
|
+
};
|
|
439
|
+
const handleConfirmExportPdf = () => {
|
|
440
|
+
if (!conversationRef.current) {
|
|
441
|
+
toast({
|
|
442
|
+
status: "error",
|
|
443
|
+
title: "PDF export failed",
|
|
444
|
+
description: "No conversation content available to export",
|
|
445
|
+
duration: 3000,
|
|
446
|
+
});
|
|
447
|
+
return;
|
|
448
|
+
}
|
|
449
|
+
const pdfTitle = `${actualTitle} - ${run.runId}`;
|
|
450
|
+
const success = printElementToPdf(conversationRef.current, pdfTitle);
|
|
451
|
+
if (!success) {
|
|
452
|
+
toast({
|
|
453
|
+
status: "error",
|
|
454
|
+
title: "PDF export failed",
|
|
455
|
+
description: "Unable to open print preview",
|
|
456
|
+
duration: 4000,
|
|
457
|
+
});
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
460
|
+
toast({
|
|
461
|
+
status: "success",
|
|
462
|
+
title: "PDF export ready",
|
|
463
|
+
description: "Use your browser's Print dialog to save as PDF",
|
|
464
|
+
duration: 4000,
|
|
465
|
+
});
|
|
466
|
+
setIsPdfModalOpen(false);
|
|
467
|
+
};
|
|
468
|
+
return (_jsxs("div", { className: "flex gap-2 h-full", children: [_jsxs("div", { ref: conversationRef, className: `flex flex-col h-full min-h-0 border-0 ${showSlidingPanel ? 'lg:w-2/3 flex-1' : `flex-1 mx-auto ${!isModal ? 'max-w-4xl' : ''}`}`, children: [_jsx(Header, { title: actualTitle, isCompleted: isCompleted, onClose: onClose, isModal: isModal, run: run, viewMode: viewMode, onViewModeChange: setViewMode, showPlanPanel: showSlidingPanel, hasPlan: plans.length > 0, onTogglePlanPanel: () => {
|
|
392
469
|
setShowSlidingPanel(!showSlidingPanel);
|
|
393
470
|
// When opening the plan panel, mark that we've shown it
|
|
394
471
|
if (!showSlidingPanel) {
|
|
395
472
|
sessionStorage.setItem("plan-panel-shown", "true");
|
|
396
473
|
}
|
|
397
|
-
}, onDownload: downloadConversation, onCopyRunId: copyRunId, resetWorkflow: resetWorkflow }), messages.length === 0 && !isCompleted ? (_jsx("div", { className: "flex-1 flex flex-col items-center justify-center h-full text-center py-6", children: _jsxs("div", { className: "p-5 max-w-md border border-info rounded-lg shadow-sm", children: [_jsxs("div", { className: "flex items-center space-x-3 mb-3", children: [_jsx(PulsatingCircle, { size: "sm", color: "blue" }), _jsx("div", { className: "text-sm text-muted font-medium", children: ThinkingMessages[thinkingMessageIndex] })] }), _jsx("div", { className: "mt-4 flex justify-center", children: _jsx(AnimatedThinkingDots, { color: "blue", className: "mt-1" }) })] }) })) : (_jsx(AllMessagesMixed, { messages: messages, bottomRef: bottomRef, viewMode: viewMode, isCompleted: isCompleted, plan: getActivePlan.plan, workstreamStatus: getActivePlan.workstreamStatus, showPlanPanel: showSlidingPanel, onTogglePlanPanel: () => {
|
|
474
|
+
}, onDownload: downloadConversation, onCopyRunId: copyRunId, resetWorkflow: resetWorkflow, onExportPdf: exportConversationPdf }), messages.length === 0 && !isCompleted ? (_jsx("div", { className: "flex-1 flex flex-col items-center justify-center h-full text-center py-6", children: _jsxs("div", { className: "p-5 max-w-md border border-info rounded-lg shadow-sm", children: [_jsxs("div", { className: "flex items-center space-x-3 mb-3", children: [_jsx(PulsatingCircle, { size: "sm", color: "blue" }), _jsx("div", { className: "text-sm text-muted font-medium", children: ThinkingMessages[thinkingMessageIndex] })] }), _jsx("div", { className: "mt-4 flex justify-center", children: _jsx(AnimatedThinkingDots, { color: "blue", className: "mt-1" }) })] }) })) : (_jsx(AllMessagesMixed, { messages: messages, bottomRef: bottomRef, viewMode: viewMode, isCompleted: isCompleted, plan: getActivePlan.plan, workstreamStatus: getActivePlan.workstreamStatus, showPlanPanel: showSlidingPanel, onTogglePlanPanel: () => {
|
|
398
475
|
console.log("Toggle plan panel called, current state:", showSlidingPanel);
|
|
399
476
|
setShowSlidingPanel(!showSlidingPanel);
|
|
400
477
|
}, plans: plans, activePlanIndex: activePlanIndex, onChangePlan: (index) => setActivePlanIndex(index), taskLabels: getActivePlan.plan.plan?.reduce((acc, task) => {
|
|
@@ -402,7 +479,7 @@ function ModernAgentConversationInner({ run, title, interactive = true, onClose,
|
|
|
402
479
|
acc.set(task.id.toString(), task.goal);
|
|
403
480
|
}
|
|
404
481
|
return acc;
|
|
405
|
-
}, new Map()) })), workflowStatus && (workflowStatus !== "RUNNING" ? (_jsxs(MessageBox, { status: workflowStatus === "COMPLETED" ? 'success' : 'done', icon: null, className: "flex-shrink-0 m-2", children: ["This Workflow is ", workflowStatus] })) : showInput && (_jsx(MessageInput, {
|
|
482
|
+
}, new Map()) })), workflowStatus && (workflowStatus !== "RUNNING" ? (_jsxs(MessageBox, { status: workflowStatus === "COMPLETED" ? 'success' : 'done', icon: null, className: "flex-shrink-0 m-2", children: ["This Workflow is ", workflowStatus] })) : showInput && (_jsx(MessageInput, { onSend: handleSendMessage, disabled: false, isSending: isSending, isCompleted: isCompleted, activeTaskCount: getActiveTaskCount(), placeholder: placeholder })))] }), showSlidingPanel && (_jsx("div", { className: "h-full lg:w-1/3 border-l", children: _jsx(InlineSlidingPlanPanel, { plan: getActivePlan.plan, workstreamStatus: getActivePlan.workstreamStatus, isOpen: showSlidingPanel, onClose: () => setShowSlidingPanel(false), plans: plans, activePlanIndex: activePlanIndex, onChangePlan: setActivePlanIndex }) })), _jsxs(VModal, { isOpen: isPdfModalOpen, onClose: () => setIsPdfModalOpen(false), children: [_jsx(VModalTitle, { children: "Export conversation as PDF" }), _jsxs(VModalBody, { children: [_jsx("p", { className: "mb-2", children: "This will open your browser's print dialog with the current conversation." }), _jsx("p", { className: "text-sm text-muted", children: "To save a PDF, choose \"Save as PDF\" or a similar option in the print dialog." })] }), _jsxs(VModalFooter, { align: "right", children: [_jsx(Button, { variant: "ghost", size: "sm", onClick: () => setIsPdfModalOpen(false), children: "Cancel" }), _jsx(Button, { size: "sm", onClick: handleConfirmExportPdf, children: "Open print dialog" })] })] })] }));
|
|
406
483
|
}
|
|
407
484
|
// Helper function to get conversation URL - used by other components
|
|
408
485
|
export async function getConversationUrl(vertesia, workflowRunId) {
|