@vertesia/ui 1.0.0-dev.20260227.112605Z → 1.0.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/lib/esm/core/components/SelectList.js +3 -1
- package/lib/esm/core/components/SelectList.js.map +1 -1
- package/lib/esm/core/components/SidePanel.js +2 -2
- package/lib/esm/core/components/SidePanel.js.map +1 -1
- package/lib/esm/core/components/index.js +0 -5
- package/lib/esm/core/components/index.js.map +1 -1
- package/lib/esm/core/components/shadcn/breadcrumb.js +11 -7
- package/lib/esm/core/components/shadcn/breadcrumb.js.map +1 -1
- package/lib/esm/core/components/shadcn/button.js +5 -3
- package/lib/esm/core/components/shadcn/button.js.map +1 -1
- package/lib/esm/core/components/shadcn/collaspible.js +14 -0
- package/lib/esm/core/components/shadcn/collaspible.js.map +1 -0
- package/lib/esm/core/components/shadcn/dropdown.js +61 -0
- package/lib/esm/core/components/shadcn/dropdown.js.map +1 -0
- package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js +3 -1
- package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js +3 -1
- package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js +1 -1
- package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js +1 -1
- package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js +4 -2
- package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js.map +1 -1
- package/lib/esm/core/components/shadcn/filters/filterBar.js +7 -4
- package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
- package/lib/esm/core/components/shadcn/index.js +4 -0
- package/lib/esm/core/components/shadcn/index.js.map +1 -1
- package/lib/esm/core/components/shadcn/modal/ConfirmModal.js +4 -2
- package/lib/esm/core/components/shadcn/modal/ConfirmModal.js.map +1 -1
- package/lib/esm/core/components/shadcn/modal/DeleteModal.js +5 -3
- package/lib/esm/core/components/shadcn/modal/DeleteModal.js.map +1 -1
- package/lib/esm/core/components/shadcn/popover.js +11 -7
- package/lib/esm/core/components/shadcn/popover.js.map +1 -1
- package/lib/esm/core/components/shadcn/radioGroup.js +29 -0
- package/lib/esm/core/components/shadcn/radioGroup.js.map +1 -0
- package/lib/esm/core/components/shadcn/selectBox.js +1 -1
- package/lib/esm/core/components/shadcn/switch.js +19 -0
- package/lib/esm/core/components/shadcn/switch.js.map +1 -0
- package/lib/esm/core/components/shadcn/tabs.js +6 -6
- package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
- package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js +8 -6
- package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
- package/lib/esm/core/components/shadcn/tooltip.js +1 -1
- package/lib/esm/core/components/shadcn/tooltip.js.map +1 -1
- package/lib/esm/core/components/toast/NotificationPanel.js +3 -3
- package/lib/esm/core/components/toast/NotificationPanel.js.map +1 -1
- package/lib/esm/env/index.js +11 -1
- package/lib/esm/env/index.js.map +1 -1
- package/lib/esm/features/agent/PayloadBuilder.js +87 -15
- package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
- package/lib/esm/features/agent/chat/AgentRightPanel.js +159 -0
- package/lib/esm/features/agent/chat/AgentRightPanel.js.map +1 -0
- package/lib/esm/features/agent/chat/ArtifactsTab.js +69 -0
- package/lib/esm/features/agent/chat/ArtifactsTab.js.map +1 -0
- package/lib/esm/features/agent/chat/AskUserWidget.js +12 -6
- package/lib/esm/features/agent/chat/AskUserWidget.js.map +1 -1
- package/lib/esm/features/agent/chat/DocumentPanel.js +6 -3
- package/lib/esm/features/agent/chat/DocumentPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ImageLightbox.js +3 -1
- package/lib/esm/features/agent/chat/ImageLightbox.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentConversation.js +243 -106
- package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +122 -52
- package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js +5 -3
- package/lib/esm/features/agent/chat/ModernAgentOutput/BatchProgressPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +57 -18
- package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +82 -83
- package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js +16 -14
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +20 -5
- package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js +8 -6
- package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +12 -10
- package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js +5 -3
- package/lib/esm/features/agent/chat/ModernAgentOutput/StreamingMessage.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +104 -13
- package/lib/esm/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +9 -5
- package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
- package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +160 -76
- package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
- package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js +3 -1
- package/lib/esm/features/agent/chat/SlidingThinkingIndicator.js.map +1 -1
- package/lib/esm/features/agent/chat/VegaLiteChart.js +14 -2
- package/lib/esm/features/agent/chat/VegaLiteChart.js.map +1 -1
- package/lib/esm/features/agent/chat/hooks/useAgentPlans.js +3 -8
- package/lib/esm/features/agent/chat/hooks/useAgentPlans.js.map +1 -1
- package/lib/esm/features/agent/chat/hooks/useAgentStream.js +75 -16
- package/lib/esm/features/agent/chat/hooks/useAgentStream.js.map +1 -1
- package/lib/esm/features/agent/chat/hooks/useArtifacts.js +108 -0
- package/lib/esm/features/agent/chat/hooks/useArtifacts.js.map +1 -0
- package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js +56 -5
- package/lib/esm/features/agent/chat/hooks/useDocumentPanel.js.map +1 -1
- package/lib/esm/features/agent/chat/hooks/useFileProcessing.js +12 -10
- package/lib/esm/features/agent/chat/hooks/useFileProcessing.js.map +1 -1
- package/lib/esm/features/errors/PanelErrorBoundary.js +3 -1
- package/lib/esm/features/errors/PanelErrorBoundary.js.map +1 -1
- package/lib/esm/features/facets/AgentRunnerFacetsNav.js +45 -33
- package/lib/esm/features/facets/AgentRunnerFacetsNav.js.map +1 -1
- package/lib/esm/features/facets/RunsFacetsNav.js +1 -1
- package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
- package/lib/esm/features/facets/index.js +1 -1
- package/lib/esm/features/facets/index.js.map +1 -1
- package/lib/esm/features/layout/GenericPageNavHeader.js +40 -28
- package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -1
- package/lib/esm/features/layout/NotFoundView.js +3 -1
- package/lib/esm/features/layout/NotFoundView.js.map +1 -1
- package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js +9 -5
- package/lib/esm/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
- package/lib/esm/features/magic-pdf/DownloadPopover.js +5 -4
- package/lib/esm/features/magic-pdf/DownloadPopover.js.map +1 -1
- package/lib/esm/features/magic-pdf/MagicPdfView.js +8 -5
- package/lib/esm/features/magic-pdf/MagicPdfView.js.map +1 -1
- package/lib/esm/features/pdf-viewer/PdfPageSlider.js +9 -5
- package/lib/esm/features/pdf-viewer/PdfPageSlider.js.map +1 -1
- package/lib/esm/features/pdf-viewer/SimplePdfViewer.js +5 -3
- package/lib/esm/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
- package/lib/esm/features/permissions/UserPermissionsProvider.js +3 -1
- package/lib/esm/features/permissions/UserPermissionsProvider.js.map +1 -1
- package/lib/esm/features/store/collections/BrowseCollectionView.js +9 -1
- package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
- package/lib/esm/features/store/collections/CollectionsTable.js +14 -7
- package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -1
- package/lib/esm/features/store/collections/CreateCollection.js +21 -18
- package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
- package/lib/esm/features/store/collections/EditCollectionView.js +23 -19
- package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
- package/lib/esm/features/store/collections/SelectCollection.js +25 -10
- package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
- package/lib/esm/features/store/collections/SharedPropsEditor.js +5 -3
- package/lib/esm/features/store/collections/SharedPropsEditor.js.map +1 -1
- package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js +5 -3
- package/lib/esm/features/store/collections/SyncMemberHeadsToggle.js.map +1 -1
- package/lib/esm/features/store/objects/DocumentPreviewPanel.js +14 -12
- package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +1 -1
- package/lib/esm/features/store/objects/DocumentSearchResults.js +15 -5
- package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
- package/lib/esm/features/store/objects/DocumentTable.js +10 -7
- package/lib/esm/features/store/objects/DocumentTable.js.map +1 -1
- package/lib/esm/features/store/objects/ExportPropertiesModal.js +5 -2
- package/lib/esm/features/store/objects/ExportPropertiesModal.js.map +1 -1
- package/lib/esm/features/store/objects/components/ContentDispositionButton.js +3 -1
- package/lib/esm/features/store/objects/components/ContentDispositionButton.js.map +1 -1
- package/lib/esm/features/store/objects/components/ContentOverview.js +55 -40
- package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
- package/lib/esm/features/store/objects/components/DocumentIcon.js +4 -3
- package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js +13 -11
- package/lib/esm/features/store/objects/components/PropertiesEditorModal.js.map +1 -1
- package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +15 -18
- package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
- package/lib/esm/features/store/objects/components/SelectDocument.js +9 -6
- package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -1
- package/lib/esm/features/store/objects/components/TextEditorPanel.js +97 -0
- package/lib/esm/features/store/objects/components/TextEditorPanel.js.map +1 -0
- package/lib/esm/features/store/objects/components/VectorSearchWidget.js +3 -1
- package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
- package/lib/esm/features/store/objects/components/useContentPanelHooks.js +4 -2
- package/lib/esm/features/store/objects/components/useContentPanelHooks.js.map +1 -1
- package/lib/esm/features/store/objects/components/useDownloadFile.js +12 -10
- package/lib/esm/features/store/objects/components/useDownloadFile.js.map +1 -1
- package/lib/esm/features/store/objects/layout/documentLayout.js +10 -6
- package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
- package/lib/esm/features/store/objects/layout/renderers.js +10 -1
- package/lib/esm/features/store/objects/layout/renderers.js.map +1 -1
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js +3 -2
- package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
- package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +3 -0
- package/lib/esm/features/store/objects/search/DocumentSearchProvider.js.map +1 -1
- package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +22 -109
- package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
- package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js +50 -0
- package/lib/esm/features/store/objects/selection/ObjectsActionContextClass.js.map +1 -0
- package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js +27 -0
- package/lib/esm/features/store/objects/selection/ObjectsActionHooks.js.map +1 -0
- package/lib/esm/features/store/objects/selection/SelectionActions.js +10 -6
- package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +17 -12
- package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js +9 -5
- package/lib/esm/features/store/objects/selection/actions/ChangeTypeAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js +4 -2
- package/lib/esm/features/store/objects/selection/actions/ConfirmAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +24 -23
- package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js +10 -5
- package/lib/esm/features/store/objects/selection/actions/ExportPropertiesAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js +13 -9
- package/lib/esm/features/store/objects/selection/actions/RemoveFromCollectionAction.js.map +1 -1
- package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js +14 -8
- package/lib/esm/features/store/objects/selection/actions/StartWorkflowComponent.js.map +1 -1
- package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +42 -39
- package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
- package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js +4 -2
- package/lib/esm/features/store/objects/upload/useSmartFileUploadProcessing.js.map +1 -1
- package/lib/esm/features/store/objects/upload/useUploadHandler.js +9 -7
- package/lib/esm/features/store/objects/upload/useUploadHandler.js.map +1 -1
- package/lib/esm/features/store/types/ContentObjectTypesSearch.js +6 -4
- package/lib/esm/features/store/types/ContentObjectTypesSearch.js.map +1 -1
- package/lib/esm/features/store/types/ContentObjectTypesTable.js +3 -1
- package/lib/esm/features/store/types/ContentObjectTypesTable.js.map +1 -1
- package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +6 -7
- package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -1
- package/lib/esm/features/store/types/ObjectSchemaEditor.js +9 -7
- package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
- package/lib/esm/features/store/types/SelectContentType.js +9 -7
- package/lib/esm/features/store/types/SelectContentType.js.map +1 -1
- package/lib/esm/features/store/types/SelectContentTypeModal.js +5 -2
- package/lib/esm/features/store/types/SelectContentTypeModal.js.map +1 -1
- package/lib/esm/features/store/types/TableLayoutEditor.js +6 -4
- package/lib/esm/features/store/types/TableLayoutEditor.js.map +1 -1
- package/lib/esm/features/user/UserInfo.js +40 -50
- package/lib/esm/features/user/UserInfo.js.map +1 -1
- package/lib/esm/i18n/index.js +31 -0
- package/lib/esm/i18n/index.js.map +1 -0
- package/lib/esm/i18n/instance.js +46 -0
- package/lib/esm/i18n/instance.js.map +1 -0
- package/lib/esm/i18n/locales/ar.json +694 -0
- package/lib/esm/i18n/locales/de.json +662 -0
- package/lib/esm/i18n/locales/en.json +663 -0
- package/lib/esm/i18n/locales/es.json +668 -0
- package/lib/esm/i18n/locales/fr.json +670 -0
- package/lib/esm/i18n/locales/it.json +668 -0
- package/lib/esm/i18n/locales/ja.json +662 -0
- package/lib/esm/i18n/locales/ko.json +662 -0
- package/lib/esm/i18n/locales/pt.json +668 -0
- package/lib/esm/i18n/locales/ru.json +678 -0
- package/lib/esm/i18n/locales/tr.json +662 -0
- package/lib/esm/i18n/locales/zh-TW.json +662 -0
- package/lib/esm/i18n/locales/zh.json +662 -0
- package/lib/esm/layout/FullHeightLayout.js +3 -0
- package/lib/esm/layout/FullHeightLayout.js.map +1 -1
- package/lib/esm/layout/Navbar.js +3 -1
- package/lib/esm/layout/Navbar.js.map +1 -1
- package/lib/esm/layout/RegionTag.js +15 -0
- package/lib/esm/layout/RegionTag.js.map +1 -0
- package/lib/esm/layout/Sidebar.js +2 -2
- package/lib/esm/layout/Sidebar.js.map +1 -1
- package/lib/esm/layout/index.js +1 -0
- package/lib/esm/layout/index.js.map +1 -1
- package/lib/esm/router/HistoryNavigator.js +1 -1
- package/lib/esm/router/HistoryNavigator.js.map +1 -1
- package/lib/esm/router/Nav.js +5 -3
- package/lib/esm/router/Nav.js.map +1 -1
- package/lib/esm/router/NestedNavigationContext.js +4 -0
- package/lib/esm/router/NestedNavigationContext.js.map +1 -1
- package/lib/esm/router/NestedRouterProvider.js +3 -1
- package/lib/esm/router/NestedRouterProvider.js.map +1 -1
- package/lib/esm/router/Router.js +21 -6
- package/lib/esm/router/Router.js.map +1 -1
- package/lib/esm/session/UserSession.js +31 -0
- package/lib/esm/session/UserSession.js.map +1 -1
- package/lib/esm/session/UserSessionProvider.js +4 -0
- package/lib/esm/session/UserSessionProvider.js.map +1 -1
- package/lib/esm/session/auth/composable.js +1 -1
- package/lib/esm/session/auth/composable.js.map +1 -1
- package/lib/esm/session/auth/firebase.js +1 -1
- package/lib/esm/session/auth/firebase.js.map +1 -1
- package/lib/esm/session/auth/useCurrentTenant.js +3 -1
- package/lib/esm/session/auth/useCurrentTenant.js.map +1 -1
- package/lib/esm/shell/SplashScreen.js +3 -7
- package/lib/esm/shell/SplashScreen.js.map +1 -1
- package/lib/esm/shell/apps/StandaloneApp.js +5 -2
- package/lib/esm/shell/apps/StandaloneApp.js.map +1 -1
- package/lib/esm/shell/login/EnterpriseSigninButton.js +5 -3
- package/lib/esm/shell/login/EnterpriseSigninButton.js.map +1 -1
- package/lib/esm/shell/login/GitHubSignInButton.js +3 -7
- package/lib/esm/shell/login/GitHubSignInButton.js.map +1 -1
- package/lib/esm/shell/login/GoogleSignInButton.js +3 -1
- package/lib/esm/shell/login/GoogleSignInButton.js.map +1 -1
- package/lib/esm/shell/login/InviteAcceptModal.js +5 -2
- package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -1
- package/lib/esm/shell/login/MicrosoftSigninButton.js +4 -6
- package/lib/esm/shell/login/MicrosoftSigninButton.js.map +1 -1
- package/lib/esm/shell/login/SigninScreen.js +6 -2
- package/lib/esm/shell/login/SigninScreen.js.map +1 -1
- package/lib/esm/shell/login/SignupForm.js +36 -34
- package/lib/esm/shell/login/SignupForm.js.map +1 -1
- package/lib/esm/shell/login/TerminalLogin.js +29 -22
- package/lib/esm/shell/login/TerminalLogin.js.map +1 -1
- package/lib/esm/shell/login/UserInfo.js +6 -4
- package/lib/esm/shell/login/UserInfo.js.map +1 -1
- package/lib/esm/shell/login/UserSessionMenu.js +3 -4
- package/lib/esm/shell/login/UserSessionMenu.js.map +1 -1
- package/lib/esm/widgets/index.js +0 -1
- package/lib/esm/widgets/index.js.map +1 -1
- package/lib/esm/widgets/json-view/JSONCode.js +1 -1
- package/lib/esm/widgets/json-view/JSONCode.js.map +1 -1
- package/lib/esm/widgets/json-view/JSONDisplay.js +6 -2
- package/lib/esm/widgets/json-view/JSONDisplay.js.map +1 -1
- package/lib/esm/widgets/json-view/JSONSwitcher.js +6 -0
- package/lib/esm/widgets/json-view/JSONSwitcher.js.map +1 -0
- package/lib/esm/widgets/json-view/JSONView.js +1 -1
- package/lib/esm/widgets/json-view/JSONView.js.map +1 -1
- package/lib/esm/widgets/json-view/index.js +1 -0
- package/lib/esm/widgets/json-view/index.js.map +1 -1
- package/lib/esm/widgets/markdown/ArtifactContentRenderer.js +6 -5
- package/lib/esm/widgets/markdown/ArtifactContentRenderer.js.map +1 -1
- package/lib/esm/widgets/markdown/CodeBlockContext.js +11 -0
- package/lib/esm/widgets/markdown/CodeBlockContext.js.map +1 -0
- package/lib/esm/widgets/markdown/MarkdownRenderer.js +11 -10
- package/lib/esm/widgets/markdown/MarkdownRenderer.js.map +1 -1
- package/lib/esm/widgets/markdown/codeBlockHandlers.js +11 -12
- package/lib/esm/widgets/markdown/codeBlockHandlers.js.map +1 -1
- package/lib/esm/widgets/markdown/index.js +10 -9
- package/lib/esm/widgets/markdown/index.js.map +1 -1
- package/lib/esm/widgets/markdown/remarkDirectiveHandler.js +0 -1
- package/lib/esm/widgets/markdown/remarkDirectiveHandler.js.map +1 -1
- package/lib/esm/widgets/schema-editor/ManagedSchema.js +6 -5
- package/lib/esm/widgets/schema-editor/ManagedSchema.js.map +1 -1
- package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js +7 -3
- package/lib/esm/widgets/schema-editor/editor/PropertyEditor.js.map +1 -1
- package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js +3 -1
- package/lib/esm/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
- package/lib/esm/widgets/upload/DropZone.js +9 -11
- package/lib/esm/widgets/upload/DropZone.js.map +1 -1
- package/lib/esm/widgets/upload/UploadResultCategory.js +3 -1
- package/lib/esm/widgets/upload/UploadResultCategory.js.map +1 -1
- package/lib/esm/widgets/upload/UploadSummary.js +3 -1
- package/lib/esm/widgets/upload/UploadSummary.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/core/components/SelectList.d.ts.map +1 -1
- package/lib/types/core/components/SidePanel.d.ts +4 -2
- package/lib/types/core/components/SidePanel.d.ts.map +1 -1
- package/lib/types/core/components/index.d.ts +0 -5
- package/lib/types/core/components/index.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/badge.d.ts +2 -2
- package/lib/types/core/components/shadcn/breadcrumb.d.ts +1 -1
- package/lib/types/core/components/shadcn/breadcrumb.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/button.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/collaspible.d.ts +6 -0
- package/lib/types/core/components/shadcn/collaspible.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/dropdown.d.ts +44 -0
- package/lib/types/core/components/shadcn/dropdown.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/filters/filter/dateFilter.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/index.d.ts +4 -0
- package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/input.d.ts +1 -1
- package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts +2 -1
- package/lib/types/core/components/shadcn/modal/ConfirmModal.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/modal/DeleteModal.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/popover.d.ts +11 -3
- package/lib/types/core/components/shadcn/popover.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/radioGroup.d.ts +26 -0
- package/lib/types/core/components/shadcn/radioGroup.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/switch.d.ts +12 -0
- package/lib/types/core/components/shadcn/switch.d.ts.map +1 -0
- package/lib/types/core/components/shadcn/tabs.d.ts +4 -2
- package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
- package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts +8 -2
- package/lib/types/core/components/shadcn/theme/ThemeSwitcher.d.ts.map +1 -1
- package/lib/types/core/components/toast/NotificationPanel.d.ts.map +1 -1
- package/lib/types/env/index.d.ts +8 -1
- package/lib/types/env/index.d.ts.map +1 -1
- package/lib/types/features/agent/PayloadBuilder.d.ts +31 -3
- package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
- package/lib/types/features/agent/chat/AgentRightPanel.d.ts +50 -0
- package/lib/types/features/agent/chat/AgentRightPanel.d.ts.map +1 -0
- package/lib/types/features/agent/chat/ArtifactsTab.d.ts +9 -0
- package/lib/types/features/agent/chat/ArtifactsTab.d.ts.map +1 -0
- package/lib/types/features/agent/chat/AskUserWidget.d.ts.map +1 -1
- package/lib/types/features/agent/chat/DocumentPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ImageLightbox.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts +22 -9
- package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/BatchProgressPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts +12 -3
- package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
- 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/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts +3 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/StreamingMessage.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts +5 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/WorkstreamTabs.d.ts.map +1 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +16 -1
- package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
- package/lib/types/features/agent/chat/SlidingThinkingIndicator.d.ts.map +1 -1
- package/lib/types/features/agent/chat/VegaLiteChart.d.ts.map +1 -1
- package/lib/types/features/agent/chat/hooks/useAgentPlans.d.ts.map +1 -1
- package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts +3 -3
- package/lib/types/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
- package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts +18 -0
- package/lib/types/features/agent/chat/hooks/useArtifacts.d.ts.map +1 -0
- package/lib/types/features/agent/chat/hooks/useDocumentPanel.d.ts.map +1 -1
- package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts +4 -4
- package/lib/types/features/agent/chat/hooks/useFileProcessing.d.ts.map +1 -1
- package/lib/types/features/agent/chat/types/document.d.ts +2 -0
- package/lib/types/features/agent/chat/types/document.d.ts.map +1 -1
- package/lib/types/features/errors/PanelErrorBoundary.d.ts.map +1 -1
- package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts +2 -1
- package/lib/types/features/facets/AgentRunnerFacetsNav.d.ts.map +1 -1
- package/lib/types/features/facets/index.d.ts +1 -1
- package/lib/types/features/facets/index.d.ts.map +1 -1
- package/lib/types/features/layout/GenericPageNavHeader.d.ts +2 -2
- package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -1
- package/lib/types/features/layout/NotFoundView.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/AnnotatedImageSlider.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
- package/lib/types/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
- package/lib/types/features/pdf-viewer/PdfPageSlider.d.ts.map +1 -1
- package/lib/types/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
- package/lib/types/features/permissions/UserPermissionsProvider.d.ts.map +1 -1
- package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
- package/lib/types/features/store/collections/CollectionsTable.d.ts +4 -0
- package/lib/types/features/store/collections/CollectionsTable.d.ts.map +1 -1
- package/lib/types/features/store/collections/CreateCollection.d.ts.map +1 -1
- package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
- package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -1
- package/lib/types/features/store/collections/SharedPropsEditor.d.ts.map +1 -1
- package/lib/types/features/store/collections/SyncMemberHeadsToggle.d.ts.map +1 -1
- package/lib/types/features/store/objects/DocumentPreviewPanel.d.ts.map +1 -1
- package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
- package/lib/types/features/store/objects/DocumentTable.d.ts.map +1 -1
- package/lib/types/features/store/objects/ExportPropertiesModal.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/ContentDispositionButton.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/DocumentIcon.d.ts +2 -1
- package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/PropertiesEditorModal.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/SelectDocument.d.ts +3 -1
- package/lib/types/features/store/objects/components/SelectDocument.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/TextEditorPanel.d.ts +10 -0
- package/lib/types/features/store/objects/components/TextEditorPanel.d.ts.map +1 -0
- package/lib/types/features/store/objects/components/VectorSearchWidget.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
- package/lib/types/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
- package/lib/types/features/store/objects/layout/documentLayout.d.ts +3 -2
- package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +1 -1
- package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -1
- package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
- package/lib/types/features/store/objects/search/DocumentSearchProvider.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts +3 -20
- package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts +16 -0
- package/lib/types/features/store/objects/selection/ObjectsActionContextClass.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts +7 -0
- package/lib/types/features/store/objects/selection/ObjectsActionHooks.d.ts.map +1 -0
- package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts +4 -1
- package/lib/types/features/store/objects/selection/ObjectsActionSpec.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/SelectionActions.d.ts +6 -1
- package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/AddToCollectionAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/ChangeTypeAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts +1 -1
- package/lib/types/features/store/objects/selection/actions/ConfirmAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/ExportPropertiesAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/RemoveFromCollectionAction.d.ts.map +1 -1
- package/lib/types/features/store/objects/selection/actions/StartWorkflowComponent.d.ts.map +1 -1
- package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
- package/lib/types/features/store/objects/upload/useSmartFileUploadProcessing.d.ts.map +1 -1
- package/lib/types/features/store/objects/upload/useUploadHandler.d.ts.map +1 -1
- package/lib/types/features/store/types/ContentObjectTypesSearch.d.ts.map +1 -1
- package/lib/types/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
- package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts +2 -1
- package/lib/types/features/store/types/CreateOrUpdateTypeModal.d.ts.map +1 -1
- package/lib/types/features/store/types/ObjectSchemaEditor.d.ts.map +1 -1
- package/lib/types/features/store/types/SelectContentType.d.ts.map +1 -1
- package/lib/types/features/store/types/SelectContentTypeModal.d.ts.map +1 -1
- package/lib/types/features/store/types/TableLayoutEditor.d.ts.map +1 -1
- package/lib/types/features/user/UserInfo.d.ts +2 -2
- package/lib/types/features/user/UserInfo.d.ts.map +1 -1
- package/lib/types/i18n/index.d.ts +14 -0
- package/lib/types/i18n/index.d.ts.map +1 -0
- package/lib/types/i18n/instance.d.ts +5 -0
- package/lib/types/i18n/instance.d.ts.map +1 -0
- package/lib/types/layout/FullHeightLayout.d.ts +3 -0
- package/lib/types/layout/FullHeightLayout.d.ts.map +1 -1
- package/lib/types/layout/Navbar.d.ts.map +1 -1
- package/lib/types/layout/RegionTag.d.ts +4 -0
- package/lib/types/layout/RegionTag.d.ts.map +1 -0
- package/lib/types/layout/Sidebar.d.ts +2 -1
- package/lib/types/layout/Sidebar.d.ts.map +1 -1
- package/lib/types/layout/index.d.ts +1 -0
- package/lib/types/layout/index.d.ts.map +1 -1
- package/lib/types/router/Nav.d.ts +5 -1
- package/lib/types/router/Nav.d.ts.map +1 -1
- package/lib/types/router/NestedNavigationContext.d.ts.map +1 -1
- package/lib/types/router/NestedRouterProvider.d.ts.map +1 -1
- package/lib/types/router/Router.d.ts +2 -0
- package/lib/types/router/Router.d.ts.map +1 -1
- package/lib/types/session/UserSession.d.ts +1 -0
- package/lib/types/session/UserSession.d.ts.map +1 -1
- package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
- package/lib/types/session/auth/useCurrentTenant.d.ts.map +1 -1
- package/lib/types/shell/SplashScreen.d.ts.map +1 -1
- package/lib/types/shell/apps/StandaloneApp.d.ts.map +1 -1
- package/lib/types/shell/login/EnterpriseSigninButton.d.ts.map +1 -1
- package/lib/types/shell/login/GitHubSignInButton.d.ts.map +1 -1
- package/lib/types/shell/login/GoogleSignInButton.d.ts.map +1 -1
- package/lib/types/shell/login/InviteAcceptModal.d.ts.map +1 -1
- package/lib/types/shell/login/MicrosoftSigninButton.d.ts +1 -1
- package/lib/types/shell/login/MicrosoftSigninButton.d.ts.map +1 -1
- package/lib/types/shell/login/SigninScreen.d.ts.map +1 -1
- package/lib/types/shell/login/SignupForm.d.ts.map +1 -1
- package/lib/types/shell/login/TerminalLogin.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/index.d.ts +0 -1
- package/lib/types/widgets/index.d.ts.map +1 -1
- package/lib/types/widgets/json-view/JSONDisplay.d.ts.map +1 -1
- package/lib/types/widgets/json-view/JSONSwitcher.d.ts +6 -0
- package/lib/types/widgets/json-view/JSONSwitcher.d.ts.map +1 -0
- package/lib/types/widgets/json-view/index.d.ts +1 -0
- package/lib/types/widgets/json-view/index.d.ts.map +1 -1
- package/lib/types/widgets/markdown/ArtifactContentRenderer.d.ts.map +1 -1
- package/lib/types/widgets/markdown/CodeBlockContext.d.ts +21 -0
- package/lib/types/widgets/markdown/CodeBlockContext.d.ts.map +1 -0
- package/lib/types/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
- package/lib/types/widgets/markdown/codeBlockHandlers.d.ts +0 -12
- package/lib/types/widgets/markdown/codeBlockHandlers.d.ts.map +1 -1
- package/lib/types/widgets/markdown/index.d.ts +10 -9
- package/lib/types/widgets/markdown/index.d.ts.map +1 -1
- package/lib/types/widgets/schema-editor/ManagedSchema.d.ts +1 -1
- package/lib/types/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
- package/lib/types/widgets/schema-editor/editor/PropertyEditor.d.ts.map +1 -1
- package/lib/types/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
- package/lib/types/widgets/upload/DropZone.d.ts.map +1 -1
- package/lib/types/widgets/upload/UploadResultCategory.d.ts.map +1 -1
- package/lib/types/widgets/upload/UploadSummary.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-i18n.js +2 -0
- package/lib/vertesia-ui-i18n.js.map +1 -0
- 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/llms.txt +124 -4
- package/package.json +50 -22
- package/src/core/components/SelectList.tsx +3 -1
- package/src/core/components/SidePanel.tsx +5 -4
- package/src/core/components/index.ts +0 -5
- package/src/core/components/shadcn/breadcrumb.tsx +16 -9
- package/src/core/components/shadcn/button.tsx +5 -3
- package/src/core/components/shadcn/collaspible.tsx +33 -0
- package/src/core/components/shadcn/dropdown.tsx +309 -0
- package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +3 -1
- package/src/core/components/shadcn/filters/comboBox/SelectCombobox.tsx +3 -1
- package/src/core/components/shadcn/filters/comboBox/StringListCombobox.tsx +1 -1
- package/src/core/components/shadcn/filters/filter/StringListFilter.tsx +1 -1
- package/src/core/components/shadcn/filters/filter/dateFilter.tsx +5 -3
- package/src/core/components/shadcn/filters/filterBar.tsx +8 -5
- package/src/core/components/shadcn/index.ts +5 -1
- package/src/core/components/shadcn/modal/ConfirmModal.tsx +7 -3
- package/src/core/components/shadcn/modal/DeleteModal.tsx +5 -3
- package/src/core/components/shadcn/popover.tsx +12 -7
- package/src/core/components/shadcn/radioGroup.tsx +100 -0
- package/src/core/components/shadcn/selectBox.tsx +1 -1
- package/src/core/components/shadcn/switch.tsx +60 -0
- package/src/core/components/shadcn/tabs.tsx +29 -27
- package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +19 -10
- package/src/core/components/shadcn/tooltip.tsx +1 -1
- package/src/core/components/toast/NotificationPanel.tsx +38 -44
- package/src/css/base.css +31 -0
- package/src/css/color.css +136 -0
- package/src/css/custom-tooltips.css +64 -0
- package/src/css/index.css +27 -0
- package/src/css/theme.css +86 -0
- package/src/css/typography.css +88 -0
- package/src/css/utilities.css +72 -0
- package/src/env/index.ts +16 -3
- package/src/features/agent/PayloadBuilder.tsx +100 -13
- package/src/features/agent/chat/AgentRightPanel.tsx +424 -0
- package/src/features/agent/chat/ArtifactsTab.tsx +197 -0
- package/src/features/agent/chat/AskUserWidget.tsx +14 -8
- package/src/features/agent/chat/DocumentPanel.tsx +24 -9
- package/src/features/agent/chat/ImageLightbox.tsx +6 -3
- package/src/features/agent/chat/ModernAgentConversation.tsx +539 -356
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +151 -55
- package/src/features/agent/chat/ModernAgentOutput/BatchProgressPanel.tsx +6 -4
- package/src/features/agent/chat/ModernAgentOutput/Header.tsx +126 -46
- package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +21 -31
- package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +119 -114
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +26 -9
- package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +9 -7
- package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +15 -13
- package/src/features/agent/chat/ModernAgentOutput/StreamingMessage.tsx +8 -3
- package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +149 -49
- package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +9 -5
- package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +229 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.ts +202 -97
- package/src/features/agent/chat/SlidingThinkingIndicator.tsx +5 -3
- package/src/features/agent/chat/VegaLiteChart.tsx +20 -8
- package/src/features/agent/chat/hooks/useAgentPlans.ts +3 -9
- package/src/features/agent/chat/hooks/useAgentStream.ts +80 -19
- package/src/features/agent/chat/hooks/useArtifacts.ts +151 -0
- package/src/features/agent/chat/hooks/useDocumentPanel.ts +65 -5
- package/src/features/agent/chat/hooks/useFileProcessing.ts +14 -13
- package/src/features/agent/chat/types/document.ts +2 -0
- package/src/features/errors/PanelErrorBoundary.tsx +5 -3
- package/src/features/facets/AgentRunnerFacetsNav.tsx +54 -35
- package/src/features/facets/RunsFacetsNav.tsx +6 -6
- package/src/features/facets/index.ts +1 -1
- package/src/features/layout/GenericPageNavHeader.tsx +64 -41
- package/src/features/layout/NotFoundView.tsx +4 -1
- package/src/features/magic-pdf/AnnotatedImageSlider.tsx +12 -8
- package/src/features/magic-pdf/DownloadPopover.tsx +11 -10
- package/src/features/magic-pdf/MagicPdfView.tsx +10 -7
- package/src/features/pdf-viewer/PdfPageSlider.tsx +10 -6
- package/src/features/pdf-viewer/SimplePdfViewer.tsx +5 -3
- package/src/features/permissions/UserPermissionsProvider.tsx +3 -1
- package/src/features/store/collections/BrowseCollectionView.tsx +11 -1
- package/src/features/store/collections/CollectionsTable.tsx +20 -12
- package/src/features/store/collections/CreateCollection.tsx +45 -40
- package/src/features/store/collections/EditCollectionView.tsx +31 -28
- package/src/features/store/collections/SelectCollection.tsx +50 -14
- package/src/features/store/collections/SharedPropsEditor.tsx +7 -5
- package/src/features/store/collections/SyncMemberHeadsToggle.tsx +6 -4
- package/src/features/store/objects/DocumentPreviewPanel.tsx +30 -28
- package/src/features/store/objects/DocumentSearchResults.tsx +31 -21
- package/src/features/store/objects/DocumentTable.tsx +11 -5
- package/src/features/store/objects/ExportPropertiesModal.tsx +8 -5
- package/src/features/store/objects/components/ContentDispositionButton.tsx +3 -1
- package/src/features/store/objects/components/ContentOverview.tsx +96 -50
- package/src/features/store/objects/components/DocumentIcon.tsx +11 -3
- package/src/features/store/objects/components/PropertiesEditorModal.tsx +14 -12
- package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +24 -37
- package/src/features/store/objects/components/SelectDocument.tsx +15 -6
- package/src/features/store/objects/components/TextEditorPanel.tsx +143 -0
- package/src/features/store/objects/components/VectorSearchWidget.tsx +11 -8
- package/src/features/store/objects/components/useContentPanelHooks.ts +4 -2
- package/src/features/store/objects/components/useDownloadFile.ts +12 -10
- package/src/features/store/objects/layout/documentLayout.tsx +16 -6
- package/src/features/store/objects/layout/renderers.tsx +27 -1
- package/src/features/store/objects/search/DocumentSearchContext.ts +3 -2
- package/src/features/store/objects/search/DocumentSearchProvider.tsx +3 -0
- package/src/features/store/objects/selection/ObjectsActionContext.tsx +26 -128
- package/src/features/store/objects/selection/ObjectsActionContextClass.ts +59 -0
- package/src/features/store/objects/selection/ObjectsActionHooks.ts +33 -0
- package/src/features/store/objects/selection/ObjectsActionSpec.ts +4 -1
- package/src/features/store/objects/selection/SelectionActions.tsx +14 -6
- package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +19 -14
- package/src/features/store/objects/selection/actions/ChangeTypeAction.tsx +9 -5
- package/src/features/store/objects/selection/actions/ConfirmAction.tsx +4 -3
- package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +24 -23
- package/src/features/store/objects/selection/actions/ExportPropertiesAction.tsx +10 -5
- package/src/features/store/objects/selection/actions/RemoveFromCollectionAction.tsx +13 -9
- package/src/features/store/objects/selection/actions/StartWorkflowComponent.tsx +14 -8
- package/src/features/store/objects/upload/DocumentUploadModal.tsx +56 -55
- package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +4 -2
- package/src/features/store/objects/upload/useUploadHandler.ts +9 -7
- package/src/features/store/types/ContentObjectTypesSearch.tsx +10 -8
- package/src/features/store/types/ContentObjectTypesTable.tsx +6 -4
- package/src/features/store/types/CreateOrUpdateTypeModal.tsx +11 -12
- package/src/features/store/types/ObjectSchemaEditor.tsx +11 -9
- package/src/features/store/types/SelectContentType.tsx +15 -13
- package/src/features/store/types/SelectContentTypeModal.tsx +16 -13
- package/src/features/store/types/TableLayoutEditor.tsx +16 -12
- package/src/features/user/UserInfo.tsx +47 -56
- package/src/i18n/index.tsx +45 -0
- package/src/i18n/instance.ts +49 -0
- package/src/i18n/locales/ar.json +694 -0
- package/src/i18n/locales/de.json +662 -0
- package/src/i18n/locales/en.json +663 -0
- package/src/i18n/locales/es.json +668 -0
- package/src/i18n/locales/fr.json +670 -0
- package/src/i18n/locales/it.json +668 -0
- package/src/i18n/locales/ja.json +662 -0
- package/src/i18n/locales/ko.json +662 -0
- package/src/i18n/locales/pt.json +668 -0
- package/src/i18n/locales/ru.json +678 -0
- package/src/i18n/locales/tr.json +662 -0
- package/src/i18n/locales/zh-TW.json +662 -0
- package/src/i18n/locales/zh.json +662 -0
- package/src/layout/FullHeightLayout.tsx +8 -0
- package/src/layout/Navbar.tsx +4 -2
- package/src/layout/RegionTag.tsx +25 -0
- package/src/layout/Sidebar.tsx +4 -3
- package/src/layout/index.ts +2 -1
- package/src/router/HistoryNavigator.ts +10 -10
- package/src/router/Nav.tsx +9 -3
- package/src/router/NestedNavigationContext.tsx +4 -0
- package/src/router/NestedRouterProvider.tsx +3 -1
- package/src/router/Router.tsx +23 -7
- package/src/session/UserSession.ts +32 -0
- package/src/session/UserSessionProvider.tsx +4 -0
- package/src/session/auth/composable.ts +1 -1
- package/src/session/auth/firebase.ts +1 -1
- package/src/session/auth/useCurrentTenant.ts +3 -1
- package/src/shell/SplashScreen.tsx +22 -26
- package/src/shell/apps/StandaloneApp.tsx +9 -6
- package/src/shell/login/EnterpriseSigninButton.tsx +6 -4
- package/src/shell/login/GitHubSignInButton.tsx +3 -7
- package/src/shell/login/GoogleSignInButton.tsx +3 -1
- package/src/shell/login/InviteAcceptModal.tsx +5 -2
- package/src/shell/login/MicrosoftSigninButton.tsx +4 -6
- package/src/shell/login/SigninScreen.tsx +18 -13
- package/src/shell/login/SignupForm.tsx +46 -46
- package/src/shell/login/TerminalLogin.tsx +36 -33
- package/src/shell/login/UserInfo.tsx +15 -13
- package/src/shell/login/UserSessionMenu.tsx +28 -31
- package/src/widgets/index.ts +0 -1
- package/src/widgets/json-view/JSONCode.tsx +1 -1
- package/src/widgets/json-view/JSONDisplay.tsx +8 -3
- package/src/widgets/json-view/JSONSwitcher.tsx +24 -0
- package/src/widgets/json-view/JSONView.tsx +1 -1
- package/src/widgets/json-view/index.ts +1 -0
- package/src/widgets/markdown/ArtifactContentRenderer.tsx +15 -7
- package/src/widgets/markdown/CodeBlockContext.tsx +34 -0
- package/src/widgets/markdown/MarkdownRenderer.tsx +14 -13
- package/src/widgets/markdown/codeBlockHandlers.tsx +17 -36
- package/src/widgets/markdown/index.ts +27 -34
- package/src/widgets/markdown/remarkDirectiveHandler.ts +1 -1
- package/src/widgets/schema-editor/ManagedSchema.ts +6 -5
- package/src/widgets/schema-editor/editor/PropertyEditor.tsx +7 -3
- package/src/widgets/schema-editor/editor/SchemaEditor.tsx +3 -1
- package/src/widgets/upload/DropZone.tsx +10 -13
- package/src/widgets/upload/UploadResultCategory.tsx +3 -1
- package/src/widgets/upload/UploadSummary.tsx +13 -11
- package/tsconfig.dist.json +1 -1
- package/lib/esm/core/components/Dropdown.js +0 -16
- package/lib/esm/core/components/Dropdown.js.map +0 -1
- package/lib/esm/core/components/DropdownList.js +0 -9
- package/lib/esm/core/components/DropdownList.js.map +0 -1
- package/lib/esm/core/components/RadioGroup.js +0 -34
- package/lib/esm/core/components/RadioGroup.js.map +0 -1
- package/lib/esm/core/components/SelectStack.js +0 -8
- package/lib/esm/core/components/SelectStack.js.map +0 -1
- package/lib/esm/core/components/Switch.js +0 -12
- package/lib/esm/core/components/Switch.js.map +0 -1
- package/lib/esm/widgets/popover/Popover.js +0 -73
- package/lib/esm/widgets/popover/Popover.js.map +0 -1
- package/lib/esm/widgets/popover/context.js +0 -7
- package/lib/esm/widgets/popover/context.js.map +0 -1
- package/lib/esm/widgets/popover/index.js +0 -3
- package/lib/esm/widgets/popover/index.js.map +0 -1
- package/lib/esm/widgets/popover/slots.js +0 -22
- package/lib/esm/widgets/popover/slots.js.map +0 -1
- package/lib/types/core/components/Dropdown.d.ts +0 -15
- package/lib/types/core/components/Dropdown.d.ts.map +0 -1
- package/lib/types/core/components/DropdownList.d.ts +0 -13
- package/lib/types/core/components/DropdownList.d.ts.map +0 -1
- package/lib/types/core/components/RadioGroup.d.ts +0 -26
- package/lib/types/core/components/RadioGroup.d.ts.map +0 -1
- package/lib/types/core/components/SelectStack.d.ts +0 -13
- package/lib/types/core/components/SelectStack.d.ts.map +0 -1
- package/lib/types/core/components/Switch.d.ts +0 -11
- package/lib/types/core/components/Switch.d.ts.map +0 -1
- package/lib/types/widgets/popover/Popover.d.ts +0 -38
- package/lib/types/widgets/popover/Popover.d.ts.map +0 -1
- package/lib/types/widgets/popover/context.d.ts +0 -8
- package/lib/types/widgets/popover/context.d.ts.map +0 -1
- package/lib/types/widgets/popover/index.d.ts +0 -3
- package/lib/types/widgets/popover/index.d.ts.map +0 -1
- package/lib/types/widgets/popover/slots.d.ts +0 -5
- package/lib/types/widgets/popover/slots.d.ts.map +0 -1
- package/src/core/components/Dropdown.tsx +0 -63
- package/src/core/components/DropdownList.tsx +0 -72
- package/src/core/components/RadioGroup.tsx +0 -100
- package/src/core/components/SelectStack.tsx +0 -63
- package/src/core/components/Switch.tsx +0 -30
- package/src/widgets/popover/Popover.tsx +0 -171
- package/src/widgets/popover/context.ts +0 -15
- package/src/widgets/popover/index.ts +0 -2
- package/src/widgets/popover/slots.ts +0 -24
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Button, Filter as BaseFilter, FilterProvider, FilterBtn, FilterBar, FilterClear, FilterGroup } from '@vertesia/ui/core';
|
|
2
|
-
import { useState } from 'react';
|
|
2
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import { VInteractionFacet } from './utils/VInteractionFacet';
|
|
3
4
|
import { VStringFacet } from './utils/VStringFacet';
|
|
4
5
|
import { VUserFacet } from './utils/VUserFacet';
|
|
5
6
|
import { SearchInterface } from './utils/SearchInterface';
|
|
@@ -9,6 +10,7 @@ interface AgentRunnerFacetsNavProps {
|
|
|
9
10
|
facets: {
|
|
10
11
|
statuses?: any[];
|
|
11
12
|
initiated_by?: any[];
|
|
13
|
+
interactions?: any[];
|
|
12
14
|
};
|
|
13
15
|
search: SearchInterface;
|
|
14
16
|
}
|
|
@@ -17,46 +19,51 @@ interface AgentRunnerFacetsNavProps {
|
|
|
17
19
|
export function useAgentRunnerFilterGroups(facets: AgentRunnerFacetsNavProps['facets']): FilterGroup[] {
|
|
18
20
|
const customFilterGroups: FilterGroup[] = [];
|
|
19
21
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
22
|
+
customFilterGroups.push({
|
|
23
|
+
name: 'id',
|
|
24
|
+
placeholder: 'Run ID',
|
|
25
|
+
type: 'text',
|
|
26
|
+
multiple: false
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
customFilterGroups.push(VInteractionFacet({
|
|
30
|
+
buckets: facets.interactions || [],
|
|
31
|
+
name: 'interaction',
|
|
32
|
+
placeholder: 'Interaction',
|
|
33
|
+
}));
|
|
34
|
+
|
|
35
|
+
customFilterGroups.push(VStringFacet({
|
|
36
|
+
search: null as any, // This will be provided by the search context
|
|
37
|
+
buckets: facets.statuses || [],
|
|
38
|
+
name: 'status',
|
|
39
|
+
placeholder: 'Status',
|
|
40
|
+
}));
|
|
41
|
+
|
|
42
|
+
customFilterGroups.push(VUserFacet({
|
|
43
|
+
buckets: facets.initiated_by || [],
|
|
44
|
+
name: 'initiated_by',
|
|
45
|
+
placeholder: 'Initiated By'
|
|
46
|
+
}));
|
|
47
|
+
|
|
48
|
+
customFilterGroups.push({
|
|
40
49
|
name: 'start',
|
|
41
50
|
placeholder: 'Started After',
|
|
42
51
|
type: 'date' as const,
|
|
43
52
|
multiple: false
|
|
44
|
-
};
|
|
45
|
-
customFilterGroups.push(dateAfterFilterGroup);
|
|
53
|
+
});
|
|
46
54
|
|
|
47
|
-
|
|
55
|
+
customFilterGroups.push({
|
|
48
56
|
name: 'end',
|
|
49
57
|
placeholder: 'Started Before',
|
|
50
58
|
type: 'date' as const,
|
|
51
59
|
multiple: false
|
|
52
|
-
};
|
|
53
|
-
customFilterGroups.push(dateBeforeFilterGroup);
|
|
60
|
+
});
|
|
54
61
|
|
|
55
62
|
return customFilterGroups;
|
|
56
63
|
}
|
|
57
64
|
|
|
58
|
-
//
|
|
59
|
-
export function
|
|
65
|
+
// Create filter change handler for agent runners
|
|
66
|
+
export function createAgentRunnerFilterHandler(search: SearchInterface) {
|
|
60
67
|
return (newFilters: BaseFilter[]) => {
|
|
61
68
|
|
|
62
69
|
// Clear all filters first, then apply new ones
|
|
@@ -90,14 +97,26 @@ export function useAgentRunnerFilterHandler(search: SearchInterface) {
|
|
|
90
97
|
// Legacy component for backward compatibility
|
|
91
98
|
export function AgentRunnerFacetsNav({ facets, search }: AgentRunnerFacetsNavProps) {
|
|
92
99
|
const [filters, setFilters] = useState<BaseFilter[]>([]);
|
|
100
|
+
const didMountRef = useRef(false);
|
|
101
|
+
const skipNextSearchRef = useRef(
|
|
102
|
+
typeof window !== 'undefined' && Boolean(new URLSearchParams(window.location.search).get('filters'))
|
|
103
|
+
);
|
|
93
104
|
const filterGroups = useAgentRunnerFilterGroups(facets);
|
|
94
|
-
const handleFilterLogic =
|
|
105
|
+
const handleFilterLogic = useMemo(() => createAgentRunnerFilterHandler(search), [search]);
|
|
95
106
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
107
|
+
useEffect(() => {
|
|
108
|
+
if (!didMountRef.current) {
|
|
109
|
+
didMountRef.current = true;
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (skipNextSearchRef.current) {
|
|
114
|
+
skipNextSearchRef.current = false;
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
handleFilterLogic(filters);
|
|
119
|
+
}, [filters, handleFilterLogic]);
|
|
101
120
|
|
|
102
121
|
const handleRefetch = () => {
|
|
103
122
|
search.search();
|
|
@@ -107,7 +126,7 @@ export function AgentRunnerFacetsNav({ facets, search }: AgentRunnerFacetsNavPro
|
|
|
107
126
|
<FilterProvider
|
|
108
127
|
filterGroups={filterGroups}
|
|
109
128
|
filters={filters}
|
|
110
|
-
setFilters={
|
|
129
|
+
setFilters={setFilters}
|
|
111
130
|
>
|
|
112
131
|
<div className='flex justify-between mb-1'>
|
|
113
132
|
<div className='flex gap-2 items-center'>
|
|
@@ -194,16 +194,16 @@ export function RunsFacetsNav({ facets, search }: RunsFacetsNavProps) {
|
|
|
194
194
|
filters={filters}
|
|
195
195
|
setFilters={handleFilterChange}
|
|
196
196
|
>
|
|
197
|
-
<div className='flex justify-between mb-1'>
|
|
198
|
-
<
|
|
197
|
+
<div className='flex justify-between mb-1 sticky top-2 py-2 z-10 bg-background'>
|
|
198
|
+
<div className='flex gap-2 items-center'>
|
|
199
|
+
<FilterBtn />
|
|
200
|
+
<FilterBar />
|
|
201
|
+
<FilterClear />
|
|
202
|
+
</div>
|
|
199
203
|
<Button onClick={handleRefetch} variant='outline' title="Refresh">
|
|
200
204
|
<RefreshCw className="size-5" />
|
|
201
205
|
</Button>
|
|
202
206
|
</div>
|
|
203
|
-
<div className='flex gap-2 items-center'>
|
|
204
|
-
<FilterBar />
|
|
205
|
-
<FilterClear />
|
|
206
|
-
</div>
|
|
207
207
|
</FilterProvider>
|
|
208
208
|
);
|
|
209
209
|
}
|
|
@@ -14,4 +14,4 @@ export { DocumentsFacetsNav, useDocumentFilterGroups, useDocumentFilterHandler }
|
|
|
14
14
|
export { InteractionsFacetsNav, useInteractionsFilterGroups, useInteractionsFilterHandler } from "./InteractionsFacetsNav";
|
|
15
15
|
export { PromptsFacetsNav, usePromptsFilterGroups, usePromptsFilterHandler } from "./PromptsFacetsNav";
|
|
16
16
|
export { CollectionsFacetsNav, useCollectionsFilterGroups, useCollectionsFilterHandler } from "./CollectionsFacetsNav";
|
|
17
|
-
export { AgentRunnerFacetsNav, useAgentRunnerFilterGroups,
|
|
17
|
+
export { AgentRunnerFacetsNav, useAgentRunnerFilterGroups, createAgentRunnerFilterHandler } from "./AgentRunnerFacetsNav";
|
|
@@ -7,7 +7,7 @@ import { capitalize } from 'lodash-es';
|
|
|
7
7
|
import { useNavigate } from '@vertesia/ui/router';
|
|
8
8
|
|
|
9
9
|
interface GenericPageNavHeaderProps {
|
|
10
|
-
title
|
|
10
|
+
title?: string | JSX.Element;
|
|
11
11
|
description?: string | JSX.Element;
|
|
12
12
|
actions?: ReactNode | ReactNode[];
|
|
13
13
|
breadcrumbs?: JSX.Element[]
|
|
@@ -17,7 +17,14 @@ interface GenericPageNavHeaderProps {
|
|
|
17
17
|
useDynamicBreadcrumbs?: boolean;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
// Matches MongoDB ObjectId (24 hex), UUID (36 chars with dashes), or any segment containing digits mixed with letters
|
|
21
|
+
const ID_SEGMENT_PATTERN = /^[a-f0-9]{24}$|^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$|^(?=.*\d)(?=.*[a-zA-Z])[a-zA-Z0-9_-]{8,}$/i;
|
|
22
|
+
|
|
23
|
+
function isIdSegment(segment: string): boolean {
|
|
24
|
+
return ID_SEGMENT_PATTERN.test(segment);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function GenericPageNavHeader({ className, children, title, description, actions, breadcrumbs, useDynamicBreadcrumbs = true }: GenericPageNavHeaderProps) {
|
|
21
28
|
const navigate = useNavigate();
|
|
22
29
|
|
|
23
30
|
function formatTitle(title: string): string {
|
|
@@ -29,53 +36,63 @@ export function GenericPageNavHeader({ className, children, title, description,
|
|
|
29
36
|
}
|
|
30
37
|
|
|
31
38
|
const buildBreadcrumbLabel = (entry: any): string => {
|
|
39
|
+
if (entry?.title) {
|
|
40
|
+
return entry.title;
|
|
41
|
+
}
|
|
42
|
+
|
|
32
43
|
const href = entry?.href || '';
|
|
33
44
|
if (!href) return 'Page';
|
|
34
|
-
|
|
45
|
+
|
|
35
46
|
const cleanHref = href.split('#')[0].split('?')[0];
|
|
36
47
|
const pathSegments: string[] = (cleanHref as string).split('/').filter((segment: string) => segment.length > 0);
|
|
37
|
-
|
|
38
|
-
if (pathSegments.length
|
|
39
|
-
if (entry.title !== document.title && entry.title) {
|
|
40
|
-
return entry.title;
|
|
41
|
-
}
|
|
42
|
-
const secondSegment = pathSegments[1];
|
|
43
|
-
return `${formatTitle(secondSegment)} Detail (...${pathSegments[2].slice(-6)})`;
|
|
44
|
-
} else if (pathSegments.length >= 2) {
|
|
48
|
+
|
|
49
|
+
if (pathSegments.length >= 1) {
|
|
45
50
|
return formatTitle(pathSegments[pathSegments.length - 1]);
|
|
46
|
-
} else if (pathSegments.length === 1) {
|
|
47
|
-
return formatTitle(pathSegments[0]);
|
|
48
51
|
}
|
|
49
|
-
|
|
52
|
+
|
|
50
53
|
return 'Page';
|
|
51
54
|
}
|
|
52
55
|
|
|
53
56
|
// Build breadcrumb items from history chain and current breadcrumbs
|
|
54
|
-
const buildBreadcrumbItems = (): Array<{ label: string, href?: string, onClick?: () => void }> => {
|
|
55
|
-
const items: Array<{ label: string, href?: string, onClick?: () => void, clearHistory?: boolean }> = [];
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
historyChain
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
57
|
+
const buildBreadcrumbItems = (): Array<{ label: string | ReactNode, href?: string, onClick?: () => void }> => {
|
|
58
|
+
const items: Array<{ label: string | ReactNode, href?: string, onClick?: () => void, clearHistory?: boolean }> = [];
|
|
59
|
+
|
|
60
|
+
if (useDynamicBreadcrumbs && typeof window !== 'undefined') {
|
|
61
|
+
const historyChain = window.history.state?.historyChain;
|
|
62
|
+
|
|
63
|
+
if (historyChain) {
|
|
64
|
+
// Use existing history chain
|
|
65
|
+
historyChain.forEach((entry: any, index: number) => {
|
|
66
|
+
const stepsBack = historyChain.length - index;
|
|
67
|
+
items.push({
|
|
68
|
+
label: buildBreadcrumbLabel(entry),
|
|
69
|
+
href: entry.href,
|
|
70
|
+
onClick: () => navigate(entry.href, { stepsBack: stepsBack })
|
|
71
|
+
});
|
|
66
72
|
});
|
|
67
|
-
}
|
|
73
|
+
} else {
|
|
74
|
+
// Infer parents from URL when navigating directly to a detail page
|
|
75
|
+
const segments = window.location.pathname.split('/').filter(s => s.length > 0);
|
|
76
|
+
for (let i = 0; i < segments.length; i++) {
|
|
77
|
+
if (isIdSegment(segments[i])) {
|
|
78
|
+
const parentPath = '/' + segments.slice(0, i).join('/');
|
|
79
|
+
items.push({
|
|
80
|
+
label: formatTitle(segments[i - 1] || parentPath),
|
|
81
|
+
href: parentPath,
|
|
82
|
+
onClick: () => navigate(parentPath, { isBasePathNested: false}),
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
68
87
|
}
|
|
69
88
|
|
|
70
89
|
// Add current page breadcrumbs
|
|
71
90
|
if (breadcrumbs && breadcrumbs.length > 0) {
|
|
72
91
|
breadcrumbs.forEach((breadcrumb: any) => {
|
|
73
|
-
//
|
|
74
|
-
const label =
|
|
75
|
-
? breadcrumb.props.children
|
|
76
|
-
: 'Page';
|
|
92
|
+
// Preserve the entire React element as label
|
|
93
|
+
const label = breadcrumb.props?.children || breadcrumb;
|
|
77
94
|
|
|
78
|
-
items.push((
|
|
95
|
+
items.push((breadcrumb?.props?.href) ? {
|
|
79
96
|
href: breadcrumb?.props?.href,
|
|
80
97
|
label: label,
|
|
81
98
|
onClick: () => navigate(breadcrumb.props.href, { replace: breadcrumb.props.clearBreadcrumbs }),
|
|
@@ -91,28 +108,34 @@ export function GenericPageNavHeader({ className, children, title, description,
|
|
|
91
108
|
const breadcrumbItems = buildBreadcrumbItems();
|
|
92
109
|
|
|
93
110
|
return (
|
|
94
|
-
<div className={clsx(
|
|
111
|
+
<div className={clsx('pb-0 pl-4 pr-2 py-2 flex flex-col', className)}>
|
|
95
112
|
<div className='flex items-start gap-4'>
|
|
96
|
-
<div className="w-full flex place-content-between h-auto min-h-8 flex-col items-start">
|
|
97
|
-
<nav className="flex-1 flex justify-start text-
|
|
113
|
+
<div className="w-full flex place-content-between h-auto min-h-8 flex-col items-start justify-center">
|
|
114
|
+
<nav className="flex-1 flex justify-start text-sm">
|
|
98
115
|
{breadcrumbItems.length > 0 && (
|
|
99
116
|
<Breadcrumbs
|
|
100
117
|
path={breadcrumbItems}
|
|
101
|
-
separator={<ChevronRight className="
|
|
118
|
+
separator={<ChevronRight className="size-3.5" />}
|
|
102
119
|
maxItems={4}
|
|
103
120
|
/>
|
|
104
121
|
)}
|
|
105
|
-
</nav>
|
|
106
|
-
<div className='flex gap-2 items-center'>
|
|
107
|
-
<h1 className="text-xl font-semibold break-all">{title}</h1>
|
|
108
122
|
{
|
|
109
123
|
description &&
|
|
110
124
|
<VTooltip
|
|
111
125
|
description={description}>
|
|
112
|
-
<Info className="size-4 text-muted" />
|
|
126
|
+
<Info className="size-4 text-muted ml-4" />
|
|
113
127
|
</VTooltip>
|
|
114
128
|
}
|
|
115
|
-
</
|
|
129
|
+
</nav>
|
|
130
|
+
{
|
|
131
|
+
title && (
|
|
132
|
+
<div className='flex gap-2 items-center'>
|
|
133
|
+
<h1 className="text-xl font-semibold break-all">{title}</h1>
|
|
134
|
+
|
|
135
|
+
</div>
|
|
136
|
+
|
|
137
|
+
)
|
|
138
|
+
}
|
|
116
139
|
</div>
|
|
117
140
|
<div className="flex gap-x-2 shrink-0">{actions}</div>
|
|
118
141
|
</div>
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
|
|
2
|
+
import { useUITranslation } from '../../i18n/index.js';
|
|
3
|
+
|
|
2
4
|
interface NotFoundViewProps {
|
|
3
5
|
}
|
|
4
6
|
export function NotFoundView({ }: NotFoundViewProps) {
|
|
7
|
+
const { t } = useUITranslation();
|
|
5
8
|
return (
|
|
6
9
|
<div className="text-center pt-32">
|
|
7
10
|
<h1 className="text-3xl font-bold text-red-500">404</h1>
|
|
8
|
-
<p className="text-2xl">
|
|
11
|
+
<p className="text-2xl">{t('layout.pageNotFound')}</p>
|
|
9
12
|
</div>
|
|
10
13
|
)
|
|
11
14
|
}
|
|
@@ -2,6 +2,7 @@ import { Button, Center, VTooltip } from "@vertesia/ui/core";
|
|
|
2
2
|
import clsx from "clsx";
|
|
3
3
|
import { ChevronsDown, ChevronsUp, Image, Loader2, Maximize, Minus, Plus, ScanSearch } from "lucide-react";
|
|
4
4
|
import { useRef, KeyboardEvent, useState, useEffect, useCallback } from "react";
|
|
5
|
+
import { useUITranslation } from '../../i18n/index.js';
|
|
5
6
|
import { ImageType, useMagicPdfContext } from "./MagicPdfProvider";
|
|
6
7
|
|
|
7
8
|
// Zoom levels as percentages (100 = fit to width)
|
|
@@ -42,6 +43,7 @@ interface AnnotatedImageSliderProps {
|
|
|
42
43
|
* Loads first image immediately to determine aspect ratio for stable layout.
|
|
43
44
|
*/
|
|
44
45
|
export function AnnotatedImageSlider({ className, currentPage, onChange }: AnnotatedImageSliderProps) {
|
|
46
|
+
const { t } = useUITranslation();
|
|
45
47
|
const [imageType, setImageType] = useState<ImageType>(ImageType.instrumented);
|
|
46
48
|
const [aspectRatio, setAspectRatio] = useState<number>(DEFAULT_ASPECT_RATIO);
|
|
47
49
|
const [loadedUrls, setLoadedUrls] = useState<Map<number, string>>(new Map());
|
|
@@ -250,7 +252,7 @@ export function AnnotatedImageSlider({ className, currentPage, onChange }: Annot
|
|
|
250
252
|
return (
|
|
251
253
|
<div ref={ref} className={clsx('flex flex-col items-stretch gap-y-2', className)}>
|
|
252
254
|
<div className="relative flex items-center justify-center px-2 h-9">
|
|
253
|
-
<Button variant="ghost" size="xs" onClick={goPrev} alt=
|
|
255
|
+
<Button variant="ghost" size="xs" onClick={goPrev} alt={t('pdf.previousPage')}>
|
|
254
256
|
<ChevronsUp className='size-4' />
|
|
255
257
|
</Button>
|
|
256
258
|
<div className="absolute left-2 flex items-center gap-x-1">
|
|
@@ -259,14 +261,14 @@ export function AnnotatedImageSlider({ className, currentPage, onChange }: Annot
|
|
|
259
261
|
currentType={imageType}
|
|
260
262
|
onClick={() => setImageType(ImageType.original)}
|
|
261
263
|
icon={<Image className="size-4" />}
|
|
262
|
-
tooltip=
|
|
264
|
+
tooltip={t('pdf.originalImages')}
|
|
263
265
|
/>
|
|
264
266
|
<ImageTypeButton
|
|
265
267
|
type={ImageType.instrumented}
|
|
266
268
|
currentType={imageType}
|
|
267
269
|
onClick={() => setImageType(ImageType.instrumented)}
|
|
268
270
|
icon={<ScanSearch className="size-4" />}
|
|
269
|
-
tooltip=
|
|
271
|
+
tooltip={t('pdf.instrumentedImages')}
|
|
270
272
|
/>
|
|
271
273
|
<div className="w-px h-4 bg-border mx-1" />
|
|
272
274
|
<ZoomControls
|
|
@@ -296,7 +298,7 @@ export function AnnotatedImageSlider({ className, currentPage, onChange }: Annot
|
|
|
296
298
|
))}
|
|
297
299
|
</div>
|
|
298
300
|
<div className="flex items-center justify-center h-9">
|
|
299
|
-
<Button variant="ghost" size="xs" onClick={goNext} alt=
|
|
301
|
+
<Button variant="ghost" size="xs" onClick={goNext} alt={t('pdf.nextPage')}>
|
|
300
302
|
<ChevronsDown className='size-4' />
|
|
301
303
|
</Button>
|
|
302
304
|
</div>
|
|
@@ -339,9 +341,10 @@ interface ZoomControlsProps {
|
|
|
339
341
|
canZoomOut: boolean;
|
|
340
342
|
}
|
|
341
343
|
function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZoomOut }: ZoomControlsProps) {
|
|
344
|
+
const { t } = useUITranslation();
|
|
342
345
|
return (
|
|
343
346
|
<div className="flex items-center gap-x-0.5">
|
|
344
|
-
<VTooltip description=
|
|
347
|
+
<VTooltip description={t('pdf.zoomOut')} placement="bottom" size="xs">
|
|
345
348
|
<button
|
|
346
349
|
className={clsx(
|
|
347
350
|
"p-1 rounded cursor-pointer transition-colors",
|
|
@@ -358,7 +361,7 @@ function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZo
|
|
|
358
361
|
<span className="text-xs text-muted-foreground min-w-[32px] text-center">
|
|
359
362
|
{zoom}%
|
|
360
363
|
</span>
|
|
361
|
-
<VTooltip description=
|
|
364
|
+
<VTooltip description={t('pdf.zoomIn')} placement="bottom" size="xs">
|
|
362
365
|
<button
|
|
363
366
|
className={clsx(
|
|
364
367
|
"p-1 rounded cursor-pointer transition-colors",
|
|
@@ -372,7 +375,7 @@ function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZo
|
|
|
372
375
|
<Plus className="size-4" />
|
|
373
376
|
</button>
|
|
374
377
|
</VTooltip>
|
|
375
|
-
<VTooltip description=
|
|
378
|
+
<VTooltip description={t('pdf.fitToWidth')} placement="bottom" size="xs">
|
|
376
379
|
<button
|
|
377
380
|
className={clsx(
|
|
378
381
|
"p-1 rounded cursor-pointer transition-colors",
|
|
@@ -432,6 +435,7 @@ interface PageNavigatorProps {
|
|
|
432
435
|
onChange: (page: number) => void;
|
|
433
436
|
}
|
|
434
437
|
function PageNavigator({ currentPage, totalPages, onChange }: PageNavigatorProps) {
|
|
438
|
+
const { t } = useUITranslation();
|
|
435
439
|
const inputRef = useRef<HTMLInputElement>(null);
|
|
436
440
|
const [inputValue, setInputValue] = useState(String(currentPage));
|
|
437
441
|
|
|
@@ -466,7 +470,7 @@ function PageNavigator({ currentPage, totalPages, onChange }: PageNavigatorProps
|
|
|
466
470
|
|
|
467
471
|
return (
|
|
468
472
|
<div className="flex items-center gap-1 text-xs text-muted-foreground">
|
|
469
|
-
<span>
|
|
473
|
+
<span>{t('pdf.page')}</span>
|
|
470
474
|
<input
|
|
471
475
|
ref={inputRef}
|
|
472
476
|
type="text"
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { ContentObject, DocumentMetadata } from "@vertesia/common";
|
|
2
|
-
import { Button } from "@vertesia/ui/core";
|
|
2
|
+
import { Button, Popover, PopoverContent, PopoverTrigger } from "@vertesia/ui/core";
|
|
3
3
|
import { useUserSession } from "@vertesia/ui/session";
|
|
4
|
-
import { Popover } from "@vertesia/ui/widgets";
|
|
5
4
|
import { Download } from "lucide-react";
|
|
5
|
+
import { useUITranslation } from '../../i18n/index.js';
|
|
6
6
|
import { getResourceUrl } from "./MagicPdfProvider";
|
|
7
7
|
|
|
8
8
|
interface DownloadPopoverProps {
|
|
9
9
|
object: ContentObject;
|
|
10
10
|
}
|
|
11
11
|
export function DownloadPopover({ object }: DownloadPopoverProps) {
|
|
12
|
+
const { t } = useUITranslation();
|
|
12
13
|
const { client } = useUserSession()
|
|
13
14
|
const onDownload = (name: string) => {
|
|
14
15
|
getResourceUrl(client, object.id, name).then(url => window.open(url, '_blank'));
|
|
@@ -33,7 +34,7 @@ export function DownloadPopover({ object }: DownloadPopoverProps) {
|
|
|
33
34
|
variant="ghost"
|
|
34
35
|
size="xs"
|
|
35
36
|
onClick={() => onDownload("document.md")}
|
|
36
|
-
alt=
|
|
37
|
+
alt={t('pdf.download')}
|
|
37
38
|
>
|
|
38
39
|
<Download className='size-4' />
|
|
39
40
|
</Button>
|
|
@@ -42,18 +43,18 @@ export function DownloadPopover({ object }: DownloadPopoverProps) {
|
|
|
42
43
|
|
|
43
44
|
// Default XML processor - multiple options, use popover
|
|
44
45
|
return (
|
|
45
|
-
<Popover
|
|
46
|
-
<
|
|
46
|
+
<Popover>
|
|
47
|
+
<PopoverTrigger>
|
|
47
48
|
<Button
|
|
48
49
|
variant="ghost"
|
|
49
50
|
size="xs"
|
|
50
|
-
alt=
|
|
51
|
+
alt={t('pdf.download')}
|
|
51
52
|
>
|
|
52
53
|
<Download className='size-4' />
|
|
53
54
|
</Button>
|
|
54
|
-
</
|
|
55
|
-
<
|
|
56
|
-
<div className="
|
|
55
|
+
</PopoverTrigger>
|
|
56
|
+
<PopoverContent align="start" className="p-0 w-auto">
|
|
57
|
+
<div className="min-w-[200px] flex flex-col divide-y divide-border">
|
|
57
58
|
<button className={buttonClass} onClick={() => onDownload("annotated.pdf")}>
|
|
58
59
|
annotated.pdf
|
|
59
60
|
</button>
|
|
@@ -64,7 +65,7 @@ export function DownloadPopover({ object }: DownloadPopoverProps) {
|
|
|
64
65
|
analyzed-pages.json
|
|
65
66
|
</button>
|
|
66
67
|
</div>
|
|
67
|
-
</
|
|
68
|
+
</PopoverContent>
|
|
68
69
|
</Popover>
|
|
69
70
|
)
|
|
70
71
|
}
|
|
@@ -3,6 +3,7 @@ import { Button, ErrorBox, ResizableHandle, ResizablePanel, ResizablePanelGroup,
|
|
|
3
3
|
import { useUserSession } from "@vertesia/ui/session";
|
|
4
4
|
import { X } from "lucide-react";
|
|
5
5
|
import { Component, ErrorInfo, ReactNode, useState } from "react";
|
|
6
|
+
import { useUITranslation, i18nInstance, NAMESPACE } from '../../i18n/index.js';
|
|
6
7
|
import { PdfPageSlider } from "../pdf-viewer/PdfPageSlider";
|
|
7
8
|
import { AnnotatedImageSlider } from "./AnnotatedImageSlider";
|
|
8
9
|
import { DownloadPopover } from "./DownloadPopover";
|
|
@@ -37,7 +38,7 @@ class PdfViewErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundarySt
|
|
|
37
38
|
return (
|
|
38
39
|
<div className="fixed inset-0 bg-background z-50 flex items-center justify-center">
|
|
39
40
|
<div className="flex flex-col items-center gap-4 p-8 max-w-md">
|
|
40
|
-
<ErrorBox title=
|
|
41
|
+
<ErrorBox title={i18nInstance.t('pdf.failedToLoadViewer', { ns: NAMESPACE })}>
|
|
41
42
|
{this.state.error?.message || 'An unexpected error occurred'}
|
|
42
43
|
</ErrorBox>
|
|
43
44
|
{this.props.onClose && (
|
|
@@ -59,6 +60,7 @@ interface MagicPdfViewProps {
|
|
|
59
60
|
onClose?: () => void;
|
|
60
61
|
}
|
|
61
62
|
export function MagicPdfView({ objectId, onClose }: MagicPdfViewProps) {
|
|
63
|
+
const { t } = useUITranslation();
|
|
62
64
|
const { client } = useUserSession();
|
|
63
65
|
|
|
64
66
|
const { data: object, error } = useFetch(() => client.store.objects.retrieve(objectId, "+text"), [objectId]);
|
|
@@ -67,7 +69,7 @@ export function MagicPdfView({ objectId, onClose }: MagicPdfViewProps) {
|
|
|
67
69
|
return (
|
|
68
70
|
<div className="fixed inset-0 bg-background z-50 flex items-center justify-center">
|
|
69
71
|
<div className="flex flex-col items-center gap-4 p-8 max-w-md">
|
|
70
|
-
<ErrorBox title=
|
|
72
|
+
<ErrorBox title={t('pdf.fetchingDocumentFailed')}>{error.message}</ErrorBox>
|
|
71
73
|
{onClose && (
|
|
72
74
|
<Button variant="outline" onClick={onClose}>
|
|
73
75
|
Close
|
|
@@ -88,7 +90,7 @@ export function MagicPdfView({ objectId, onClose }: MagicPdfViewProps) {
|
|
|
88
90
|
variant="ghost"
|
|
89
91
|
size="xs"
|
|
90
92
|
onClick={onClose}
|
|
91
|
-
alt=
|
|
93
|
+
alt={t('pdf.close')}
|
|
92
94
|
>
|
|
93
95
|
<X className='size-4' />
|
|
94
96
|
</Button>
|
|
@@ -117,6 +119,7 @@ interface _MagicPdfViewProps {
|
|
|
117
119
|
onClose?: () => void;
|
|
118
120
|
}
|
|
119
121
|
function MagicPdfViewImpl({ object, onClose }: _MagicPdfViewProps) {
|
|
122
|
+
const { t } = useUITranslation();
|
|
120
123
|
const { count: totalPages, pdfUrl, pdfUrlLoading } = useMagicPdfContext();
|
|
121
124
|
|
|
122
125
|
const getProcessorType = (): "xml" | "markdown" => {
|
|
@@ -151,7 +154,7 @@ function MagicPdfViewImpl({ object, onClose }: _MagicPdfViewProps) {
|
|
|
151
154
|
<DownloadPopover object={object} />
|
|
152
155
|
</div>
|
|
153
156
|
<span className="text-xs text-muted-foreground">
|
|
154
|
-
|
|
157
|
+
{t('pdf.pageOf', { pageNumber, totalPages })}
|
|
155
158
|
</span>
|
|
156
159
|
<div className="flex items-center gap-x-2">
|
|
157
160
|
{!!onClose && (
|
|
@@ -159,7 +162,7 @@ function MagicPdfViewImpl({ object, onClose }: _MagicPdfViewProps) {
|
|
|
159
162
|
variant="ghost"
|
|
160
163
|
size="xs"
|
|
161
164
|
onClick={onClose}
|
|
162
|
-
alt=
|
|
165
|
+
alt={t('pdf.close')}
|
|
163
166
|
>
|
|
164
167
|
<X className='size-4' />
|
|
165
168
|
</Button>
|
|
@@ -196,7 +199,7 @@ function MagicPdfViewImpl({ object, onClose }: _MagicPdfViewProps) {
|
|
|
196
199
|
<DownloadPopover object={object} />
|
|
197
200
|
</div>
|
|
198
201
|
<span className="text-xs text-muted-foreground">
|
|
199
|
-
|
|
202
|
+
{t('pdf.pageOf', { pageNumber, totalPages })}
|
|
200
203
|
</span>
|
|
201
204
|
<div className="flex items-center gap-x-2">
|
|
202
205
|
{!!onClose && (
|
|
@@ -204,7 +207,7 @@ function MagicPdfViewImpl({ object, onClose }: _MagicPdfViewProps) {
|
|
|
204
207
|
variant="ghost"
|
|
205
208
|
size="xs"
|
|
206
209
|
onClick={onClose}
|
|
207
|
-
alt=
|
|
210
|
+
alt={t('pdf.close')}
|
|
208
211
|
>
|
|
209
212
|
<X className='size-4' />
|
|
210
213
|
</Button>
|