@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
|
@@ -194,7 +194,7 @@ const VTabsBar = ({ className }: { className?: string }) => {
|
|
|
194
194
|
);
|
|
195
195
|
};
|
|
196
196
|
|
|
197
|
-
const VTabsPanel = () => {
|
|
197
|
+
const VTabsPanel = ({ className }: { className?: string }) => {
|
|
198
198
|
const { tabs } = React.useContext(TabsContext);
|
|
199
199
|
|
|
200
200
|
if (!tabs) return null;
|
|
@@ -202,7 +202,7 @@ const VTabsPanel = () => {
|
|
|
202
202
|
return (
|
|
203
203
|
<>
|
|
204
204
|
{tabs.map((tab) => (
|
|
205
|
-
<TabsContent key={tab.name} value={tab.name}>
|
|
205
|
+
<TabsContent key={tab.name} value={tab.name} className={className}>
|
|
206
206
|
{tab.content}
|
|
207
207
|
</TabsContent>
|
|
208
208
|
))}
|
|
@@ -285,6 +285,7 @@ const TabsContent = React.forwardRef<
|
|
|
285
285
|
ref={ref}
|
|
286
286
|
className={cn(
|
|
287
287
|
"focus-visible:outline-none",
|
|
288
|
+
"flex-1 overflow-y-auto min-h-0 pt-2",
|
|
288
289
|
className
|
|
289
290
|
)}
|
|
290
291
|
{...props}
|
package/src/env/index.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { AuthTokenPayload } from "@vertesia/common";
|
|
|
6
6
|
export interface EnvProps {
|
|
7
7
|
name: string; // the app name
|
|
8
8
|
version: string,
|
|
9
|
+
sdkVersion?: string, // the @vertesia/ui package version
|
|
9
10
|
isLocalDev: boolean,
|
|
10
11
|
isDocker: boolean,
|
|
11
12
|
type: "production" | "staging" | "preview" | "development" | string,
|
|
@@ -53,6 +54,10 @@ export class VertesiaEnvironment implements Readonly<EnvProps> {
|
|
|
53
54
|
return this.prop("version");
|
|
54
55
|
}
|
|
55
56
|
|
|
57
|
+
get sdkVersion() {
|
|
58
|
+
return this._props?.sdkVersion;
|
|
59
|
+
}
|
|
60
|
+
|
|
56
61
|
get name() {
|
|
57
62
|
return this.prop("name");
|
|
58
63
|
}
|
|
@@ -66,7 +71,7 @@ export class VertesiaEnvironment implements Readonly<EnvProps> {
|
|
|
66
71
|
}
|
|
67
72
|
|
|
68
73
|
get isStable() {
|
|
69
|
-
return this.type === "production" || this.type === "preview" || this.type === "
|
|
74
|
+
return this.type === "production" || this.type === "preview" || this.type === "disaster-recovery";
|
|
70
75
|
}
|
|
71
76
|
|
|
72
77
|
get isDev() {
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
# Chart Creation Instructions for AI Agents
|
|
2
|
+
|
|
3
|
+
This document provides instructions for AI agents on how to create interactive charts that will be rendered in the UI.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
You can create charts by including a special markdown code block with the language `chart`. The UI will automatically detect and render these as interactive Recharts visualizations.
|
|
8
|
+
|
|
9
|
+
## Basic Format
|
|
10
|
+
|
|
11
|
+
```markdown
|
|
12
|
+
\`\`\`chart
|
|
13
|
+
{
|
|
14
|
+
"version": "1.0",
|
|
15
|
+
"library": "recharts",
|
|
16
|
+
"chart": "bar" | "line" | "composed",
|
|
17
|
+
"title": "Chart Title",
|
|
18
|
+
"description": "Optional description",
|
|
19
|
+
"data": [ /* array of data objects */ ],
|
|
20
|
+
"xKey": "fieldName",
|
|
21
|
+
"series": [ /* array of series configurations */ ],
|
|
22
|
+
"yAxis": { /* optional axis labels */ },
|
|
23
|
+
"options": { /* optional chart options */ }
|
|
24
|
+
}
|
|
25
|
+
\`\`\`
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Chart Types
|
|
29
|
+
|
|
30
|
+
### 1. Bar Chart
|
|
31
|
+
Used for comparing values across categories.
|
|
32
|
+
|
|
33
|
+
```chart
|
|
34
|
+
{
|
|
35
|
+
"version": "1.0",
|
|
36
|
+
"chart": "bar",
|
|
37
|
+
"title": "Revenue by Quarter",
|
|
38
|
+
"data": [
|
|
39
|
+
{ "quarter": "Q1", "revenue": 100000 },
|
|
40
|
+
{ "quarter": "Q2", "revenue": 150000 },
|
|
41
|
+
{ "quarter": "Q3", "revenue": 120000 }
|
|
42
|
+
],
|
|
43
|
+
"xKey": "quarter",
|
|
44
|
+
"series": [
|
|
45
|
+
{ "key": "revenue", "label": "Revenue", "type": "bar" }
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 2. Line Chart
|
|
51
|
+
Used for showing trends over time.
|
|
52
|
+
|
|
53
|
+
```chart
|
|
54
|
+
{
|
|
55
|
+
"version": "1.0",
|
|
56
|
+
"chart": "line",
|
|
57
|
+
"title": "Performance Over Time",
|
|
58
|
+
"data": [
|
|
59
|
+
{ "period": "2024-Q1", "tvpi": 1.2, "dpi": 0.3 },
|
|
60
|
+
{ "period": "2024-Q2", "tvpi": 1.5, "dpi": 0.5 },
|
|
61
|
+
{ "period": "2024-Q3", "tvpi": 1.8, "dpi": 0.7 }
|
|
62
|
+
],
|
|
63
|
+
"xKey": "period",
|
|
64
|
+
"series": [
|
|
65
|
+
{ "key": "tvpi", "label": "TVPI", "color": "#4f46e5", "dot": false },
|
|
66
|
+
{ "key": "dpi", "label": "DPI", "color": "#16a34a", "dot": false }
|
|
67
|
+
],
|
|
68
|
+
"yAxis": {
|
|
69
|
+
"left": { "label": "Multiple (x)" }
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 3. Composed Chart
|
|
75
|
+
Used for mixing bar and line charts (e.g., bars for cashflows, line for net).
|
|
76
|
+
|
|
77
|
+
```chart
|
|
78
|
+
{
|
|
79
|
+
"version": "1.0",
|
|
80
|
+
"chart": "composed",
|
|
81
|
+
"title": "Cashflow Timeline",
|
|
82
|
+
"data": [
|
|
83
|
+
{ "period": "2024-Q1", "calls": 1000000, "distributions": 500000, "netCashflow": -500000 },
|
|
84
|
+
{ "period": "2024-Q2", "calls": 800000, "distributions": 1200000, "netCashflow": 400000 }
|
|
85
|
+
],
|
|
86
|
+
"xKey": "period",
|
|
87
|
+
"series": [
|
|
88
|
+
{ "key": "calls", "label": "Calls", "type": "bar", "color": "#ef4444" },
|
|
89
|
+
{ "key": "distributions", "label": "Distributions", "type": "bar", "color": "#22c55e" },
|
|
90
|
+
{ "key": "netCashflow", "label": "Net CF", "type": "line", "color": "#0ea5e9", "yAxisId": "right", "dot": false }
|
|
91
|
+
],
|
|
92
|
+
"yAxis": {
|
|
93
|
+
"left": { "label": "Amount" },
|
|
94
|
+
"right": { "label": "Net" }
|
|
95
|
+
},
|
|
96
|
+
"options": {
|
|
97
|
+
"referenceZero": true
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Series Configuration
|
|
103
|
+
|
|
104
|
+
Each series can have:
|
|
105
|
+
|
|
106
|
+
- `key`: (required) The field name in the data
|
|
107
|
+
- `label`: Display name for the legend
|
|
108
|
+
- `type`: "bar" or "line" (for composed charts)
|
|
109
|
+
- `color`: Hex color code (e.g., "#4f46e5")
|
|
110
|
+
- `yAxisId`: "left" (default) or "right" for dual Y-axis
|
|
111
|
+
- `stackId`: Group bars for stacking
|
|
112
|
+
- `dot`: true/false - show dots on line charts
|
|
113
|
+
|
|
114
|
+
## Options
|
|
115
|
+
|
|
116
|
+
- `stacked`: true/false - Stack bars in bar charts
|
|
117
|
+
- `referenceZero`: true/false - Show a reference line at y=0
|
|
118
|
+
- `collapsible`: true/false - Allow users to collapse the chart (default: true)
|
|
119
|
+
- `collapseInitially`: true/false - Start in collapsed state
|
|
120
|
+
|
|
121
|
+
## Number Formatting
|
|
122
|
+
|
|
123
|
+
Numbers are automatically formatted:
|
|
124
|
+
- 1,000 → 1K
|
|
125
|
+
- 1,000,000 → 1M
|
|
126
|
+
- 1,000,000,000 → 1B
|
|
127
|
+
|
|
128
|
+
## Pre-built Chart Builders (TypeScript)
|
|
129
|
+
|
|
130
|
+
If you're writing TypeScript code, you can use these helper functions:
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
import {
|
|
134
|
+
buildCashflowComposedChart,
|
|
135
|
+
buildPerformanceLineChart,
|
|
136
|
+
buildScenarioComparisonBarChart,
|
|
137
|
+
toChartMarkdown
|
|
138
|
+
} from '@vertesia/ui/features';
|
|
139
|
+
|
|
140
|
+
// Example: Create a cashflow chart
|
|
141
|
+
const chart = buildCashflowComposedChart({
|
|
142
|
+
title: 'Fund Cashflow',
|
|
143
|
+
rows: [
|
|
144
|
+
{ period: '2024-Q1', calls: 1000000, distributions: 500000 },
|
|
145
|
+
{ period: '2024-Q2', calls: 800000, distributions: 1200000 }
|
|
146
|
+
]
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
// Convert to markdown
|
|
150
|
+
const markdown = toChartMarkdown(chart);
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Available Builders
|
|
154
|
+
|
|
155
|
+
1. `buildCashflowComposedChart` - Calls/Distributions + Net CF
|
|
156
|
+
2. `buildPerformanceLineChart` - TVPI/DPI/RVPI J-curve
|
|
157
|
+
3. `buildScenarioComparisonBarChart` - Side-by-side comparison
|
|
158
|
+
4. `buildScenarioDeltaPercentChart` - % change visualization
|
|
159
|
+
5. `buildTvpiOverlayChart` - TVPI comparison between scenarios
|
|
160
|
+
6. `buildNavLineChart` - NAV over time
|
|
161
|
+
|
|
162
|
+
## Best Practices
|
|
163
|
+
|
|
164
|
+
1. **Use appropriate chart types**:
|
|
165
|
+
- Bar charts for comparisons
|
|
166
|
+
- Line charts for trends
|
|
167
|
+
- Composed charts for mixed metrics
|
|
168
|
+
|
|
169
|
+
2. **Keep data concise**:
|
|
170
|
+
- Limit to 20-30 data points for readability
|
|
171
|
+
- Use aggregation for large datasets
|
|
172
|
+
|
|
173
|
+
3. **Color consistency**:
|
|
174
|
+
- Use the default color palette for consistency
|
|
175
|
+
- Red (#ef4444) for negative/costs
|
|
176
|
+
- Green (#22c55e) for positive/gains
|
|
177
|
+
- Blue (#0ea5e9) for neutral metrics
|
|
178
|
+
|
|
179
|
+
4. **Add context**:
|
|
180
|
+
- Always include a descriptive title
|
|
181
|
+
- Add a description when the chart needs explanation
|
|
182
|
+
- Use axis labels for clarity
|
|
183
|
+
|
|
184
|
+
5. **Dual Y-axis**:
|
|
185
|
+
- Use when comparing metrics with different scales
|
|
186
|
+
- Example: Amount (left) vs Count (right)
|
|
187
|
+
|
|
188
|
+
## Example: Complete Workflow
|
|
189
|
+
|
|
190
|
+
When a user asks "Show me the fund performance":
|
|
191
|
+
|
|
192
|
+
1. Fetch or calculate the data
|
|
193
|
+
2. Format it as a chart spec
|
|
194
|
+
3. Include it in your response:
|
|
195
|
+
|
|
196
|
+
```markdown
|
|
197
|
+
Here's the fund performance over time:
|
|
198
|
+
|
|
199
|
+
\`\`\`chart
|
|
200
|
+
{
|
|
201
|
+
"version": "1.0",
|
|
202
|
+
"chart": "line",
|
|
203
|
+
"title": "Fund Performance",
|
|
204
|
+
"data": [
|
|
205
|
+
{ "period": "2024-Q1", "tvpi": 1.2 },
|
|
206
|
+
{ "period": "2024-Q2", "tvpi": 1.5 }
|
|
207
|
+
],
|
|
208
|
+
"xKey": "period",
|
|
209
|
+
"series": [
|
|
210
|
+
{ "key": "tvpi", "label": "TVPI", "color": "#4f46e5" }
|
|
211
|
+
]
|
|
212
|
+
}
|
|
213
|
+
\`\`\`
|
|
214
|
+
|
|
215
|
+
The fund shows strong performance with TVPI increasing from 1.2x to 1.5x.
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Common Pitfalls
|
|
219
|
+
|
|
220
|
+
❌ **Don't** include line breaks in the JSON
|
|
221
|
+
❌ **Don't** use single quotes in JSON (use double quotes)
|
|
222
|
+
❌ **Don't** forget to specify the chart type
|
|
223
|
+
❌ **Don't** mix up xKey with data field names
|
|
224
|
+
|
|
225
|
+
✅ **Do** validate your JSON before including it
|
|
226
|
+
✅ **Do** include descriptive labels
|
|
227
|
+
✅ **Do** test with sample data first
|
|
228
|
+
✅ **Do** provide context around the chart
|