@vertesia/ui 1.5.0-dev.20260717.131047Z → 1.5.0-dev.20260725.083715Z
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/core/components/SidePanel.js +1 -1
- package/lib/core/components/SidePanel.js.map +1 -1
- package/lib/core/components/shadcn/button.d.ts +10 -3
- package/lib/core/components/shadcn/button.d.ts.map +1 -1
- package/lib/core/components/shadcn/button.js +41 -9
- package/lib/core/components/shadcn/button.js.map +1 -1
- package/lib/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
- package/lib/core/components/shadcn/filters/filterBar.js +1 -1
- package/lib/core/components/shadcn/filters/filterBar.js.map +1 -1
- package/lib/core/components/shadcn/modal/dialog.d.ts +1 -1
- package/lib/core/components/shadcn/modal/dialog.d.ts.map +1 -1
- package/lib/core/components/shadcn/modal/dialog.js +3 -1
- package/lib/core/components/shadcn/modal/dialog.js.map +1 -1
- package/lib/core/components/shadcn/tabs.d.ts +12 -1
- package/lib/core/components/shadcn/tabs.d.ts.map +1 -1
- package/lib/core/components/shadcn/tabs.js +12 -4
- package/lib/core/components/shadcn/tabs.js.map +1 -1
- package/lib/core/components/shadcn/theme/ThemeSwitcher.js +1 -1
- package/lib/core/components/shadcn/theme/ThemeSwitcher.js.map +1 -1
- package/lib/features/agent/chat/AgentChatPlaybackControls.d.ts.map +1 -1
- package/lib/features/agent/chat/AgentChatPlaybackControls.js +2 -2
- package/lib/features/agent/chat/AgentChatPlaybackControls.js.map +1 -1
- package/lib/features/agent/chat/AgentRequestInputOverlay.d.ts.map +1 -1
- package/lib/features/agent/chat/AgentRequestInputOverlay.js +2 -2
- package/lib/features/agent/chat/AgentRequestInputOverlay.js.map +1 -1
- package/lib/features/agent/chat/AgentRightPanel.d.ts +5 -1
- package/lib/features/agent/chat/AgentRightPanel.d.ts.map +1 -1
- package/lib/features/agent/chat/AgentRightPanel.js +2 -2
- package/lib/features/agent/chat/AgentRightPanel.js.map +1 -1
- package/lib/features/agent/chat/ArtifactsTab.d.ts +5 -1
- package/lib/features/agent/chat/ArtifactsTab.d.ts.map +1 -1
- package/lib/features/agent/chat/ArtifactsTab.js +53 -13
- package/lib/features/agent/chat/ArtifactsTab.js.map +1 -1
- package/lib/features/agent/chat/DocumentEditingActionCard.d.ts +6 -0
- package/lib/features/agent/chat/DocumentEditingActionCard.d.ts.map +1 -0
- package/lib/features/agent/chat/DocumentEditingActionCard.js +129 -0
- package/lib/features/agent/chat/DocumentEditingActionCard.js.map +1 -0
- package/lib/features/agent/chat/ImageLightbox.d.ts.map +1 -1
- package/lib/features/agent/chat/ImageLightbox.js +1 -1
- package/lib/features/agent/chat/ImageLightbox.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentConversation.d.ts +19 -1
- package/lib/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentConversation.js +125 -27
- package/lib/features/agent/chat/ModernAgentConversation.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.d.ts +45 -0
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.js +40 -0
- package/lib/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +3 -1
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +96 -51
- package/lib/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts +2 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js +9 -5
- package/lib/features/agent/chat/ModernAgentOutput/AttachmentPreview.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.d.ts +25 -0
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.js +33 -0
- package/lib/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/Header.js +4 -2
- package/lib/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageInput.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js +2 -2
- package/lib/features/agent/chat/ModernAgentOutput/MessageInput.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts +3 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js +23 -24
- package/lib/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.d.ts +14 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.js +21 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.d.ts +30 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.js +53 -0
- package/lib/features/agent/chat/ModernAgentOutput/ResourceChip.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js +21 -2
- package/lib/features/agent/chat/ModernAgentOutput/ToolCallGroup.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts +6 -0
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js +15 -1
- package/lib/features/agent/chat/ModernAgentOutput/requestInputMessages.js.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.d.ts +6 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.js +29 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceLinks.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.d.ts +33 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.d.ts.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.js +129 -0
- package/lib/features/agent/chat/ModernAgentOutput/resourceSummary.js.map +1 -0
- package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts +7 -0
- package/lib/features/agent/chat/ModernAgentOutput/utils.d.ts.map +1 -1
- package/lib/features/agent/chat/ModernAgentOutput/utils.js +11 -1
- package/lib/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.d.ts +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.d.ts.map +1 -1
- package/lib/features/agent/chat/hooks/useAgentStream.js +24 -9
- package/lib/features/agent/chat/hooks/useAgentStream.js.map +1 -1
- package/lib/features/agent/chat/index.d.ts +2 -1
- package/lib/features/agent/chat/index.d.ts.map +1 -1
- package/lib/features/agent/chat/index.js +3 -0
- package/lib/features/agent/chat/index.js.map +1 -1
- package/lib/features/environment/SelectEnvironment.d.ts +28 -0
- package/lib/features/environment/SelectEnvironment.d.ts.map +1 -0
- package/lib/features/environment/SelectEnvironment.js +97 -0
- package/lib/features/environment/SelectEnvironment.js.map +1 -0
- package/lib/features/environment/index.d.ts +2 -0
- package/lib/features/environment/index.d.ts.map +1 -0
- package/lib/features/environment/index.js +2 -0
- package/lib/features/environment/index.js.map +1 -0
- package/lib/features/index.d.ts +2 -0
- package/lib/features/index.d.ts.map +1 -1
- package/lib/features/index.js +2 -0
- package/lib/features/index.js.map +1 -1
- package/lib/features/magic-pdf/AnnotatedImageSlider.js +12 -12
- package/lib/features/magic-pdf/AnnotatedImageSlider.js.map +1 -1
- package/lib/features/magic-pdf/DownloadPopover.d.ts.map +1 -1
- package/lib/features/magic-pdf/DownloadPopover.js +3 -17
- package/lib/features/magic-pdf/DownloadPopover.js.map +1 -1
- package/lib/features/magic-pdf/ExtractedContentView.js +2 -6
- package/lib/features/magic-pdf/ExtractedContentView.js.map +1 -1
- package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.d.ts +25 -0
- package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.d.ts.map +1 -0
- package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.js +42 -0
- package/lib/features/magic-pdf/GroundedExtractionAssistantPanel.js.map +1 -0
- package/lib/features/magic-pdf/GroundedExtractionView.d.ts +27 -0
- package/lib/features/magic-pdf/GroundedExtractionView.d.ts.map +1 -0
- package/lib/features/magic-pdf/GroundedExtractionView.js +377 -0
- package/lib/features/magic-pdf/GroundedExtractionView.js.map +1 -0
- package/lib/features/magic-pdf/MagicPdfProvider.d.ts +0 -2
- package/lib/features/magic-pdf/MagicPdfProvider.d.ts.map +1 -1
- package/lib/features/magic-pdf/MagicPdfProvider.js +15 -42
- package/lib/features/magic-pdf/MagicPdfProvider.js.map +1 -1
- package/lib/features/magic-pdf/MagicPdfView.d.ts.map +1 -1
- package/lib/features/magic-pdf/MagicPdfView.js +2 -19
- package/lib/features/magic-pdf/MagicPdfView.js.map +1 -1
- package/lib/features/magic-pdf/index.d.ts +1 -0
- package/lib/features/magic-pdf/index.d.ts.map +1 -1
- package/lib/features/magic-pdf/index.js +1 -0
- package/lib/features/magic-pdf/index.js.map +1 -1
- package/lib/features/magic-pdf/types.d.ts +1 -1
- package/lib/features/magic-pdf/types.d.ts.map +1 -1
- package/lib/features/oauth/McpConnectionsButton.d.ts.map +1 -1
- package/lib/features/oauth/McpConnectionsButton.js +2 -2
- package/lib/features/oauth/McpConnectionsButton.js.map +1 -1
- package/lib/features/oauth/McpConnectionsDialog.d.ts.map +1 -1
- package/lib/features/oauth/McpConnectionsDialog.js +1 -1
- package/lib/features/oauth/McpConnectionsDialog.js.map +1 -1
- package/lib/features/oauth/RemoteMcpConnectionButton.d.ts.map +1 -1
- package/lib/features/oauth/RemoteMcpConnectionButton.js +1 -1
- package/lib/features/oauth/RemoteMcpConnectionButton.js.map +1 -1
- package/lib/features/pdf-viewer/PdfPageSlider.js +2 -2
- package/lib/features/pdf-viewer/PdfPageSlider.js.map +1 -1
- package/lib/features/pdf-viewer/SimplePdfViewer.d.ts.map +1 -1
- package/lib/features/pdf-viewer/SimplePdfViewer.js +3 -3
- package/lib/features/pdf-viewer/SimplePdfViewer.js.map +1 -1
- package/lib/features/permissions/UserPermissionsProvider.js +1 -1
- package/lib/features/permissions/UserPermissionsProvider.js.map +1 -1
- package/lib/features/store/objects/DocumentQuickFilter.d.ts.map +1 -1
- package/lib/features/store/objects/DocumentQuickFilter.js +5 -5
- package/lib/features/store/objects/DocumentQuickFilter.js.map +1 -1
- package/lib/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
- package/lib/features/store/objects/DocumentSearchResults.js +4 -4
- package/lib/features/store/objects/DocumentSearchResults.js.map +1 -1
- package/lib/features/store/objects/components/ContentDispositionButton.d.ts.map +1 -1
- package/lib/features/store/objects/components/ContentDispositionButton.js +1 -1
- package/lib/features/store/objects/components/ContentDispositionButton.js.map +1 -1
- package/lib/features/store/objects/components/ContentOverview.d.ts +2 -1
- package/lib/features/store/objects/components/ContentOverview.d.ts.map +1 -1
- package/lib/features/store/objects/components/ContentOverview.js +159 -31
- package/lib/features/store/objects/components/ContentOverview.js.map +1 -1
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.d.ts +16 -0
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.d.ts.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.js +116 -0
- package/lib/features/store/objects/components/DocumentEditingConfigurationSelector.js.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.d.ts +7 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.d.ts.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.js +13 -0
- package/lib/features/store/objects/components/DocumentEditingLockStatus.js.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.d.ts +48 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.d.ts.map +1 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.js +720 -0
- package/lib/features/store/objects/components/DocumentEditingPanel.js.map +1 -0
- package/lib/features/store/objects/components/DocumentIcon.js +1 -1
- package/lib/features/store/objects/components/TextEditorPanel.d.ts.map +1 -1
- package/lib/features/store/objects/components/TextEditorPanel.js +22 -9
- package/lib/features/store/objects/components/TextEditorPanel.js.map +1 -1
- package/lib/features/store/objects/components/VectorSearchWidget.js +1 -1
- package/lib/features/store/objects/components/VectorSearchWidget.js.map +1 -1
- package/lib/features/store/objects/components/documentArtifactRefs.d.ts +26 -0
- package/lib/features/store/objects/components/documentArtifactRefs.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentArtifactRefs.js +52 -0
- package/lib/features/store/objects/components/documentArtifactRefs.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.d.ts +4 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.js +40 -0
- package/lib/features/store/objects/components/documentEditingAgentConfig.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingPrompts.d.ts +3 -0
- package/lib/features/store/objects/components/documentEditingPrompts.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingPrompts.js +13 -0
- package/lib/features/store/objects/components/documentEditingPrompts.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingRun.d.ts +27 -0
- package/lib/features/store/objects/components/documentEditingRun.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingRun.js +126 -0
- package/lib/features/store/objects/components/documentEditingRun.js.map +1 -0
- package/lib/features/store/objects/components/documentEditingTarget.d.ts +20 -0
- package/lib/features/store/objects/components/documentEditingTarget.d.ts.map +1 -0
- package/lib/features/store/objects/components/documentEditingTarget.js +40 -0
- package/lib/features/store/objects/components/documentEditingTarget.js.map +1 -0
- package/lib/features/store/objects/components/index.d.ts +1 -0
- package/lib/features/store/objects/components/index.d.ts.map +1 -1
- package/lib/features/store/objects/components/index.js +1 -0
- package/lib/features/store/objects/components/index.js.map +1 -1
- package/lib/features/store/objects/components/useContentPanelHooks.d.ts +6 -3
- package/lib/features/store/objects/components/useContentPanelHooks.d.ts.map +1 -1
- package/lib/features/store/objects/components/useContentPanelHooks.js +57 -37
- package/lib/features/store/objects/components/useContentPanelHooks.js.map +1 -1
- package/lib/features/store/objects/components/useDownloadFile.d.ts +2 -1
- package/lib/features/store/objects/components/useDownloadFile.d.ts.map +1 -1
- package/lib/features/store/objects/components/useDownloadFile.js +3 -0
- package/lib/features/store/objects/components/useDownloadFile.js.map +1 -1
- package/lib/features/store/objects/layout/renderers.d.ts.map +1 -1
- package/lib/features/store/objects/layout/renderers.js +2 -2
- package/lib/features/store/objects/layout/renderers.js.map +1 -1
- package/lib/features/store/objects/selection/SelectionActions.js +1 -1
- package/lib/features/store/objects/selection/SelectionActions.js.map +1 -1
- package/lib/features/store/objects/selection/actions/StartWorkflowButton.js +1 -1
- package/lib/features/store/objects/selection/actions/StartWorkflowButton.js.map +1 -1
- package/lib/features/store/types/ContentObjectTypesTable.d.ts.map +1 -1
- package/lib/features/store/types/ContentObjectTypesTable.js +4 -4
- package/lib/features/store/types/ContentObjectTypesTable.js.map +1 -1
- package/lib/features/store/types/IntakePolicyEditor.d.ts +15 -0
- package/lib/features/store/types/IntakePolicyEditor.d.ts.map +1 -0
- package/lib/features/store/types/IntakePolicyEditor.js +455 -0
- package/lib/features/store/types/IntakePolicyEditor.js.map +1 -0
- package/lib/features/store/types/IntakePolicyForm.d.ts +11 -0
- package/lib/features/store/types/IntakePolicyForm.d.ts.map +1 -0
- package/lib/features/store/types/IntakePolicyForm.js +91 -0
- package/lib/features/store/types/IntakePolicyForm.js.map +1 -0
- package/lib/features/store/types/SelectContentTypeModal.js +1 -1
- package/lib/features/store/types/SelectContentTypeModal.js.map +1 -1
- package/lib/features/store/types/index.d.ts +2 -0
- package/lib/features/store/types/index.d.ts.map +1 -1
- package/lib/features/store/types/index.js +2 -0
- package/lib/features/store/types/index.js.map +1 -1
- package/lib/features/store/types/intake-policy-editor.logic.d.ts +7 -0
- package/lib/features/store/types/intake-policy-editor.logic.d.ts.map +1 -0
- package/lib/features/store/types/intake-policy-editor.logic.js +60 -0
- package/lib/features/store/types/intake-policy-editor.logic.js.map +1 -0
- package/lib/features/store/types/typeCatalogCache.d.ts +5 -0
- package/lib/features/store/types/typeCatalogCache.d.ts.map +1 -0
- package/lib/features/store/types/typeCatalogCache.js +40 -0
- package/lib/features/store/types/typeCatalogCache.js.map +1 -0
- package/lib/features/user/UserInfo.js +7 -3
- package/lib/features/user/UserInfo.js.map +1 -1
- package/lib/features/views/ViewExperience.d.ts +20 -0
- package/lib/features/views/ViewExperience.d.ts.map +1 -0
- package/lib/features/views/ViewExperience.js +188 -0
- package/lib/features/views/ViewExperience.js.map +1 -0
- package/lib/features/views/ViewNavigation.d.ts +3 -0
- package/lib/features/views/ViewNavigation.d.ts.map +1 -0
- package/lib/features/views/ViewNavigation.js +36 -0
- package/lib/features/views/ViewNavigation.js.map +1 -0
- package/lib/features/views/ViewResults.d.ts +9 -0
- package/lib/features/views/ViewResults.d.ts.map +1 -0
- package/lib/features/views/ViewResults.js +229 -0
- package/lib/features/views/ViewResults.js.map +1 -0
- package/lib/features/views/ViewSearch.d.ts +3 -0
- package/lib/features/views/ViewSearch.d.ts.map +1 -0
- package/lib/features/views/ViewSearch.js +74 -0
- package/lib/features/views/ViewSearch.js.map +1 -0
- package/lib/features/views/index.d.ts +7 -0
- package/lib/features/views/index.d.ts.map +1 -0
- package/lib/features/views/index.js +7 -0
- package/lib/features/views/index.js.map +1 -0
- package/lib/features/views/types.d.ts +39 -0
- package/lib/features/views/types.d.ts.map +1 -0
- package/lib/features/views/types.js +2 -0
- package/lib/features/views/types.js.map +1 -0
- package/lib/features/views/viewState.d.ts +14 -0
- package/lib/features/views/viewState.d.ts.map +1 -0
- package/lib/features/views/viewState.js +117 -0
- package/lib/features/views/viewState.js.map +1 -0
- package/lib/i18n/locales/ar.json +134 -1
- package/lib/i18n/locales/de.json +130 -1
- package/lib/i18n/locales/en.json +363 -33
- package/lib/i18n/locales/es.json +131 -1
- package/lib/i18n/locales/fr.json +131 -1
- package/lib/i18n/locales/it.json +131 -1
- package/lib/i18n/locales/ja.json +129 -1
- package/lib/i18n/locales/ko.json +129 -1
- package/lib/i18n/locales/pt.json +131 -1
- package/lib/i18n/locales/ru.json +132 -1
- package/lib/i18n/locales/tr.json +130 -1
- package/lib/i18n/locales/zh-TW.json +129 -1
- package/lib/i18n/locales/zh.json +129 -1
- package/lib/rich-text/EditorToolbar.d.ts +37 -0
- package/lib/rich-text/EditorToolbar.d.ts.map +1 -0
- package/lib/rich-text/EditorToolbar.js +215 -0
- package/lib/rich-text/EditorToolbar.js.map +1 -0
- package/lib/rich-text/VertesiaRichTextEditor.d.ts +26 -0
- package/lib/rich-text/VertesiaRichTextEditor.d.ts.map +1 -0
- package/lib/rich-text/VertesiaRichTextEditor.js +67 -0
- package/lib/rich-text/VertesiaRichTextEditor.js.map +1 -0
- package/lib/rich-text/index.d.ts +2 -0
- package/lib/rich-text/index.d.ts.map +1 -0
- package/lib/rich-text/index.js +2 -0
- package/lib/rich-text/index.js.map +1 -0
- package/lib/router/HistoryNavigator.d.ts.map +1 -1
- package/lib/router/HistoryNavigator.js +23 -13
- package/lib/router/HistoryNavigator.js.map +1 -1
- package/lib/router/Nav.d.ts.map +1 -1
- package/lib/router/Nav.js +15 -6
- package/lib/router/Nav.js.map +1 -1
- package/lib/session/UserSession.d.ts.map +1 -1
- package/lib/session/UserSession.js +5 -3
- package/lib/session/UserSession.js.map +1 -1
- package/lib/vertesia-ui-core.js +4 -4
- package/lib/vertesia-ui-core.js.map +1 -1
- package/lib/vertesia-ui-features.js +40 -28
- package/lib/vertesia-ui-features.js.map +1 -1
- package/lib/vertesia-ui-i18n.js +15 -15
- package/lib/vertesia-ui-i18n.js.map +1 -1
- package/lib/vertesia-ui-rich-text.js +5 -0
- package/lib/vertesia-ui-rich-text.js.map +1 -0
- 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 +25 -7
- package/lib/vertesia-ui-widgets.js.map +1 -1
- package/lib/widgets/form/Form.js +1 -1
- package/lib/widgets/form/Form.js.map +1 -1
- package/lib/widgets/json-view/JSONSwitcher.js +1 -1
- package/lib/widgets/json-view/JSONSwitcher.js.map +1 -1
- package/lib/widgets/json-view/JSONView.js +6 -6
- package/lib/widgets/json-view/JSONView.js.map +1 -1
- package/lib/widgets/markdown/AgentResourceResolver.d.ts +31 -0
- package/lib/widgets/markdown/AgentResourceResolver.d.ts.map +1 -0
- package/lib/widgets/markdown/AgentResourceResolver.js +39 -0
- package/lib/widgets/markdown/AgentResourceResolver.js.map +1 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.d.ts +63 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.d.ts.map +1 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.js +582 -0
- package/lib/widgets/markdown/ArtifactEditingSurface.js.map +1 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.d.ts +69 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.d.ts.map +1 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.js +374 -0
- package/lib/widgets/markdown/CollaborativeMarkdownRenderer.js.map +1 -0
- package/lib/widgets/markdown/MarkdownLink.d.ts +3 -1
- package/lib/widgets/markdown/MarkdownLink.d.ts.map +1 -1
- package/lib/widgets/markdown/MarkdownLink.js +41 -14
- package/lib/widgets/markdown/MarkdownLink.js.map +1 -1
- package/lib/widgets/markdown/MarkdownRenderer.d.ts +8 -1
- package/lib/widgets/markdown/MarkdownRenderer.d.ts.map +1 -1
- package/lib/widgets/markdown/MarkdownRenderer.js +20 -4
- package/lib/widgets/markdown/MarkdownRenderer.js.map +1 -1
- package/lib/widgets/markdown/index.d.ts +5 -1
- package/lib/widgets/markdown/index.d.ts.map +1 -1
- package/lib/widgets/markdown/index.js +5 -1
- package/lib/widgets/markdown/index.js.map +1 -1
- package/lib/widgets/markdown/normalizeCustomSchemeLinks.d.ts.map +1 -1
- package/lib/widgets/markdown/normalizeCustomSchemeLinks.js +14 -2
- package/lib/widgets/markdown/normalizeCustomSchemeLinks.js.map +1 -1
- package/lib/widgets/markdown/textDiff.d.ts +52 -0
- package/lib/widgets/markdown/textDiff.d.ts.map +1 -0
- package/lib/widgets/markdown/textDiff.js +362 -0
- package/lib/widgets/markdown/textDiff.js.map +1 -0
- package/lib/widgets/markdown/useArtifactContent.d.ts +5 -3
- package/lib/widgets/markdown/useArtifactContent.d.ts.map +1 -1
- package/lib/widgets/markdown/useArtifactContent.js +6 -3
- package/lib/widgets/markdown/useArtifactContent.js.map +1 -1
- package/lib/widgets/markdown/useResolvedUrl.d.ts +1 -5
- package/lib/widgets/markdown/useResolvedUrl.d.ts.map +1 -1
- package/lib/widgets/markdown/useResolvedUrl.js +19 -31
- package/lib/widgets/markdown/useResolvedUrl.js.map +1 -1
- package/lib/widgets/monacoEditor/MonacoEditor.d.ts.map +1 -1
- package/lib/widgets/monacoEditor/MonacoEditor.js +29 -0
- package/lib/widgets/monacoEditor/MonacoEditor.js.map +1 -1
- package/lib/widgets/schema-editor/ManagedSchema.d.ts +8 -0
- package/lib/widgets/schema-editor/ManagedSchema.d.ts.map +1 -1
- package/lib/widgets/schema-editor/ManagedSchema.js +16 -0
- package/lib/widgets/schema-editor/ManagedSchema.js.map +1 -1
- package/lib/widgets/schema-editor/editor/EditableSchemaProperty.d.ts +2 -0
- package/lib/widgets/schema-editor/editor/EditableSchemaProperty.d.ts.map +1 -1
- package/lib/widgets/schema-editor/editor/EditableSchemaProperty.js +1 -0
- package/lib/widgets/schema-editor/editor/EditableSchemaProperty.js.map +1 -1
- package/lib/widgets/schema-editor/editor/PropertyViewer.d.ts.map +1 -1
- package/lib/widgets/schema-editor/editor/PropertyViewer.js +4 -1
- package/lib/widgets/schema-editor/editor/PropertyViewer.js.map +1 -1
- package/lib/widgets/schema-editor/editor/SchemaEditor.d.ts.map +1 -1
- package/lib/widgets/schema-editor/editor/SchemaEditor.js +22 -11
- package/lib/widgets/schema-editor/editor/SchemaEditor.js.map +1 -1
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts +9 -0
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.d.ts.map +1 -1
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.js +20 -17
- package/lib/widgets/xml-viewer/hooks/useXMLViewer.js.map +1 -1
- package/package.json +37 -33
- package/src/__tests__/a11y.test.tsx +77 -1
- package/src/__tests__/axe-helper.ts +17 -7
- package/src/__tests__/setup.ts +25 -0
- package/src/core/components/SidePanel.tsx +1 -1
- package/src/core/components/shadcn/button.tsx +67 -12
- package/src/core/components/shadcn/filters/filterBar.tsx +1 -0
- package/src/core/components/shadcn/modal/dialog.tsx +4 -2
- package/src/core/components/shadcn/tabs.test.tsx +65 -0
- package/src/core/components/shadcn/tabs.tsx +25 -3
- package/src/core/components/shadcn/theme/ThemeSwitcher.tsx +1 -1
- package/src/features/agent/chat/AgentChatPlaybackControls.tsx +0 -5
- package/src/features/agent/chat/AgentRequestInputOverlay.test.tsx +31 -0
- package/src/features/agent/chat/AgentRequestInputOverlay.tsx +6 -2
- package/src/features/agent/chat/AgentRightPanel.tsx +16 -1
- package/src/features/agent/chat/ArtifactsTab.test.tsx +55 -0
- package/src/features/agent/chat/ArtifactsTab.tsx +222 -61
- package/src/features/agent/chat/DocumentEditingActionCard.test.tsx +105 -0
- package/src/features/agent/chat/DocumentEditingActionCard.tsx +210 -0
- package/src/features/agent/chat/ImageLightbox.tsx +0 -1
- package/src/features/agent/chat/ModernAgentConversation.test.tsx +285 -40
- package/src/features/agent/chat/ModernAgentConversation.tsx +247 -77
- package/src/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.test.tsx +79 -0
- package/src/features/agent/chat/ModernAgentOutput/AgentMarkdownAnchor.tsx +94 -0
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.test.tsx +263 -35
- package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +236 -118
- package/src/features/agent/chat/ModernAgentOutput/AttachmentPreview.tsx +17 -0
- package/src/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.test.tsx +44 -0
- package/src/features/agent/chat/ModernAgentOutput/CollapsibleAgentMarkdown.tsx +88 -0
- package/src/features/agent/chat/ModernAgentOutput/Header.tsx +3 -3
- package/src/features/agent/chat/ModernAgentOutput/MessageInput.tsx +0 -2
- package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +34 -47
- package/src/features/agent/chat/ModernAgentOutput/ResourceChangeSummary.tsx +40 -0
- package/src/features/agent/chat/ModernAgentOutput/ResourceChip.test.tsx +148 -0
- package/src/features/agent/chat/ModernAgentOutput/ResourceChip.tsx +141 -0
- package/src/features/agent/chat/ModernAgentOutput/ToolCallGroup.tsx +33 -1
- package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.test.ts +80 -0
- package/src/features/agent/chat/ModernAgentOutput/requestInputMessages.ts +21 -1
- package/src/features/agent/chat/ModernAgentOutput/resourceLinks.tsx +43 -0
- package/src/features/agent/chat/ModernAgentOutput/resourceSummary.test.ts +229 -0
- package/src/features/agent/chat/ModernAgentOutput/resourceSummary.ts +152 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.test.ts +17 -0
- package/src/features/agent/chat/ModernAgentOutput/utils.ts +14 -1
- package/src/features/agent/chat/hooks/useAgentStream.test.tsx +188 -0
- package/src/features/agent/chat/hooks/useAgentStream.ts +28 -8
- package/src/features/agent/chat/index.ts +11 -0
- package/src/features/environment/SelectEnvironment.tsx +186 -0
- package/src/features/environment/index.ts +1 -0
- package/src/features/index.ts +2 -0
- package/src/features/magic-pdf/AnnotatedImageSlider.tsx +62 -66
- package/src/features/magic-pdf/DownloadPopover.tsx +5 -48
- package/src/features/magic-pdf/ExtractedContentView.tsx +2 -14
- package/src/features/magic-pdf/GroundedExtractionAssistantPanel.tsx +86 -0
- package/src/features/magic-pdf/GroundedExtractionView.test.tsx +65 -0
- package/src/features/magic-pdf/GroundedExtractionView.tsx +1055 -0
- package/src/features/magic-pdf/MagicPdfProvider.tsx +17 -47
- package/src/features/magic-pdf/MagicPdfView.tsx +3 -51
- package/src/features/magic-pdf/index.ts +1 -0
- package/src/features/magic-pdf/types.ts +1 -1
- package/src/features/oauth/McpConnectionsButton.tsx +0 -2
- package/src/features/oauth/McpConnectionsDialog.tsx +0 -1
- package/src/features/oauth/RemoteMcpConnectionButton.tsx +0 -1
- package/src/features/pdf-viewer/PdfPageSlider.tsx +5 -5
- package/src/features/pdf-viewer/SimplePdfViewer.tsx +11 -12
- package/src/features/permissions/UserPermissionsProvider.tsx +1 -1
- package/src/features/store/objects/DocumentQuickFilter.tsx +13 -15
- package/src/features/store/objects/DocumentSearchResults.tsx +5 -8
- package/src/features/store/objects/components/ContentDispositionButton.tsx +5 -1
- package/src/features/store/objects/components/ContentOverview.tsx +356 -105
- package/src/features/store/objects/components/DocumentEditingConfigurationSelector.test.ts +34 -0
- package/src/features/store/objects/components/DocumentEditingConfigurationSelector.tsx +211 -0
- package/src/features/store/objects/components/DocumentEditingLockStatus.test.tsx +32 -0
- package/src/features/store/objects/components/DocumentEditingLockStatus.tsx +45 -0
- package/src/features/store/objects/components/DocumentEditingPanel.test.tsx +336 -0
- package/src/features/store/objects/components/DocumentEditingPanel.tsx +1236 -0
- package/src/features/store/objects/components/DocumentIcon.tsx +1 -1
- package/src/features/store/objects/components/TextEditorPanel.test.tsx +48 -0
- package/src/features/store/objects/components/TextEditorPanel.tsx +41 -20
- package/src/features/store/objects/components/VectorSearchWidget.tsx +2 -2
- package/src/features/store/objects/components/documentArtifactRefs.test.ts +65 -0
- package/src/features/store/objects/components/documentArtifactRefs.ts +72 -0
- package/src/features/store/objects/components/documentEditingAgentConfig.test.ts +28 -0
- package/src/features/store/objects/components/documentEditingAgentConfig.ts +41 -0
- package/src/features/store/objects/components/documentEditingPrompts.test.ts +26 -0
- package/src/features/store/objects/components/documentEditingPrompts.ts +12 -0
- package/src/features/store/objects/components/documentEditingRun.test.ts +176 -0
- package/src/features/store/objects/components/documentEditingRun.ts +184 -0
- package/src/features/store/objects/components/documentEditingTarget.test.ts +96 -0
- package/src/features/store/objects/components/documentEditingTarget.ts +63 -0
- package/src/features/store/objects/components/index.ts +1 -0
- package/src/features/store/objects/components/useContentPanelHooks.ts +55 -42
- package/src/features/store/objects/components/useDownloadFile.test.ts +20 -0
- package/src/features/store/objects/components/useDownloadFile.ts +5 -1
- package/src/features/store/objects/layout/renderers.tsx +1 -2
- package/src/features/store/objects/selection/SelectionActions.tsx +1 -1
- package/src/features/store/objects/selection/actions/StartWorkflowButton.tsx +2 -2
- package/src/features/store/types/ContentObjectTypesTable.tsx +12 -14
- package/src/features/store/types/IntakePolicyEditor.tsx +679 -0
- package/src/features/store/types/IntakePolicyForm.tsx +838 -0
- package/src/features/store/types/SelectContentTypeModal.tsx +2 -2
- package/src/features/store/types/index.ts +2 -0
- package/src/features/store/types/intake-policy-editor.logic.test.ts +109 -0
- package/src/features/store/types/intake-policy-editor.logic.ts +87 -0
- package/src/features/store/types/typeCatalogCache.ts +45 -0
- package/src/features/user/UserInfo.tsx +7 -7
- package/src/features/views/ViewExperience.test.tsx +273 -0
- package/src/features/views/ViewExperience.tsx +408 -0
- package/src/features/views/ViewNavigation.test.tsx +86 -0
- package/src/features/views/ViewNavigation.tsx +187 -0
- package/src/features/views/ViewResults.test.ts +82 -0
- package/src/features/views/ViewResults.tsx +609 -0
- package/src/features/views/ViewSearch.test.tsx +147 -0
- package/src/features/views/ViewSearch.tsx +205 -0
- package/src/features/views/index.ts +6 -0
- package/src/features/views/types.ts +57 -0
- package/src/features/views/viewState.test.ts +111 -0
- package/src/features/views/viewState.ts +132 -0
- package/src/i18n/locales/ar.json +134 -1
- package/src/i18n/locales/de.json +130 -1
- package/src/i18n/locales/en.json +1083 -753
- package/src/i18n/locales/es.json +131 -1
- package/src/i18n/locales/fr.json +131 -1
- package/src/i18n/locales/it.json +131 -1
- package/src/i18n/locales/ja.json +129 -1
- package/src/i18n/locales/ko.json +129 -1
- package/src/i18n/locales/pt.json +131 -1
- package/src/i18n/locales/ru.json +132 -1
- package/src/i18n/locales/tr.json +130 -1
- package/src/i18n/locales/zh-TW.json +129 -1
- package/src/i18n/locales/zh.json +129 -1
- package/src/rich-text/EditorToolbar.tsx +708 -0
- package/src/rich-text/VertesiaRichTextEditor.test.tsx +211 -0
- package/src/rich-text/VertesiaRichTextEditor.tsx +241 -0
- package/src/rich-text/index.ts +9 -0
- package/src/router/HistoryNavigator.test.ts +48 -0
- package/src/router/HistoryNavigator.ts +24 -13
- package/src/router/Nav.tsx +18 -8
- package/src/session/UserSession.test.ts +39 -0
- package/src/session/UserSession.ts +5 -3
- package/src/widgets/form/Form.tsx +1 -1
- package/src/widgets/json-view/JSONSwitcher.tsx +2 -2
- package/src/widgets/json-view/JSONView.tsx +7 -7
- package/src/widgets/markdown/AgentResourceResolver.test.ts +24 -0
- package/src/widgets/markdown/AgentResourceResolver.tsx +70 -0
- package/src/widgets/markdown/ArtifactEditingSurface.test.tsx +537 -0
- package/src/widgets/markdown/ArtifactEditingSurface.tsx +878 -0
- package/src/widgets/markdown/CollaborativeMarkdownRenderer.test.tsx +484 -0
- package/src/widgets/markdown/CollaborativeMarkdownRenderer.tsx +825 -0
- package/src/widgets/markdown/MarkdownLink.test.tsx +122 -0
- package/src/widgets/markdown/MarkdownLink.tsx +102 -17
- package/src/widgets/markdown/MarkdownRenderer.tsx +30 -3
- package/src/widgets/markdown/index.ts +39 -1
- package/src/widgets/markdown/normalizeCustomSchemeLinks.ts +15 -2
- package/src/widgets/markdown/textDiff.test.ts +156 -0
- package/src/widgets/markdown/textDiff.ts +399 -0
- package/src/widgets/markdown/useArtifactContent.ts +9 -3
- package/src/widgets/markdown/useResolvedUrl.test.ts +29 -40
- package/src/widgets/markdown/useResolvedUrl.ts +33 -35
- package/src/widgets/monacoEditor/MonacoEditor.tsx +29 -0
- package/src/widgets/schema-editor/ManagedSchema.ts +22 -0
- package/src/widgets/schema-editor/editor/EditableSchemaProperty.tsx +3 -0
- package/src/widgets/schema-editor/editor/PropertyViewer.tsx +14 -3
- package/src/widgets/schema-editor/editor/SchemaEditor.tsx +80 -29
- package/src/widgets/xml-viewer/hooks/useXMLViewer.test.ts +26 -0
- package/src/widgets/xml-viewer/hooks/useXMLViewer.ts +23 -18
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ImageRenditionFormat } from '@vertesia/common';
|
|
3
|
+
import { Button, ErrorBox, MessageBox, SelectBox, Spinner } from '@vertesia/ui/core';
|
|
4
|
+
import { useUITranslation } from '@vertesia/ui/i18n';
|
|
5
|
+
import { FullHeightLayout } from '@vertesia/ui/layout';
|
|
6
|
+
import { useUserSession } from '@vertesia/ui/session';
|
|
7
|
+
import { ChevronLeft, ChevronRight } from 'lucide-react';
|
|
8
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
9
|
+
import { GenericPageNavHeader } from '../layout/GenericPageNavHeader.js';
|
|
10
|
+
import { DefaultViewNavigation } from './ViewNavigation.js';
|
|
11
|
+
import { DefaultViewResults } from './ViewResults.js';
|
|
12
|
+
import { DefaultViewSearch } from './ViewSearch.js';
|
|
13
|
+
import { canonicalizeViewState, parseViewState, replaceViewStateInUrl, resolveViewSort } from './viewState.js';
|
|
14
|
+
const FALLBACK_DISPLAY = {
|
|
15
|
+
id: 'default',
|
|
16
|
+
label: 'Results',
|
|
17
|
+
type: 'list',
|
|
18
|
+
title: { field: 'name' },
|
|
19
|
+
subtitle: [
|
|
20
|
+
{ field: 'type.name', format: 'content_type' },
|
|
21
|
+
{ field: 'location', format: 'location' },
|
|
22
|
+
],
|
|
23
|
+
description: { field: 'description' },
|
|
24
|
+
};
|
|
25
|
+
function initialRequest(syncUrl) {
|
|
26
|
+
if (!syncUrl || typeof window === 'undefined')
|
|
27
|
+
return {};
|
|
28
|
+
return parseViewState(window.location.search);
|
|
29
|
+
}
|
|
30
|
+
function cleanRecord(values) {
|
|
31
|
+
const filtered = Object.fromEntries(Object.entries(values).filter(([, entries]) => entries.length > 0));
|
|
32
|
+
return Object.keys(filtered).length > 0 ? filtered : undefined;
|
|
33
|
+
}
|
|
34
|
+
function ViewExperienceWithSession(props) {
|
|
35
|
+
const { client } = useUserSession();
|
|
36
|
+
const execute = useCallback((request) => client.views.execute(props.viewId, request), [client, props.viewId]);
|
|
37
|
+
const resolveMedia = useCallback(async (hit, media) => {
|
|
38
|
+
if (media.source !== 'content_thumbnail')
|
|
39
|
+
return undefined;
|
|
40
|
+
const content = hit.document.content;
|
|
41
|
+
try {
|
|
42
|
+
const rendition = await client.objects.getRenditionSafe(hit.id, content?.type, {
|
|
43
|
+
format: ImageRenditionFormat.jpeg,
|
|
44
|
+
max_hw: 512,
|
|
45
|
+
generate_if_missing: false,
|
|
46
|
+
sign_url: true,
|
|
47
|
+
});
|
|
48
|
+
if (rendition?.status === 'found' && rendition.renditions?.length) {
|
|
49
|
+
return rendition.renditions[0];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
// A missing optional rendition falls through to the original image.
|
|
54
|
+
}
|
|
55
|
+
if (content?.source && content.type?.startsWith('image/')) {
|
|
56
|
+
const download = await client.files.getDownloadUrl(content.source);
|
|
57
|
+
return download.url;
|
|
58
|
+
}
|
|
59
|
+
return undefined;
|
|
60
|
+
}, [client]);
|
|
61
|
+
return _jsx(ViewExperienceRuntime, { ...props, execute: execute, resolveMedia: props.resolveMedia ?? resolveMedia });
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Reusable renderer for stored and app-contributed View Experiences.
|
|
65
|
+
* Pass `execute` to use it outside Vertesia's session provider.
|
|
66
|
+
*/
|
|
67
|
+
export function ViewExperience({ execute, ...props }) {
|
|
68
|
+
return execute ? (_jsx(ViewExperienceRuntime, { ...props, execute: execute }, props.viewId)) : (_jsx(ViewExperienceWithSession, { ...props }, props.viewId));
|
|
69
|
+
}
|
|
70
|
+
function ViewExperienceRuntime({ execute, renderers, onOpenHit, resolveMedia, syncUrl = true, showHeader = true, className, }) {
|
|
71
|
+
const { t } = useUITranslation();
|
|
72
|
+
const executeRef = useRef(execute);
|
|
73
|
+
executeRef.current = execute;
|
|
74
|
+
const generationRef = useRef(0);
|
|
75
|
+
const [request, setRequest] = useState(() => initialRequest(syncUrl));
|
|
76
|
+
const [draftQuery, setDraftQuery] = useState(request.query ?? '');
|
|
77
|
+
const [draftKeyTerms, setDraftKeyTerms] = useState(request.key_terms ?? {});
|
|
78
|
+
const [result, setResult] = useState();
|
|
79
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
80
|
+
const [error, setError] = useState();
|
|
81
|
+
const runRequest = useCallback((next, updateUrl) => {
|
|
82
|
+
const generation = ++generationRef.current;
|
|
83
|
+
setRequest(next);
|
|
84
|
+
if (updateUrl && syncUrl)
|
|
85
|
+
replaceViewStateInUrl(next);
|
|
86
|
+
setIsLoading(true);
|
|
87
|
+
setError(undefined);
|
|
88
|
+
return executeRef
|
|
89
|
+
.current(next)
|
|
90
|
+
.then((response) => {
|
|
91
|
+
if (generation === generationRef.current) {
|
|
92
|
+
const canonicalRequest = canonicalizeViewState(next, response);
|
|
93
|
+
setRequest(canonicalRequest);
|
|
94
|
+
if (syncUrl)
|
|
95
|
+
replaceViewStateInUrl(canonicalRequest);
|
|
96
|
+
setResult(response);
|
|
97
|
+
}
|
|
98
|
+
})
|
|
99
|
+
.catch((cause) => {
|
|
100
|
+
if (generation === generationRef.current) {
|
|
101
|
+
setError(cause instanceof Error ? cause : new Error(String(cause)));
|
|
102
|
+
}
|
|
103
|
+
})
|
|
104
|
+
.finally(() => {
|
|
105
|
+
if (generation === generationRef.current)
|
|
106
|
+
setIsLoading(false);
|
|
107
|
+
});
|
|
108
|
+
}, [syncUrl]);
|
|
109
|
+
const loadUrlState = useCallback(() => {
|
|
110
|
+
const next = initialRequest(syncUrl);
|
|
111
|
+
setDraftQuery(next.query ?? '');
|
|
112
|
+
setDraftKeyTerms(next.key_terms ?? {});
|
|
113
|
+
return runRequest(next, false);
|
|
114
|
+
}, [runRequest, syncUrl]);
|
|
115
|
+
useEffect(() => {
|
|
116
|
+
void loadUrlState();
|
|
117
|
+
return () => {
|
|
118
|
+
generationRef.current += 1;
|
|
119
|
+
};
|
|
120
|
+
}, [loadUrlState]);
|
|
121
|
+
useEffect(() => {
|
|
122
|
+
if (!syncUrl || typeof window === 'undefined')
|
|
123
|
+
return;
|
|
124
|
+
const onPopState = () => void loadUrlState();
|
|
125
|
+
window.addEventListener('popstate', onPopState);
|
|
126
|
+
return () => window.removeEventListener('popstate', onPopState);
|
|
127
|
+
}, [loadUrlState, syncUrl]);
|
|
128
|
+
const definition = result?.definition;
|
|
129
|
+
const navigation = useMemo(() => [...(definition?.navigation ?? [])].sort((left, right) => (left.order ?? 0) - (right.order ?? 0)), [definition?.navigation]);
|
|
130
|
+
const resultsConfiguration = definition?.results;
|
|
131
|
+
const effectiveDisplayId = result?.display ?? request.display ?? resultsConfiguration?.default_display;
|
|
132
|
+
const display = resultsConfiguration?.displays.find((candidate) => candidate.id === effectiveDisplayId) ?? FALLBACK_DISPLAY;
|
|
133
|
+
const effectiveSortId = result
|
|
134
|
+
? resolveViewSort(request, result, resultsConfiguration?.default_sort)
|
|
135
|
+
: request.sort;
|
|
136
|
+
const applyRequest = (next) => {
|
|
137
|
+
void runRequest(next, true);
|
|
138
|
+
};
|
|
139
|
+
const updateNavigation = (item, values) => {
|
|
140
|
+
const nextNavigation = cleanRecord({ ...(request.navigation ?? {}), [item.id]: values });
|
|
141
|
+
applyRequest({ ...request, navigation: nextNavigation, offset: undefined });
|
|
142
|
+
};
|
|
143
|
+
const submitSearch = () => {
|
|
144
|
+
applyRequest({
|
|
145
|
+
...request,
|
|
146
|
+
query: draftQuery.trim() || undefined,
|
|
147
|
+
key_terms: cleanRecord(draftKeyTerms),
|
|
148
|
+
offset: undefined,
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
if (!result && isLoading) {
|
|
152
|
+
return (_jsx("div", { className: "flex h-full min-h-48 items-center justify-center", children: _jsx(Spinner, { size: "xl" }) }));
|
|
153
|
+
}
|
|
154
|
+
if (!result || !definition) {
|
|
155
|
+
return (_jsx("div", { className: "flex h-full min-h-48 items-center justify-center p-4", children: _jsx(ErrorBox, { title: t('store.searchFailed'), action: () => void loadUrlState(), actionLabel: t('agent.retry'), children: t('store.searchFailed') }) }));
|
|
156
|
+
}
|
|
157
|
+
const SearchRenderer = definition.search?.renderer
|
|
158
|
+
? (renderers?.search?.[definition.search.renderer] ?? DefaultViewSearch)
|
|
159
|
+
: DefaultViewSearch;
|
|
160
|
+
const ResultsRenderer = display.renderer
|
|
161
|
+
? (renderers?.results?.[display.renderer] ?? DefaultViewResults)
|
|
162
|
+
: DefaultViewResults;
|
|
163
|
+
const hasSidebarNavigation = navigation.length > 0 && definition.layout?.navigation_position !== 'top';
|
|
164
|
+
const isWorklist = definition.layout?.mode === 'worklist';
|
|
165
|
+
const offset = request.offset ?? 0;
|
|
166
|
+
const pageStep = request.limit ?? display.page_size ?? 20;
|
|
167
|
+
const hasPrevious = offset > 0;
|
|
168
|
+
const hasNext = offset + result.hits.length < result.total;
|
|
169
|
+
const navigationWidgets = navigation.map((item) => {
|
|
170
|
+
const navigationResult = result.navigation[item.id] ?? { id: item.id, selected: [], nodes: [] };
|
|
171
|
+
const NavigationRenderer = item.renderer
|
|
172
|
+
? (renderers?.navigation?.[item.renderer] ?? DefaultViewNavigation)
|
|
173
|
+
: DefaultViewNavigation;
|
|
174
|
+
return (_jsx(NavigationRenderer, { configuration: item, result: navigationResult, isLoading: isLoading, onChange: (values) => updateNavigation(item, values) }, item.id));
|
|
175
|
+
});
|
|
176
|
+
return (_jsxs(FullHeightLayout, { className: className, children: [showHeader && _jsx(GenericPageNavHeader, { title: definition.name, description: definition.description }), _jsxs(FullHeightLayout.Fixed, { heightClass: "h-auto", className: "space-y-3 border-b p-3", children: [definition.search && (_jsx(SearchRenderer, { configuration: definition.search, query: draftQuery, keyTerms: draftKeyTerms, isLoading: isLoading, onQueryChange: setDraftQuery, onKeyTermsChange: (id, values) => setDraftKeyTerms((current) => ({ ...current, [id]: values })), onSubmit: submitSearch })), navigation.length > 0 && definition.layout?.navigation_position === 'top' && (_jsx("div", { className: "grid gap-4 md:grid-cols-2 xl:grid-cols-4", children: navigationWidgets }))] }), _jsx(FullHeightLayout.Body, { className: "p-0", children: _jsxs("div", { className: hasSidebarNavigation
|
|
177
|
+
? isWorklist
|
|
178
|
+
? 'grid min-h-full lg:grid-cols-[minmax(0,1fr)_18rem]'
|
|
179
|
+
: 'grid min-h-full lg:grid-cols-[18rem_minmax(0,1fr)]'
|
|
180
|
+
: 'min-h-full', children: [hasSidebarNavigation && (_jsx("aside", { className: isWorklist
|
|
181
|
+
? 'space-y-5 border-b p-4 lg:order-2 lg:border-s lg:border-b-0'
|
|
182
|
+
: 'space-y-5 border-b p-4 lg:border-e lg:border-b-0', children: navigationWidgets })), _jsxs("main", { className: `min-w-0 space-y-4 p-4 ${isWorklist ? 'lg:order-1' : ''}`, children: [error && (_jsx(ErrorBox, { title: t('store.searchFailed'), action: () => void runRequest(request, false), actionLabel: t('agent.retry'), children: t('store.searchFailed') })), result.search.warnings.length > 0 && (_jsx(MessageBox, { status: "warning", title: t('view.warning'), children: _jsx("ul", { className: "list-disc space-y-1 ps-4", children: result.search.warnings.map((warning) => (_jsx("li", { children: warning.message }, `${warning.code}-${warning.path ?? ''}`))) }) })), _jsxs("div", { className: "flex flex-wrap items-center justify-between gap-3", children: [_jsxs("div", { className: "flex items-center gap-2 text-sm text-muted", children: [_jsx("span", { children: t('view.resultsCount', { count: result.total }) }), isLoading && _jsx(Spinner, { size: "sm" })] }), _jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [resultsConfiguration?.allow_display_switch &&
|
|
183
|
+
resultsConfiguration.displays.length > 1 && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-sm text-muted", children: t('view.display') }), _jsx(SelectBox, { options: resultsConfiguration.displays, value: display, onChange: (option) => applyRequest({ ...request, display: option.id, offset: undefined }), optionLabel: (option) => option.label, by: "id", disabled: isLoading, "aria-label": t('view.display'), className: "min-w-36" })] })), resultsConfiguration?.sort_options && resultsConfiguration.sort_options.length > 0 && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-sm text-muted", children: t('view.sort') }), _jsx(SelectBox, { options: resultsConfiguration.sort_options, value: resultsConfiguration.sort_options.find((option) => option.id === effectiveSortId), onChange: (option) => applyRequest({ ...request, sort: option.id, offset: undefined }), optionLabel: (option) => option.label, by: "id", disabled: isLoading, "aria-label": t('view.sort'), className: "min-w-44" })] }))] })] }), _jsx(ResultsRenderer, { configuration: display, definition: definition, request: request, result: result, isLoading: isLoading, onSortChange: (sort) => applyRequest({ ...request, sort, offset: undefined }), onOpenHit: onOpenHit, resolveMedia: resolveMedia }), (hasPrevious || hasNext) && (_jsxs("nav", { className: "flex items-center justify-center gap-2", "aria-label": t('view.pagination'), children: [_jsxs(Button, { type: "button", variant: "outline", disabled: !hasPrevious || isLoading, onClick: () => applyRequest({
|
|
184
|
+
...request,
|
|
185
|
+
offset: Math.max(0, offset - pageStep) || undefined,
|
|
186
|
+
}), children: [_jsx(ChevronLeft, { className: "size-4 cn-rtl-flip" }), t('grounded.previousPage')] }), _jsxs(Button, { type: "button", variant: "outline", disabled: !hasNext || isLoading, onClick: () => applyRequest({ ...request, offset: offset + pageStep }), children: [t('grounded.nextPage'), _jsx(ChevronRight, { className: "size-4 cn-rtl-flip" })] })] }))] })] }) })] }));
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=ViewExperience.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewExperience.js","sourceRoot":"","sources":["../../../src/features/views/ViewExperience.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewNavigation.d.ts","sourceRoot":"","sources":["../../../src/features/views/ViewNavigation.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAiB9D,wBAAgB,qBAAqB,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,2BAA2B,+BAoKhH"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Checkbox, SelectBox } from '@vertesia/ui/core';
|
|
3
|
+
import { useUITranslation } from '@vertesia/ui/i18n';
|
|
4
|
+
import { ChevronRight, X } from 'lucide-react';
|
|
5
|
+
import { useId } from 'react';
|
|
6
|
+
function nextSelection(current, id, selected, multiSelect) {
|
|
7
|
+
if (!selected)
|
|
8
|
+
return current.filter((value) => value !== id);
|
|
9
|
+
if (multiSelect === false)
|
|
10
|
+
return [id];
|
|
11
|
+
return current.includes(id) ? current : [...current, id];
|
|
12
|
+
}
|
|
13
|
+
function NodeLabel({ node }) {
|
|
14
|
+
return (_jsxs("span", { className: "flex min-w-0 flex-1 items-center justify-between gap-2", children: [_jsx("span", { className: "truncate", children: node.label }), _jsx("span", { className: "text-xs tabular-nums text-muted", children: node.count })] }));
|
|
15
|
+
}
|
|
16
|
+
export function DefaultViewNavigation({ configuration, result, isLoading, onChange }) {
|
|
17
|
+
const { t } = useUITranslation();
|
|
18
|
+
const idPrefix = useId();
|
|
19
|
+
const presentation = configuration.presentation ??
|
|
20
|
+
(configuration.source === 'location' || configuration.source === 'hierarchy' ? 'tree' : 'list');
|
|
21
|
+
const multiSelect = configuration.source === 'hierarchy' ? false : configuration.multi_select;
|
|
22
|
+
const breadcrumbs = result.breadcrumbs ?? [];
|
|
23
|
+
const toggle = (id, selected) => {
|
|
24
|
+
onChange(nextSelection(result.selected, id, selected, multiSelect));
|
|
25
|
+
};
|
|
26
|
+
return (_jsxs("section", { className: "space-y-2", "aria-labelledby": `${idPrefix}-label`, children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("h2", { id: `${idPrefix}-label`, className: "text-sm font-semibold", children: configuration.label }), result.selected.length > 0 && (_jsxs(Button, { type: "button", variant: "ghost", size: "sm", disabled: isLoading, onClick: () => onChange([]), "aria-label": `${t('filter.clearAll')}: ${configuration.label}`, children: [_jsx(X, { className: "size-3.5" }), t('filter.clearAll')] }))] }), configuration.source === 'hierarchy' && breadcrumbs.length > 0 && (_jsx("nav", { "aria-label": `${configuration.label} path`, children: _jsx("ol", { className: "flex flex-wrap items-center gap-1 text-sm", children: breadcrumbs.map((node, index) => (_jsxs("li", { className: "flex items-center gap-1", children: [index > 0 && _jsx(ChevronRight, { "aria-hidden": "true", className: "size-3.5 text-muted" }), _jsx(Button, { type: "button", variant: "ghost", size: "sm", disabled: isLoading, onClick: () => onChange([node.id]), "aria-current": index === breadcrumbs.length - 1 ? 'page' : undefined, children: node.label })] }, node.id))) }) })), result.selected.length > 0 &&
|
|
27
|
+
(configuration.source === 'location' || configuration.source === 'collection') && (_jsx("div", { className: "flex flex-wrap gap-1", children: result.selected.map((value) => {
|
|
28
|
+
const node = result.nodes.find((candidate) => candidate.id === value);
|
|
29
|
+
const label = node?.label ?? value;
|
|
30
|
+
return (_jsxs(Button, { type: "button", variant: "secondary", size: "sm", disabled: isLoading, onClick: () => toggle(value, false), "aria-label": t('view.removeSelection', { value: label }), children: [label, _jsx(X, { "aria-hidden": "true", className: "size-3.5" })] }, value));
|
|
31
|
+
}) })), presentation === 'select' && multiSelect === false ? (_jsx(SelectBox, { options: result.nodes, value: result.nodes.find((node) => result.selected.includes(node.id)), onChange: (node) => onChange([node.id]), optionLabel: (node) => `${node.label} (${node.count})`, by: "id", disabled: isLoading, placeholder: configuration.label, "aria-label": configuration.label })) : presentation === 'select' ? (_jsx(SelectBox, { multiple: true, options: result.nodes, value: result.nodes.filter((node) => result.selected.includes(node.id)), onChange: (nodes) => onChange(nodes.map((node) => node.id)), optionLabel: (node) => `${node.label} (${node.count})`, by: "id", disabled: isLoading, placeholder: configuration.label, "aria-label": configuration.label })) : presentation === 'chips' ? (_jsx("div", { className: "flex flex-wrap gap-2", children: result.nodes.map((node) => (_jsxs(Button, { type: "button", variant: result.selected.includes(node.id) ? 'secondary' : 'outline', size: "sm", disabled: isLoading, onClick: () => toggle(node.id, !result.selected.includes(node.id)), children: [node.label, _jsx("span", { className: "text-xs tabular-nums text-muted", children: node.count })] }, node.id))) })) : configuration.source === 'hierarchy' ? (_jsx("div", { className: "space-y-1", children: result.nodes.map((node) => (_jsxs(Button, { type: "button", variant: result.selected.includes(node.id) ? 'secondary' : 'ghost', className: "w-full justify-start", disabled: isLoading, onClick: () => onChange([node.id]), children: [_jsx(NodeLabel, { node: node }), node.expandable && (_jsx(ChevronRight, { "aria-hidden": "true", className: "size-4 shrink-0 text-muted" }))] }, node.id))) })) : (_jsx("div", { className: "space-y-1", children: result.nodes.map((node, index) => {
|
|
32
|
+
const nodeId = `${idPrefix}-${index}`;
|
|
33
|
+
return (_jsxs("div", { className: "flex items-center gap-2 rounded-md px-2 py-1.5 hover:bg-muted", children: [_jsx(Checkbox, { id: nodeId, checked: result.selected.includes(node.id), disabled: isLoading, onCheckedChange: (checked) => toggle(node.id, checked === true) }), _jsx("label", { htmlFor: nodeId, className: "flex min-w-0 flex-1 cursor-pointer text-sm", children: _jsx(NodeLabel, { node: node }) })] }, node.id));
|
|
34
|
+
}) })), result.nodes.length === 0 && _jsx("p", { className: "text-sm text-muted", children: t('filter.noAvailableFilters') })] }));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=ViewNavigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewNavigation.js","sourceRoot":"","sources":["../../../src/features/views/ViewNavigation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ViewHit, ViewResultField } from '@vertesia/common';
|
|
2
|
+
import { type LocaleFormat } from '@vertesia/ui/i18n';
|
|
3
|
+
import type { ViewResultsRendererProps } from './types.js';
|
|
4
|
+
export declare function getViewFieldValue(hit: ViewHit, field: string): unknown;
|
|
5
|
+
type ViewValueFormatters = Pick<LocaleFormat, 'formatDate' | 'formatNumber'>;
|
|
6
|
+
export declare function formatViewFieldValue(hit: ViewHit, field: ViewResultField, formatters?: ViewValueFormatters): string;
|
|
7
|
+
export declare function DefaultViewResults({ configuration, definition, request, result, isLoading, onSortChange, onOpenHit, resolveMedia, }: ViewResultsRendererProps): import("react").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=ViewResults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewResults.d.ts","sourceRoot":"","sources":["../../../src/features/views/ViewResults.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKR,OAAO,EAEP,eAAe,EAIlB,MAAM,kBAAkB,CAAC;AAiB1B,OAAO,EAAE,KAAK,YAAY,EAAqC,MAAM,mBAAmB,CAAC;AAGzF,OAAO,KAAK,EAAqB,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAW9E,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKtE;AAED,KAAK,mBAAmB,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,cAAc,CAAC,CAAC;AAW7E,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAwBnH;AA+eD,wBAAgB,kBAAkB,CAAC,EAC/B,aAAa,EACb,UAAU,EACV,OAAO,EACP,MAAM,EACN,SAAS,EACT,YAAY,EACZ,SAAS,EACT,YAAY,GACf,EAAE,wBAAwB,+BAoB1B"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, SortableTableHeaderCell, Table, TableHeaderCell, TBody, THead, VTooltip, } from '@vertesia/ui/core';
|
|
3
|
+
import { useLocaleFormat, useUITranslation } from '@vertesia/ui/i18n';
|
|
4
|
+
import { ChevronDown, ChevronsUpDown, ChevronUp, ExternalLink, FileText, ImageIcon } from 'lucide-react';
|
|
5
|
+
import { createContext, useContext, useEffect, useState } from 'react';
|
|
6
|
+
import { resolveViewSort } from './viewState.js';
|
|
7
|
+
function nestedValue(root, path) {
|
|
8
|
+
if (!path || path === '.')
|
|
9
|
+
return root;
|
|
10
|
+
return path.split('.').reduce((value, segment) => {
|
|
11
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
12
|
+
return undefined;
|
|
13
|
+
return value[segment];
|
|
14
|
+
}, root);
|
|
15
|
+
}
|
|
16
|
+
export function getViewFieldValue(hit, field) {
|
|
17
|
+
if (field === 'score')
|
|
18
|
+
return hit.score;
|
|
19
|
+
if (field.startsWith('annotation.'))
|
|
20
|
+
return nestedValue(hit.annotation, field.slice('annotation.'.length));
|
|
21
|
+
if (field.startsWith('document.'))
|
|
22
|
+
return nestedValue(hit.document, field.slice('document.'.length));
|
|
23
|
+
return nestedValue(hit.document, field);
|
|
24
|
+
}
|
|
25
|
+
const ViewValueFormattersContext = createContext(undefined);
|
|
26
|
+
function primitiveText(value) {
|
|
27
|
+
if (value === undefined || value === null || value === '')
|
|
28
|
+
return undefined;
|
|
29
|
+
if (Array.isArray(value))
|
|
30
|
+
return value.map(primitiveText).filter(Boolean).join(', ');
|
|
31
|
+
if (typeof value === 'object')
|
|
32
|
+
return JSON.stringify(value);
|
|
33
|
+
return String(value);
|
|
34
|
+
}
|
|
35
|
+
export function formatViewFieldValue(hit, field, formatters) {
|
|
36
|
+
const value = getViewFieldValue(hit, field.field);
|
|
37
|
+
const fallback = field.fallback ?? '';
|
|
38
|
+
if (value === undefined || value === null || value === '')
|
|
39
|
+
return fallback;
|
|
40
|
+
if (field.format === 'date') {
|
|
41
|
+
const text = String(value);
|
|
42
|
+
const dateOnly = /^\d{4}-\d{2}-\d{2}$/.test(text);
|
|
43
|
+
const date = new Date(text);
|
|
44
|
+
if (Number.isNaN(date.getTime()))
|
|
45
|
+
return primitiveText(value) ?? fallback;
|
|
46
|
+
const options = {
|
|
47
|
+
year: 'numeric',
|
|
48
|
+
month: 'numeric',
|
|
49
|
+
day: 'numeric',
|
|
50
|
+
...(dateOnly ? { timeZone: 'UTC' } : {}),
|
|
51
|
+
};
|
|
52
|
+
return formatters?.formatDate(date, options) ?? new Intl.DateTimeFormat(undefined, options).format(date);
|
|
53
|
+
}
|
|
54
|
+
if (field.format === 'number') {
|
|
55
|
+
const number = typeof value === 'number' ? value : Number(value);
|
|
56
|
+
if (!Number.isFinite(number))
|
|
57
|
+
return primitiveText(value) ?? fallback;
|
|
58
|
+
return formatters?.formatNumber(number) ?? new Intl.NumberFormat().format(number);
|
|
59
|
+
}
|
|
60
|
+
return primitiveText(value) ?? fallback;
|
|
61
|
+
}
|
|
62
|
+
function ViewField({ hit, field, className }) {
|
|
63
|
+
const formatters = useContext(ViewValueFormattersContext);
|
|
64
|
+
const text = formatViewFieldValue(hit, field, formatters);
|
|
65
|
+
if (!text)
|
|
66
|
+
return null;
|
|
67
|
+
if (field.format === 'badge' || field.format === 'content_type') {
|
|
68
|
+
return _jsx(Badge, { className: className, children: text });
|
|
69
|
+
}
|
|
70
|
+
return _jsx("span", { className: className, children: text });
|
|
71
|
+
}
|
|
72
|
+
function OpenResultButton({ hit, onOpenHit, compact = false, }) {
|
|
73
|
+
const { t } = useUITranslation();
|
|
74
|
+
if (!onOpenHit)
|
|
75
|
+
return null;
|
|
76
|
+
if (compact) {
|
|
77
|
+
return (_jsx(VTooltip, { description: t('agent.openDocument'), asChild: true, children: _jsx(Button, { type: "button", variant: "ghost", size: "icon", "aria-label": t('agent.openDocument'), onClick: () => onOpenHit(hit), children: _jsx(ExternalLink, { className: "size-4" }) }) }));
|
|
78
|
+
}
|
|
79
|
+
return (_jsxs(Button, { type: "button", variant: "outline", size: "sm", onClick: () => onOpenHit(hit), children: [_jsx(ExternalLink, { className: "size-4" }), t('agent.openDocument')] }));
|
|
80
|
+
}
|
|
81
|
+
function safeMediaUrl(hit, media) {
|
|
82
|
+
if (media.source !== 'property' || !media.field)
|
|
83
|
+
return undefined;
|
|
84
|
+
const value = primitiveText(getViewFieldValue(hit, media.field));
|
|
85
|
+
if (!value)
|
|
86
|
+
return undefined;
|
|
87
|
+
try {
|
|
88
|
+
const url = new URL(value, typeof window === 'undefined' ? 'https://localhost' : window.location.origin);
|
|
89
|
+
return url.protocol === 'http:' || url.protocol === 'https:' ? url.toString() : undefined;
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function ViewMedia({ hit, media, resolveMedia, className, }) {
|
|
96
|
+
const directUrl = media ? safeMediaUrl(hit, media) : undefined;
|
|
97
|
+
const [resolvedUrl, setResolvedUrl] = useState();
|
|
98
|
+
const [failed, setFailed] = useState(false);
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
setResolvedUrl(undefined);
|
|
101
|
+
setFailed(false);
|
|
102
|
+
if (directUrl || !media || !resolveMedia)
|
|
103
|
+
return;
|
|
104
|
+
let active = true;
|
|
105
|
+
Promise.resolve(resolveMedia(hit, media))
|
|
106
|
+
.then((url) => {
|
|
107
|
+
if (active)
|
|
108
|
+
setResolvedUrl(url);
|
|
109
|
+
})
|
|
110
|
+
.catch(() => {
|
|
111
|
+
if (active)
|
|
112
|
+
setFailed(true);
|
|
113
|
+
});
|
|
114
|
+
return () => {
|
|
115
|
+
active = false;
|
|
116
|
+
};
|
|
117
|
+
}, [directUrl, hit, media, resolveMedia]);
|
|
118
|
+
const url = failed ? undefined : (directUrl ?? resolvedUrl);
|
|
119
|
+
const fit = media?.fit === 'contain' ? 'object-contain' : 'object-cover';
|
|
120
|
+
if (url) {
|
|
121
|
+
return _jsx("img", { src: url, alt: "", className: `${fit} ${className ?? ''}`, onError: () => setFailed(true) });
|
|
122
|
+
}
|
|
123
|
+
const fallback = media?.source === 'type_icon' ? 'type_icon' : (media?.fallback ?? 'type_icon');
|
|
124
|
+
if (fallback === 'none')
|
|
125
|
+
return null;
|
|
126
|
+
return (_jsx("div", { className: `flex items-center justify-center bg-muted ${className ?? ''}`, "aria-hidden": "true", children: fallback === 'placeholder' ? (_jsx(ImageIcon, { className: "size-10 text-muted-foreground" })) : (_jsx(FileText, { className: "size-10 text-muted-foreground" })) }));
|
|
127
|
+
}
|
|
128
|
+
function Annotation({ hit }) {
|
|
129
|
+
const annotation = hit.annotation?.why_match ?? hit.annotation?.answer ?? hit.annotation?.excerpt;
|
|
130
|
+
return annotation ? _jsx("p", { className: "text-sm text-info", children: annotation }) : null;
|
|
131
|
+
}
|
|
132
|
+
function BadgeFields({ hit, fields }) {
|
|
133
|
+
if (!fields?.length)
|
|
134
|
+
return null;
|
|
135
|
+
return (_jsx("div", { className: "flex flex-wrap gap-1", children: fields.map((field) => (_jsx(ViewField, { hit: hit, field: field }, `${field.field}-${field.label ?? ''}`))) }));
|
|
136
|
+
}
|
|
137
|
+
function LabeledFields({ hit, fields }) {
|
|
138
|
+
const formatters = useContext(ViewValueFormattersContext);
|
|
139
|
+
if (!fields?.length)
|
|
140
|
+
return null;
|
|
141
|
+
return (_jsx("dl", { className: "space-y-1 text-sm", children: fields.map((field) => {
|
|
142
|
+
const value = formatViewFieldValue(hit, field, formatters);
|
|
143
|
+
if (!value)
|
|
144
|
+
return null;
|
|
145
|
+
return (_jsxs("div", { className: "flex gap-2", children: [field.label && _jsx("dt", { className: "shrink-0 text-muted", children: field.label }), _jsx("dd", { className: "min-w-0 truncate", children: value })] }, `${field.field}-${field.label ?? ''}`));
|
|
146
|
+
}) }));
|
|
147
|
+
}
|
|
148
|
+
function ListResults({ display, hits, onOpenHit, resolveMedia, }) {
|
|
149
|
+
return (_jsx("div", { className: "divide-y divide-border rounded-md border", children: hits.map((hit) => (_jsxs("article", { className: "flex gap-4 p-4", children: [display.media && (_jsx(ViewMedia, { hit: hit, media: display.media, resolveMedia: resolveMedia, className: "size-20 shrink-0 rounded-md" })), _jsxs("div", { className: "min-w-0 flex-1 space-y-2", children: [_jsxs("div", { children: [_jsx("h3", { className: "font-semibold", children: _jsx(ViewField, { hit: hit, field: display.title }) }), display.subtitle && (_jsx("div", { className: "flex flex-wrap gap-x-3 gap-y-1 text-sm text-muted", children: display.subtitle.map((field) => (_jsx(ViewField, { hit: hit, field: field }, field.field))) }))] }), display.description && (_jsx("p", { className: "line-clamp-3 text-sm text-muted-foreground", children: _jsx(ViewField, { hit: hit, field: display.description }) })), _jsx(BadgeFields, { hit: hit, fields: display.badges }), _jsx(Annotation, { hit: hit })] }), _jsx("div", { className: "shrink-0 self-center", children: _jsx(OpenResultButton, { hit: hit, onOpenHit: onOpenHit, compact: true }) })] }, hit.id))) }));
|
|
150
|
+
}
|
|
151
|
+
function TableResults({ display, hits, isLoading, onOpenHit, sortOptions, currentSort, onSortChange, }) {
|
|
152
|
+
const { t } = useUITranslation();
|
|
153
|
+
return (_jsx("div", { className: "overflow-x-auto rounded-md border", children: _jsxs(Table, { className: "w-full", children: [_jsx(THead, { children: _jsxs("tr", { children: [display.columns.map((column) => {
|
|
154
|
+
const sortOption = column.sort_option
|
|
155
|
+
? sortOptions?.find((option) => option.id === column.sort_option)
|
|
156
|
+
: undefined;
|
|
157
|
+
if (!column.sortable || !sortOption) {
|
|
158
|
+
return (_jsx(TableHeaderCell, { children: column.label ?? column.field }, `${column.field}-${column.label ?? ''}`));
|
|
159
|
+
}
|
|
160
|
+
const direction = currentSort === sortOption.id
|
|
161
|
+
? sortOption.sort[0]?.order === 'desc'
|
|
162
|
+
? 'descending'
|
|
163
|
+
: 'ascending'
|
|
164
|
+
: 'none';
|
|
165
|
+
return (_jsx(SortableTableHeaderCell, { sortDirection: direction, onSort: () => onSortChange?.(sortOption.id), disabled: isLoading || !onSortChange, sortIndicator: (sortDirection) => {
|
|
166
|
+
if (sortDirection === 'ascending') {
|
|
167
|
+
return _jsx(ChevronUp, { className: "size-3", "aria-hidden": "true" });
|
|
168
|
+
}
|
|
169
|
+
if (sortDirection === 'descending') {
|
|
170
|
+
return _jsx(ChevronDown, { className: "size-3", "aria-hidden": "true" });
|
|
171
|
+
}
|
|
172
|
+
return _jsx(ChevronsUpDown, { className: "size-3 text-muted", "aria-hidden": "true" });
|
|
173
|
+
}, children: column.label ?? column.field }, `${column.field}-${column.label ?? ''}`));
|
|
174
|
+
}), onOpenHit && (_jsx(TableHeaderCell, { className: "w-0", children: _jsx("span", { className: "sr-only", children: t('agent.openDocument') }) }))] }) }), _jsx(TBody, { isLoading: isLoading && hits.length === 0, columns: display.columns.length + (onOpenHit ? 1 : 0), children: hits.map((hit) => (_jsxs("tr", { children: [display.columns.map((column) => (_jsx("td", { style: column.width ? { width: column.width } : undefined, children: _jsx(ViewField, { hit: hit, field: column }) }, `${hit.id}-${column.field}`))), onOpenHit && (_jsx("td", { className: "w-0 whitespace-nowrap text-end", children: _jsx(OpenResultButton, { hit: hit, onOpenHit: onOpenHit, compact: true }) }))] }, hit.id))) })] }) }));
|
|
175
|
+
}
|
|
176
|
+
const GRID_COLUMNS = {
|
|
177
|
+
2: 'md:grid-cols-2',
|
|
178
|
+
3: 'md:grid-cols-2 xl:grid-cols-3',
|
|
179
|
+
4: 'md:grid-cols-2 xl:grid-cols-4',
|
|
180
|
+
5: 'md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-5',
|
|
181
|
+
6: 'md:grid-cols-2 lg:grid-cols-3 2xl:grid-cols-6',
|
|
182
|
+
};
|
|
183
|
+
function ResultCard({ hit, configuration, onOpenHit, resolveMedia, }) {
|
|
184
|
+
return (_jsxs(Card, { className: "flex h-full min-w-0 flex-col overflow-hidden", children: [configuration.media && (_jsx(ViewMedia, { hit: hit, media: configuration.media, resolveMedia: resolveMedia, className: "h-40 w-full border-b" })), _jsxs(CardHeader, { className: "gap-2 p-4", children: [_jsx(BadgeFields, { hit: hit, fields: configuration.badges }), _jsx(CardTitle, { className: "truncate text-base", children: _jsx(ViewField, { hit: hit, field: configuration.title }) }), configuration.description && (_jsx(CardDescription, { className: "line-clamp-3", children: _jsx(ViewField, { hit: hit, field: configuration.description }) }))] }), _jsxs(CardContent, { className: "flex-1 p-4 pt-0", children: [_jsx(LabeledFields, { hit: hit, fields: configuration.fields }), _jsx(Annotation, { hit: hit })] }), onOpenHit && (_jsx(CardFooter, { className: "justify-end p-4 pt-0", children: _jsx(OpenResultButton, { hit: hit, onOpenHit: onOpenHit }) }))] }));
|
|
185
|
+
}
|
|
186
|
+
function CardsResults({ display, hits, onOpenHit, resolveMedia, }) {
|
|
187
|
+
return (_jsx("div", { className: `grid grid-cols-1 gap-4 ${GRID_COLUMNS[display.columns ?? 3]}`, children: hits.map((hit) => (_jsx(ResultCard, { hit: hit, configuration: display, onOpenHit: onOpenHit, resolveMedia: resolveMedia }, hit.id))) }));
|
|
188
|
+
}
|
|
189
|
+
function GalleryResults({ display, hits, onOpenHit, resolveMedia, }) {
|
|
190
|
+
return (_jsx("div", { className: `grid grid-cols-1 gap-4 ${GRID_COLUMNS[display.columns ?? 4]}`, children: hits.map((hit) => (_jsxs(Card, { className: "overflow-hidden", children: [_jsx(ViewMedia, { hit: hit, media: display.media, resolveMedia: resolveMedia, className: "aspect-square w-full border-b" }), _jsxs(CardContent, { className: "space-y-2 p-3", children: [_jsx("h3", { className: "truncate font-semibold", children: _jsx(ViewField, { hit: hit, field: display.title }) }), display.caption && (_jsx("div", { className: "space-y-1 text-sm text-muted", children: display.caption.map((field) => (_jsx("div", { className: "truncate", children: _jsx(ViewField, { hit: hit, field: field }) }, field.field))) })), _jsx(OpenResultButton, { hit: hit, onOpenHit: onOpenHit })] })] }, hit.id))) }));
|
|
191
|
+
}
|
|
192
|
+
function BoardResults({ display, hits, onOpenHit, resolveMedia, }) {
|
|
193
|
+
const grouped = new Map();
|
|
194
|
+
for (const hit of hits) {
|
|
195
|
+
const key = primitiveText(getViewFieldValue(hit, display.group_by)) ?? '';
|
|
196
|
+
grouped.set(key, [...(grouped.get(key) ?? []), hit]);
|
|
197
|
+
}
|
|
198
|
+
const columns = display.columns?.length
|
|
199
|
+
? [...display.columns].sort((left, right) => (left.order ?? 0) - (right.order ?? 0))
|
|
200
|
+
: [...grouped.keys()].sort().map((value) => ({ value, label: value || '—' }));
|
|
201
|
+
return (_jsx("div", { className: "flex min-w-max gap-4 overflow-x-auto pb-2", children: columns.map((column) => {
|
|
202
|
+
const columnHits = grouped.get(column.value) ?? [];
|
|
203
|
+
return (_jsxs("section", { className: "w-80 shrink-0 space-y-3 rounded-lg bg-muted/40 p-3", children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx("h3", { className: "font-semibold", children: column.label }), _jsx(Badge, { children: columnHits.length })] }), _jsx("div", { className: "space-y-3", children: columnHits.map((hit) => (_jsx(ResultCard, { hit: hit, configuration: display.card, onOpenHit: onOpenHit, resolveMedia: resolveMedia }, hit.id))) })] }, column.value));
|
|
204
|
+
}) }));
|
|
205
|
+
}
|
|
206
|
+
function renderResults(configuration, hits, isLoading, onOpenHit, resolveMedia, sortOptions, currentSort, onSortChange) {
|
|
207
|
+
if (configuration.type === 'table') {
|
|
208
|
+
return (_jsx(TableResults, { display: configuration, hits: hits, isLoading: isLoading, onOpenHit: onOpenHit, sortOptions: sortOptions, currentSort: currentSort, onSortChange: onSortChange }));
|
|
209
|
+
}
|
|
210
|
+
if (configuration.type === 'cards') {
|
|
211
|
+
return _jsx(CardsResults, { display: configuration, hits: hits, onOpenHit: onOpenHit, resolveMedia: resolveMedia });
|
|
212
|
+
}
|
|
213
|
+
if (configuration.type === 'gallery') {
|
|
214
|
+
return _jsx(GalleryResults, { display: configuration, hits: hits, onOpenHit: onOpenHit, resolveMedia: resolveMedia });
|
|
215
|
+
}
|
|
216
|
+
if (configuration.type === 'board') {
|
|
217
|
+
return _jsx(BoardResults, { display: configuration, hits: hits, onOpenHit: onOpenHit, resolveMedia: resolveMedia });
|
|
218
|
+
}
|
|
219
|
+
return _jsx(ListResults, { display: configuration, hits: hits, onOpenHit: onOpenHit, resolveMedia: resolveMedia });
|
|
220
|
+
}
|
|
221
|
+
export function DefaultViewResults({ configuration, definition, request, result, isLoading, onSortChange, onOpenHit, resolveMedia, }) {
|
|
222
|
+
const { t } = useUITranslation();
|
|
223
|
+
const formatters = useLocaleFormat();
|
|
224
|
+
if (!isLoading && result.hits.length === 0) {
|
|
225
|
+
return _jsx("p", { className: "py-12 text-center text-sm text-muted", children: t('filter.noResultsFound') });
|
|
226
|
+
}
|
|
227
|
+
return (_jsx(ViewValueFormattersContext.Provider, { value: formatters, children: renderResults(configuration, result.hits, isLoading, onOpenHit, resolveMedia, definition.results?.sort_options, resolveViewSort(request, result, definition.results?.default_sort), onSortChange) }));
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=ViewResults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewResults.js","sourceRoot":"","sources":["../../../src/features/views/ViewResults.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ViewSearchRendererProps } from './types.js';
|
|
2
|
+
export declare function DefaultViewSearch({ configuration, query, keyTerms, isLoading, onQueryChange, onKeyTermsChange, onSubmit, }: ViewSearchRendererProps): import("react").JSX.Element;
|
|
3
|
+
//# sourceMappingURL=ViewSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ViewSearch.d.ts","sourceRoot":"","sources":["../../../src/features/views/ViewSearch.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAoF1D,wBAAgB,iBAAiB,CAAC,EAC9B,aAAa,EACb,KAAK,EACL,QAAQ,EACR,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACX,EAAE,uBAAuB,+BA4GzB"}
|