@vertesia/ui 1.0.0-dev.20260305.083323Z → 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/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 +7 -4
- package/lib/esm/core/components/shadcn/theme/ThemeSwitcher.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 +12 -9
- 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 +23 -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 +28 -21
- 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 +3 -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/package.json +36 -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/switch.tsx +60 -0
- package/src/core/components/shadcn/tabs.tsx +29 -27
- package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +13 -9
- package/src/core/components/toast/NotificationPanel.tsx +38 -44
- 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 +461 -271
- 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 +14 -11
- 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 +24 -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 +35 -31
- 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
|
@@ -2,6 +2,7 @@ import { Button, Center, VTooltip } from "@vertesia/ui/core";
|
|
|
2
2
|
import clsx from "clsx";
|
|
3
3
|
import { ChevronsDown, ChevronsUp, Maximize, Minus, Plus } from "lucide-react";
|
|
4
4
|
import { ReactNode, useRef, useEffect, useState, useCallback, KeyboardEvent } from "react";
|
|
5
|
+
import { useUITranslation } from '../../i18n/index.js';
|
|
5
6
|
import { PdfThumbnailList } from "./PdfPageRenderer";
|
|
6
7
|
|
|
7
8
|
// A4 portrait aspect ratio - used as fallback
|
|
@@ -48,6 +49,7 @@ export function PdfPageSlider({
|
|
|
48
49
|
compact = false,
|
|
49
50
|
headerExtra
|
|
50
51
|
}: PdfPageSliderProps) {
|
|
52
|
+
const { t } = useUITranslation();
|
|
51
53
|
const ref = useRef<HTMLDivElement>(null);
|
|
52
54
|
const scrollContainerRef = useRef<HTMLDivElement>(null);
|
|
53
55
|
const [baseWidth, setBaseWidth] = useState<number | undefined>(undefined);
|
|
@@ -300,7 +302,7 @@ export function PdfPageSlider({
|
|
|
300
302
|
return (
|
|
301
303
|
<div ref={ref} className={clsx('flex flex-col items-stretch', compact ? 'gap-y-1' : 'gap-y-2', className)}>
|
|
302
304
|
<div className={clsx("relative flex items-center justify-center px-2", compact ? "h-6" : "h-9")}>
|
|
303
|
-
<Button variant="ghost" size="xs" onClick={goPrev} alt=
|
|
305
|
+
<Button variant="ghost" size="xs" onClick={goPrev} alt={t('pdf.previousPage')}>
|
|
304
306
|
<ChevronsUp className='size-4' />
|
|
305
307
|
</Button>
|
|
306
308
|
<div className="absolute left-2 flex items-center gap-x-1">
|
|
@@ -350,7 +352,7 @@ export function PdfPageSlider({
|
|
|
350
352
|
/>
|
|
351
353
|
</div>
|
|
352
354
|
<div className={clsx("flex items-center justify-center", compact ? "h-6" : "h-9")}>
|
|
353
|
-
<Button variant="ghost" size="xs" onClick={goNext} alt=
|
|
355
|
+
<Button variant="ghost" size="xs" onClick={goNext} alt={t('pdf.nextPage')}>
|
|
354
356
|
<ChevronsDown className='size-4' />
|
|
355
357
|
</Button>
|
|
356
358
|
</div>
|
|
@@ -364,6 +366,7 @@ interface PageNavigatorProps {
|
|
|
364
366
|
onChange: (page: number) => void;
|
|
365
367
|
}
|
|
366
368
|
function PageNavigator({ currentPage, totalPages, onChange }: PageNavigatorProps) {
|
|
369
|
+
const { t } = useUITranslation();
|
|
367
370
|
const inputRef = useRef<HTMLInputElement>(null);
|
|
368
371
|
const [inputValue, setInputValue] = useState(String(currentPage));
|
|
369
372
|
|
|
@@ -398,7 +401,7 @@ function PageNavigator({ currentPage, totalPages, onChange }: PageNavigatorProps
|
|
|
398
401
|
|
|
399
402
|
return (
|
|
400
403
|
<div className="flex items-center gap-1 text-xs text-muted-foreground">
|
|
401
|
-
<span>
|
|
404
|
+
<span>{t('pdf.page')}</span>
|
|
402
405
|
<input
|
|
403
406
|
ref={inputRef}
|
|
404
407
|
type="text"
|
|
@@ -422,9 +425,10 @@ interface ZoomControlsProps {
|
|
|
422
425
|
canZoomOut: boolean;
|
|
423
426
|
}
|
|
424
427
|
function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZoomOut }: ZoomControlsProps) {
|
|
428
|
+
const { t } = useUITranslation();
|
|
425
429
|
return (
|
|
426
430
|
<div className="flex items-center gap-x-0.5">
|
|
427
|
-
<VTooltip description=
|
|
431
|
+
<VTooltip description={t('pdf.zoomOut')} placement="bottom" size="xs">
|
|
428
432
|
<button
|
|
429
433
|
className={clsx(
|
|
430
434
|
"p-1 rounded cursor-pointer transition-colors",
|
|
@@ -441,7 +445,7 @@ function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZo
|
|
|
441
445
|
<span className="text-xs text-muted-foreground min-w-[32px] text-center">
|
|
442
446
|
{zoom}%
|
|
443
447
|
</span>
|
|
444
|
-
<VTooltip description=
|
|
448
|
+
<VTooltip description={t('pdf.zoomIn')} placement="bottom" size="xs">
|
|
445
449
|
<button
|
|
446
450
|
className={clsx(
|
|
447
451
|
"p-1 rounded cursor-pointer transition-colors",
|
|
@@ -455,7 +459,7 @@ function ZoomControls({ zoom, onZoomIn, onZoomOut, onFitToView, canZoomIn, canZo
|
|
|
455
459
|
<Plus className="size-4" />
|
|
456
460
|
</button>
|
|
457
461
|
</VTooltip>
|
|
458
|
-
<VTooltip description=
|
|
462
|
+
<VTooltip description={t('pdf.fitToWidth')} placement="bottom" size="xs">
|
|
459
463
|
<button
|
|
460
464
|
className={clsx(
|
|
461
465
|
"p-1 rounded cursor-pointer transition-colors",
|
|
@@ -3,6 +3,7 @@ import { Button, Spinner, VTooltip } from "@vertesia/ui/core";
|
|
|
3
3
|
import { useUserSession } from "@vertesia/ui/session";
|
|
4
4
|
import { Maximize2, X } from "lucide-react";
|
|
5
5
|
import { useEffect, useState } from "react";
|
|
6
|
+
import { useUITranslation } from '../../i18n/index.js';
|
|
6
7
|
import { PdfPageSlider } from "./PdfPageSlider";
|
|
7
8
|
|
|
8
9
|
interface SimplePdfViewerProps {
|
|
@@ -22,6 +23,7 @@ interface SimplePdfViewerProps {
|
|
|
22
23
|
* Does not depend on any magic-pdf context.
|
|
23
24
|
*/
|
|
24
25
|
export function SimplePdfViewer({ object, url, source, className }: SimplePdfViewerProps) {
|
|
26
|
+
const { t } = useUITranslation();
|
|
25
27
|
const { client } = useUserSession();
|
|
26
28
|
const [currentPage, setCurrentPage] = useState(1);
|
|
27
29
|
const [pdfUrl, setPdfUrl] = useState<string>(url || "");
|
|
@@ -86,7 +88,7 @@ export function SimplePdfViewer({ object, url, source, className }: SimplePdfVie
|
|
|
86
88
|
if (!pdfUrl) {
|
|
87
89
|
return (
|
|
88
90
|
<div className="flex items-center justify-center h-full text-muted">
|
|
89
|
-
|
|
91
|
+
{t('pdf.noPdfAvailable')}
|
|
90
92
|
</div>
|
|
91
93
|
);
|
|
92
94
|
}
|
|
@@ -97,7 +99,7 @@ export function SimplePdfViewer({ object, url, source, className }: SimplePdfVie
|
|
|
97
99
|
<div className="fixed inset-0 bg-background z-50 flex flex-col overflow-hidden">
|
|
98
100
|
{/* Header with close button */}
|
|
99
101
|
<div className="flex h-9 items-center justify-end shrink-0 bg-sidebar px-2 border-b border-sidebar-border">
|
|
100
|
-
<Button variant="ghost" size="xs" onClick={() => setIsFullscreen(false)} alt=
|
|
102
|
+
<Button variant="ghost" size="xs" onClick={() => setIsFullscreen(false)} alt={t('pdf.closeFullscreen')}>
|
|
101
103
|
<X className="size-4" />
|
|
102
104
|
</Button>
|
|
103
105
|
</div>
|
|
@@ -127,7 +129,7 @@ export function SimplePdfViewer({ object, url, source, className }: SimplePdfVie
|
|
|
127
129
|
className={className}
|
|
128
130
|
compact
|
|
129
131
|
headerExtra={
|
|
130
|
-
<VTooltip description=
|
|
132
|
+
<VTooltip description={t('pdf.fullscreen')} placement="bottom" size="xs">
|
|
131
133
|
<button
|
|
132
134
|
className="p-1 rounded cursor-pointer transition-colors text-muted-foreground hover:text-foreground hover:bg-muted"
|
|
133
135
|
onClick={() => setIsFullscreen(true)}
|
|
@@ -2,6 +2,7 @@ import { Permission, ProjectRoles } from "@vertesia/common"
|
|
|
2
2
|
import { ErrorBox, useFetch } from "@vertesia/ui/core"
|
|
3
3
|
import { UserSession, useUserSession } from "@vertesia/ui/session"
|
|
4
4
|
import { createContext, useContext, useMemo } from "react"
|
|
5
|
+
import { useUITranslation } from '../../i18n/index.js';
|
|
5
6
|
import { isAnyOf } from "./helpers"
|
|
6
7
|
|
|
7
8
|
type ListRolesResponse = {
|
|
@@ -76,6 +77,7 @@ interface UserPermissionProviderProps {
|
|
|
76
77
|
children: React.ReactNode
|
|
77
78
|
}
|
|
78
79
|
export function UserPermissionProvider({ children }: UserPermissionProviderProps) {
|
|
80
|
+
const { t } = useUITranslation();
|
|
79
81
|
const session = useUserSession();
|
|
80
82
|
const { data, error, isLoading } = useFetch<ListRolesResponse | undefined>(() => {
|
|
81
83
|
if (session.user) {
|
|
@@ -94,7 +96,7 @@ export function UserPermissionProvider({ children }: UserPermissionProviderProps
|
|
|
94
96
|
}, [session, data, isLoading]);
|
|
95
97
|
|
|
96
98
|
if (error) {
|
|
97
|
-
return <ErrorBox title=
|
|
99
|
+
return <ErrorBox title={t('store.failedToFetchRoleMappings')}>{error.message}</ErrorBox>
|
|
98
100
|
}
|
|
99
101
|
|
|
100
102
|
return perms && (
|
|
@@ -4,6 +4,16 @@ import { useUserSession } from "@vertesia/ui/session";
|
|
|
4
4
|
import { TypeRegistry } from "../types/TypeRegistry.js";
|
|
5
5
|
import { useTypeRegistry } from "../types/TypeRegistryProvider.js";
|
|
6
6
|
import { DocumentSearchResults, DocumentSearchResultsWithDropZone } from "../objects/DocumentSearchResults";
|
|
7
|
+
import { ColumnLayout } from "@vertesia/common";
|
|
8
|
+
|
|
9
|
+
const collectionDefaultLayout: ColumnLayout[] = [
|
|
10
|
+
{ name: "ID", field: "id", type: "objectId?slice=-7" },
|
|
11
|
+
{ name: "Name", field: ".", type: "objectName" },
|
|
12
|
+
{ name: "Revision", field: ".", type: "revision" },
|
|
13
|
+
{ name: "Type", field: "type.name", type: "string" },
|
|
14
|
+
{ name: "Status", field: "status", type: "string" },
|
|
15
|
+
{ name: "Updated At", field: "updated_at", type: "date" },
|
|
16
|
+
];
|
|
7
17
|
|
|
8
18
|
|
|
9
19
|
interface BrowseCollectionViewProps {
|
|
@@ -44,6 +54,6 @@ function getTableLayout(collection: Collection, typeRegistry?: TypeRegistry | un
|
|
|
44
54
|
if (table_layout && table_layout.length > 0) {
|
|
45
55
|
return table_layout;
|
|
46
56
|
} else {
|
|
47
|
-
return
|
|
57
|
+
return collectionDefaultLayout;
|
|
48
58
|
}
|
|
49
59
|
}
|
|
@@ -6,6 +6,7 @@ import dayjs from 'dayjs';
|
|
|
6
6
|
import relativeTime from 'dayjs/plugin/relativeTime';
|
|
7
7
|
import { useState, useEffect } from "react";
|
|
8
8
|
import { CreateCollectionModal } from "./CreateCollection";
|
|
9
|
+
import { useUITranslation } from '../../../i18n/index.js';
|
|
9
10
|
|
|
10
11
|
dayjs.extend(relativeTime);
|
|
11
12
|
|
|
@@ -14,6 +15,7 @@ interface CollectionsTableProps {
|
|
|
14
15
|
export function CollectionsTable({ }: CollectionsTableProps) {
|
|
15
16
|
const { client } = useUserSession();
|
|
16
17
|
const toast = useToast();
|
|
18
|
+
const { t } = useUITranslation();
|
|
17
19
|
const [collectionToDelete, setCollectionToDelete] = useState<string | undefined>();
|
|
18
20
|
const [isLoading, setIsLoading] = useState(true);
|
|
19
21
|
const [isOpen, setOpen] = useState(false);
|
|
@@ -28,7 +30,7 @@ export function CollectionsTable({ }: CollectionsTableProps) {
|
|
|
28
30
|
}, [collections, error]);
|
|
29
31
|
|
|
30
32
|
if (error) {
|
|
31
|
-
return <ErrorBox title='
|
|
33
|
+
return <ErrorBox title={t('store.collectionFetchFailed')}>{error.message}</ErrorBox>
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
const deleteCollection = async () => {
|
|
@@ -37,7 +39,7 @@ export function CollectionsTable({ }: CollectionsTableProps) {
|
|
|
37
39
|
try {
|
|
38
40
|
await client.store.collections.delete(collectionToDelete);
|
|
39
41
|
toast({
|
|
40
|
-
title: '
|
|
42
|
+
title: t('store.collectionDeleted'),
|
|
41
43
|
status: 'success',
|
|
42
44
|
duration: 3000
|
|
43
45
|
});
|
|
@@ -45,7 +47,7 @@ export function CollectionsTable({ }: CollectionsTableProps) {
|
|
|
45
47
|
} catch (err: any) {
|
|
46
48
|
console.error('Failed to delete collection:', err);
|
|
47
49
|
toast({
|
|
48
|
-
title: '
|
|
50
|
+
title: t('store.failedToDeleteCollection'),
|
|
49
51
|
description: err.message || 'An error occurred',
|
|
50
52
|
status: 'error',
|
|
51
53
|
duration: 5000
|
|
@@ -63,9 +65,9 @@ export function CollectionsTable({ }: CollectionsTableProps) {
|
|
|
63
65
|
(<Table className="w-full">
|
|
64
66
|
<thead>
|
|
65
67
|
<tr>
|
|
66
|
-
<th>
|
|
67
|
-
<th>
|
|
68
|
-
<th>
|
|
68
|
+
<th>{t('type.name')}</th >
|
|
69
|
+
<th>{t('type.type')}</th>
|
|
70
|
+
<th>{t('store.created')}</th>
|
|
69
71
|
<th></th>
|
|
70
72
|
</tr >
|
|
71
73
|
</thead >
|
|
@@ -95,8 +97,8 @@ export function CollectionsTable({ }: CollectionsTableProps) {
|
|
|
95
97
|
}
|
|
96
98
|
</TBody>
|
|
97
99
|
</Table >) :
|
|
98
|
-
<EmptyCollection title=
|
|
99
|
-
|
|
100
|
+
<EmptyCollection title={t('store.noCollections')} buttonLabel={t('store.newCollections')} onClick={() => setOpen(true)}>
|
|
101
|
+
{t('store.getStartedCollections')}
|
|
100
102
|
</EmptyCollection>)
|
|
101
103
|
}
|
|
102
104
|
|
|
@@ -104,8 +106,8 @@ export function CollectionsTable({ }: CollectionsTableProps) {
|
|
|
104
106
|
|
|
105
107
|
<ConfirmModal
|
|
106
108
|
isOpen={!!collectionToDelete}
|
|
107
|
-
title=
|
|
108
|
-
content=
|
|
109
|
+
title={t('store.deleteCollection')}
|
|
110
|
+
content={t('store.areYouSureDeleteCollection')}
|
|
109
111
|
onConfirm={deleteCollection}
|
|
110
112
|
onCancel={() => setCollectionToDelete(undefined)}
|
|
111
113
|
/>
|
|
@@ -113,8 +115,9 @@ export function CollectionsTable({ }: CollectionsTableProps) {
|
|
|
113
115
|
)
|
|
114
116
|
}
|
|
115
117
|
|
|
116
|
-
export function
|
|
117
|
-
const
|
|
118
|
+
export function CollectionIcon({ isDynamic }: { isDynamic: boolean }) {
|
|
119
|
+
const { t } = useUITranslation();
|
|
120
|
+
const tooltipText = isDynamic ? t('store.dynamicCollection') : t('store.staticCollection');
|
|
118
121
|
const icon = isDynamic ? <Search className="size-5" /> : <FolderClosed className="size-5" />;
|
|
119
122
|
|
|
120
123
|
return (
|
|
@@ -122,4 +125,9 @@ export function collectionIcon(isDynamic: boolean) {
|
|
|
122
125
|
{icon}
|
|
123
126
|
</VTooltip>
|
|
124
127
|
);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/** @deprecated Use CollectionIcon component instead */
|
|
131
|
+
export function collectionIcon(isDynamic: boolean) {
|
|
132
|
+
return <CollectionIcon isDynamic={isDynamic} />;
|
|
125
133
|
}
|
|
@@ -4,6 +4,7 @@ import { SelectContentType } from "../types/SelectContentType";
|
|
|
4
4
|
import { useNavigate } from "@vertesia/ui/router";
|
|
5
5
|
import { useUserSession } from "@vertesia/ui/session";
|
|
6
6
|
import { useState } from "react";
|
|
7
|
+
import { useUITranslation } from '../../../i18n/index.js';
|
|
7
8
|
|
|
8
9
|
interface CreateCollectionFormProps {
|
|
9
10
|
onClose: () => void;
|
|
@@ -13,6 +14,7 @@ interface CreateCollectionFormProps {
|
|
|
13
14
|
export function CreateCollectionForm({ onClose, redirect = true, onAddToCollection }: CreateCollectionFormProps) {
|
|
14
15
|
const navigate = useNavigate();
|
|
15
16
|
const toast = useToast();
|
|
17
|
+
const { t } = useUITranslation();
|
|
16
18
|
const [isProcessing, setProcessing] = useState(false);
|
|
17
19
|
const { client } = useUserSession();
|
|
18
20
|
const [payload, setPayload] = useState<CreateCollectionPayload>({
|
|
@@ -31,8 +33,8 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
|
|
|
31
33
|
const onCreate = () => {
|
|
32
34
|
if (!payload?.name || !payload.name.trim()) {
|
|
33
35
|
toast({
|
|
34
|
-
title:
|
|
35
|
-
description:
|
|
36
|
+
title: t('type.nameRequired'),
|
|
37
|
+
description: t('store.pleaseProvideName'),
|
|
36
38
|
status: "error",
|
|
37
39
|
duration: 5000,
|
|
38
40
|
});
|
|
@@ -51,7 +53,7 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
|
|
|
51
53
|
.then((r) => {
|
|
52
54
|
onClose();
|
|
53
55
|
toast({
|
|
54
|
-
title:
|
|
56
|
+
title: t('store.collectionCreated'),
|
|
55
57
|
description: `Collection "${r.name}" created successfully`,
|
|
56
58
|
status: "success",
|
|
57
59
|
duration: 3000,
|
|
@@ -64,7 +66,7 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
|
|
|
64
66
|
})
|
|
65
67
|
.catch((err) => {
|
|
66
68
|
toast({
|
|
67
|
-
title:
|
|
69
|
+
title: t('store.failedToCreateCollection'),
|
|
68
70
|
description: err.message,
|
|
69
71
|
status: "error",
|
|
70
72
|
duration: 5000,
|
|
@@ -77,20 +79,20 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
|
|
|
77
79
|
<>
|
|
78
80
|
<ModalBody>
|
|
79
81
|
<form onSubmit={(e) => e.preventDefault()}>
|
|
80
|
-
<FormItem label=
|
|
82
|
+
<FormItem label={t('type.name')} required>
|
|
81
83
|
<Input type="text" value={payload.name || ""} onChange={(value) => setPayloadProp("name", value)} />
|
|
82
84
|
</FormItem>
|
|
83
|
-
<FormItem label=
|
|
85
|
+
<FormItem label={t('type.description')} className="mt-2">
|
|
84
86
|
<Textarea
|
|
85
87
|
value={payload.description || ""}
|
|
86
88
|
onChange={(ev) => setPayloadProp("description", ev.target.value)}
|
|
87
89
|
/>
|
|
88
90
|
</FormItem>
|
|
89
|
-
<FormItem label=
|
|
91
|
+
<FormItem label={t('store.dynamicCollection')} className="mt-2" direction="row" description={t('store.dynamicCollectionDescription')}>
|
|
90
92
|
<Switch value={payload.dynamic || false} onChange={(value) => setPayloadProp("dynamic", value)} />
|
|
91
93
|
</FormItem>
|
|
92
94
|
{!payload.dynamic &&
|
|
93
|
-
<FormItem label=
|
|
95
|
+
<FormItem label={t('store.allowedContentTypes')} className="mt-4" description={t('store.allowedContentTypesOptionalDescription')}>
|
|
94
96
|
<SelectContentType
|
|
95
97
|
defaultValue={payload.allowed_types || null}
|
|
96
98
|
onChange={(v) => {
|
|
@@ -104,7 +106,7 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
|
|
|
104
106
|
/>
|
|
105
107
|
</FormItem>
|
|
106
108
|
}
|
|
107
|
-
<FormItem label=
|
|
109
|
+
<FormItem label={t('store.contentType')} className="mt-2" description={t('store.typeDescription')}>
|
|
108
110
|
<SelectContentType
|
|
109
111
|
defaultValue={payload.type || null}
|
|
110
112
|
onChange={(v) => {
|
|
@@ -121,7 +123,7 @@ export function CreateCollectionForm({ onClose, redirect = true, onAddToCollecti
|
|
|
121
123
|
</ModalBody>
|
|
122
124
|
<ModalFooter>
|
|
123
125
|
<Button isDisabled={isProcessing} onClick={onCreate}>
|
|
124
|
-
|
|
126
|
+
{t('store.createCollection')}
|
|
125
127
|
</Button>
|
|
126
128
|
</ModalFooter>
|
|
127
129
|
</>
|
|
@@ -133,9 +135,10 @@ interface CreateCollectionModalProps {
|
|
|
133
135
|
onClose: () => void;
|
|
134
136
|
}
|
|
135
137
|
export function CreateCollectionModal({ isOpen, onClose }: CreateCollectionModalProps) {
|
|
138
|
+
const { t } = useUITranslation();
|
|
136
139
|
return (
|
|
137
140
|
<Modal onClose={onClose} isOpen={isOpen}>
|
|
138
|
-
<ModalTitle>
|
|
141
|
+
<ModalTitle>{t('store.createACollection')}</ModalTitle>
|
|
139
142
|
<CreateCollectionForm onClose={onClose} />
|
|
140
143
|
</Modal>
|
|
141
144
|
);
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { Collection, CreateCollectionPayload, JSONSchemaObject } from "@vertesia/common";
|
|
1
|
+
import { Collection, CreateCollectionPayload, getContentTypeRefId, JSONSchemaObject } from "@vertesia/common";
|
|
2
2
|
import { Button, ErrorBox, FormItem, Input, Panel, Styles, Textarea, useFetch, useToast, useTheme } from "@vertesia/ui/core";
|
|
3
3
|
import { SharedPropsEditor, SyncMemberHeadsToggle, UserInfo } from "@vertesia/ui/features";
|
|
4
4
|
import { useUserSession } from "@vertesia/ui/session";
|
|
5
5
|
import { MonacoEditor, EditorApi, GeneratedForm, ManagedObject, Node } from "@vertesia/ui/widgets";
|
|
6
6
|
import dayjs from "dayjs";
|
|
7
7
|
import { useMemo, useRef, useState } from "react";
|
|
8
|
+
import { useUITranslation } from '../../../i18n/index.js';
|
|
8
9
|
import { SelectContentType, stringifyTableLayout } from "../types";
|
|
9
10
|
|
|
10
11
|
interface UpdateData {
|
|
@@ -21,7 +22,8 @@ interface EditCollectionViewProps {
|
|
|
21
22
|
refetch: () => void;
|
|
22
23
|
}
|
|
23
24
|
export function EditCollectionView({ refetch, collection }: EditCollectionViewProps) {
|
|
24
|
-
const
|
|
25
|
+
const { t } = useUITranslation();
|
|
26
|
+
const typeId = collection.type ? getContentTypeRefId(collection.type) : undefined;
|
|
25
27
|
const tableLayoutRef = useRef<EditorApi | undefined>(undefined);
|
|
26
28
|
const toast = useToast();
|
|
27
29
|
const { theme } = useTheme();
|
|
@@ -32,7 +34,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
|
|
|
32
34
|
description: collection.description || "",
|
|
33
35
|
query: collection.query ? JSON.stringify(collection.query, null, 2) : "",
|
|
34
36
|
tags: collection.tags || [],
|
|
35
|
-
type: collection.type
|
|
37
|
+
type: collection.type ? getContentTypeRefId(collection.type) : "",
|
|
36
38
|
allowed_types: collection.allowed_types || [],
|
|
37
39
|
});
|
|
38
40
|
|
|
@@ -41,12 +43,12 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
|
|
|
41
43
|
}, [collection.table_layout]);
|
|
42
44
|
|
|
43
45
|
const onSubmit = () => {
|
|
44
|
-
let query: any
|
|
46
|
+
let query: any;
|
|
45
47
|
try {
|
|
46
48
|
query = metadata.query ? JSON.parse(metadata.query) : undefined;
|
|
47
49
|
} catch (err: any) {
|
|
48
50
|
toast({
|
|
49
|
-
title:
|
|
51
|
+
title: t('store.invalidQueryJson'),
|
|
50
52
|
description: err.message,
|
|
51
53
|
status: "error",
|
|
52
54
|
duration: 5000,
|
|
@@ -64,14 +66,14 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
|
|
|
64
66
|
};
|
|
65
67
|
let error: string | undefined;
|
|
66
68
|
if (!payload.name) {
|
|
67
|
-
error =
|
|
69
|
+
error = t('type.nameRequired');
|
|
68
70
|
}
|
|
69
71
|
if (!payload.type) {
|
|
70
72
|
(payload as any).type = null;
|
|
71
73
|
}
|
|
72
74
|
if (error) {
|
|
73
75
|
toast({
|
|
74
|
-
title:
|
|
76
|
+
title: t('store.validationFailed'),
|
|
75
77
|
description: error,
|
|
76
78
|
status: "error",
|
|
77
79
|
duration: 5000,
|
|
@@ -85,7 +87,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
|
|
|
85
87
|
payload.table_layout = JSON.parse(layout);
|
|
86
88
|
} catch (err: any) {
|
|
87
89
|
toast({
|
|
88
|
-
title:
|
|
90
|
+
title: t('store.invalidTableLayout'),
|
|
89
91
|
description: err.message,
|
|
90
92
|
status: "error",
|
|
91
93
|
duration: 5000,
|
|
@@ -102,15 +104,15 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
|
|
|
102
104
|
.then(() => {
|
|
103
105
|
refetch();
|
|
104
106
|
toast({
|
|
105
|
-
title:
|
|
106
|
-
description:
|
|
107
|
+
title: t('store.collectionUpdated'),
|
|
108
|
+
description: t('store.collectionUpdatedSuccess'),
|
|
107
109
|
status: "success",
|
|
108
110
|
duration: 3000,
|
|
109
111
|
});
|
|
110
112
|
})
|
|
111
113
|
.catch((err) => {
|
|
112
114
|
toast({
|
|
113
|
-
title:
|
|
115
|
+
title: t('store.failedToUpdateCollection'),
|
|
114
116
|
description: err.message,
|
|
115
117
|
status: "error",
|
|
116
118
|
duration: 5000,
|
|
@@ -130,32 +132,32 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
|
|
|
130
132
|
|
|
131
133
|
return (
|
|
132
134
|
<div className="flex flex-col gap-4 py-2">
|
|
133
|
-
<Panel title=
|
|
135
|
+
<Panel title={t('store.configuration')}
|
|
134
136
|
action={
|
|
135
137
|
<Button size="lg" isDisabled={isUpdating} onClick={onSubmit}>
|
|
136
|
-
|
|
138
|
+
{t('modal.save')}
|
|
137
139
|
</Button>
|
|
138
140
|
}>
|
|
139
141
|
<div className="flex justify-between mb-2">
|
|
140
142
|
<div className="w-1/2 gap-2 flex flex-col">
|
|
141
|
-
<div className="text-sm font-medium mb-1">
|
|
143
|
+
<div className="text-sm font-medium mb-1">{t('store.createdBy')}</div>
|
|
142
144
|
<div className="gap-2 flex items-center">
|
|
143
145
|
<UserInfo userRef={collection.created_by} showTitle />
|
|
144
146
|
<span>at {dayjs(collection.created_at).format("YYYY-MM-DD HH:mm:ss")}</span>
|
|
145
147
|
</div>
|
|
146
148
|
</div>
|
|
147
149
|
<div className="w-1/2 gap-2 flex flex-col">
|
|
148
|
-
<div className="text-sm font-medium mb-1">
|
|
150
|
+
<div className="text-sm font-medium mb-1">{t('store.updatedBy')}</div>
|
|
149
151
|
<div className="gap-2 flex items-center">
|
|
150
152
|
<UserInfo userRef={collection.updated_by} showTitle />
|
|
151
153
|
<span>at {dayjs(collection.updated_at).format("YYYY-MM-DD HH:mm:ss")}</span>
|
|
152
154
|
</div>
|
|
153
155
|
</div>
|
|
154
156
|
</div>
|
|
155
|
-
<FormItem label=
|
|
157
|
+
<FormItem label={t('type.name')} required>
|
|
156
158
|
<Input value={metadata.name} onChange={(v) => setField("name", v)} />
|
|
157
159
|
</FormItem>
|
|
158
|
-
<FormItem label=
|
|
160
|
+
<FormItem label={t('type.description')}>
|
|
159
161
|
<Textarea
|
|
160
162
|
value={metadata.description}
|
|
161
163
|
onChange={(e) => setField("description", e.target.value)}
|
|
@@ -163,7 +165,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
|
|
|
163
165
|
</FormItem>
|
|
164
166
|
{
|
|
165
167
|
!collection.dynamic &&
|
|
166
|
-
<FormItem label=
|
|
168
|
+
<FormItem label={t('store.allowedContentTypes')} description={t('store.allowedContentTypesSelectDescription')}>
|
|
167
169
|
<SelectContentType
|
|
168
170
|
defaultValue={metadata.allowed_types || null}
|
|
169
171
|
onChange={(v) => {
|
|
@@ -179,7 +181,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
|
|
|
179
181
|
}
|
|
180
182
|
{
|
|
181
183
|
collection.dynamic && (
|
|
182
|
-
<FormItem label=
|
|
184
|
+
<FormItem label={t('store.query')} description={t('store.queryDescription')}>
|
|
183
185
|
<Textarea
|
|
184
186
|
className={Styles.INPUT}
|
|
185
187
|
value={metadata.query}
|
|
@@ -188,7 +190,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
|
|
|
188
190
|
</FormItem>
|
|
189
191
|
)
|
|
190
192
|
}
|
|
191
|
-
<FormItem label=
|
|
193
|
+
<FormItem label={t('store.tableLayout')} description={t('store.tableLayoutDescription')} className="h-[200px]">
|
|
192
194
|
<MonacoEditor
|
|
193
195
|
className="border-1 rounded-md border-border"
|
|
194
196
|
value={tableLayoutValue}
|
|
@@ -197,7 +199,7 @@ export function EditCollectionView({ refetch, collection }: EditCollectionViewPr
|
|
|
197
199
|
theme={theme === 'dark' ? 'vs-dark' : 'vs'}
|
|
198
200
|
/>
|
|
199
201
|
</FormItem>
|
|
200
|
-
<FormItem label=
|
|
202
|
+
<FormItem label={t('store.contentType')} description={t('store.typeSelectDescription')}>
|
|
201
203
|
<SelectContentType
|
|
202
204
|
defaultValue={metadata.type || null}
|
|
203
205
|
onChange={(v) => {
|
|
@@ -231,17 +233,18 @@ interface PropertiesEditorProps {
|
|
|
231
233
|
collection: Collection;
|
|
232
234
|
}
|
|
233
235
|
function PropertiesEditor({ typeId, collection }: PropertiesEditorProps) {
|
|
236
|
+
const { t } = useUITranslation();
|
|
234
237
|
const [formData, setFormData] = useState<JSONSchemaObject>({});
|
|
235
238
|
const toast = useToast();
|
|
236
239
|
const { client } = useUserSession();
|
|
237
240
|
const [isUpdating, setIsUpdating] = useState(false);
|
|
238
241
|
|
|
239
|
-
const { data: type, error } = useFetch(() => client.store.types.
|
|
242
|
+
const { data: type, error } = useFetch(() => client.store.types.catalog.resolve(typeId), [typeId]);
|
|
240
243
|
const schema = type?.object_schema || {};
|
|
241
244
|
const object = useMemo(() => new ManagedObject(schema, collection.properties || {}), [schema, collection.properties]);
|
|
242
245
|
|
|
243
246
|
if (error) {
|
|
244
|
-
return <ErrorBox title=
|
|
247
|
+
return <ErrorBox title={t('store.failedToLoadType')}>{error.message}</ErrorBox>;
|
|
245
248
|
}
|
|
246
249
|
|
|
247
250
|
if (!type) {
|
|
@@ -259,15 +262,15 @@ function PropertiesEditor({ typeId, collection }: PropertiesEditorProps) {
|
|
|
259
262
|
.update(collection.id, payload)
|
|
260
263
|
.then(() => {
|
|
261
264
|
toast({
|
|
262
|
-
title:
|
|
263
|
-
description:
|
|
265
|
+
title: t('store.collectionPropertiesUpdated'),
|
|
266
|
+
description: t('store.collectionUpdatedSuccess'),
|
|
264
267
|
status: "success",
|
|
265
268
|
duration: 3000,
|
|
266
269
|
});
|
|
267
270
|
})
|
|
268
271
|
.catch((err) => {
|
|
269
272
|
toast({
|
|
270
|
-
title:
|
|
273
|
+
title: t('store.failedToUpdateCollectionProperties'),
|
|
271
274
|
description: err.message,
|
|
272
275
|
status: "error",
|
|
273
276
|
duration: 5000,
|
|
@@ -285,9 +288,9 @@ function PropertiesEditor({ typeId, collection }: PropertiesEditorProps) {
|
|
|
285
288
|
}
|
|
286
289
|
|
|
287
290
|
return (
|
|
288
|
-
<Panel title=
|
|
291
|
+
<Panel title={t('store.properties')} action={
|
|
289
292
|
<Button size="lg" isLoading={isUpdating} type="submit" onClick={() => _onSave(formData)}>
|
|
290
|
-
|
|
293
|
+
{t('modal.save')}
|
|
291
294
|
</Button>}
|
|
292
295
|
>
|
|
293
296
|
<GeneratedForm object={object} onChange={onDataChanged} />
|