@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,377 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Badge, Button, cn, ErrorBox, errorMessage, ResizableHandle, ResizablePanel, ResizablePanelGroup, Spinner, useFetch, VTooltip, } from '@vertesia/ui/core';
|
|
3
|
+
import { useUITranslation } from '@vertesia/ui/i18n';
|
|
4
|
+
import { useUserSession } from '@vertesia/ui/session';
|
|
5
|
+
import { CheckCircle2, ChevronLeft, ChevronRight, Eye, FileDown, FileJson2, FileText, Grid3X3, Image as ImageIcon, Sparkles, X, } from 'lucide-react';
|
|
6
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
7
|
+
import { GroundedExtractionAssistantPanel } from './GroundedExtractionAssistantPanel';
|
|
8
|
+
const ADVANCED_PROCESSING_PREFIX = 'magic-pdf';
|
|
9
|
+
/**
|
|
10
|
+
* Citation paths sometimes carry a leading "data." or "$." (the extraction
|
|
11
|
+
* schema nests the object under "data", and some models echo it). The server
|
|
12
|
+
* strips it for value resolution; the UI must match on the same normalized form
|
|
13
|
+
* so per-field scores, checkmarks and click-to-locate work for both variants.
|
|
14
|
+
*/
|
|
15
|
+
function normalizeCitationPath(path) {
|
|
16
|
+
return path.replace(/^\$\.?/, '').replace(/^data\./, '');
|
|
17
|
+
}
|
|
18
|
+
/** True when a grounded extraction result exists for the object */
|
|
19
|
+
export function useGroundedExtractionAvailable(objectId) {
|
|
20
|
+
const { client } = useUserSession();
|
|
21
|
+
const [available, setAvailable] = useState(false);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
let cancelled = false;
|
|
24
|
+
setAvailable(false);
|
|
25
|
+
client.files
|
|
26
|
+
.getDownloadUrl(`${ADVANCED_PROCESSING_PREFIX}/${objectId}/grounded-extraction.json`)
|
|
27
|
+
.then((r) => fetch(r.url, { method: 'HEAD' }))
|
|
28
|
+
.then((res) => {
|
|
29
|
+
if (!cancelled)
|
|
30
|
+
setAvailable(res.ok);
|
|
31
|
+
})
|
|
32
|
+
.catch(() => {
|
|
33
|
+
// no grounded extraction for this object
|
|
34
|
+
});
|
|
35
|
+
return () => {
|
|
36
|
+
cancelled = true;
|
|
37
|
+
};
|
|
38
|
+
}, [client, objectId]);
|
|
39
|
+
return available;
|
|
40
|
+
}
|
|
41
|
+
/** Lightweight summary of the object's grounded extraction, or null when none exists */
|
|
42
|
+
export function useGroundedSummary(objectId) {
|
|
43
|
+
const { client } = useUserSession();
|
|
44
|
+
const [summary, setSummary] = useState(null);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
let cancelled = false;
|
|
47
|
+
setSummary(null);
|
|
48
|
+
client.files
|
|
49
|
+
.getDownloadUrl(`${ADVANCED_PROCESSING_PREFIX}/${objectId}/grounded-extraction.json`)
|
|
50
|
+
.then((r) => fetch(r.url))
|
|
51
|
+
.then((res) => (res.ok ? res.json() : null))
|
|
52
|
+
.then((file) => {
|
|
53
|
+
if (cancelled || !file?.citations)
|
|
54
|
+
return;
|
|
55
|
+
setSummary({
|
|
56
|
+
confidence: file.confidence,
|
|
57
|
+
verified: file.citations.filter((c) => c.verified).length,
|
|
58
|
+
total: file.citations.length,
|
|
59
|
+
verdict: file.verdict,
|
|
60
|
+
verdict_reason: file.verdict_reason,
|
|
61
|
+
});
|
|
62
|
+
})
|
|
63
|
+
.catch(() => {
|
|
64
|
+
// no grounded extraction for this object
|
|
65
|
+
});
|
|
66
|
+
return () => {
|
|
67
|
+
cancelled = true;
|
|
68
|
+
};
|
|
69
|
+
}, [client, objectId]);
|
|
70
|
+
return summary;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Embeddable grounded-extraction review panel (fills its container): extracted
|
|
74
|
+
* properties on one side, source pages with citation boxes on the other.
|
|
75
|
+
* Clicking a property highlights where in the document it was read.
|
|
76
|
+
*/
|
|
77
|
+
export function GroundedExtractionPanel({ objectId, onClose }) {
|
|
78
|
+
const { t } = useUITranslation();
|
|
79
|
+
const { client } = useUserSession();
|
|
80
|
+
const { data: extraction, error, isLoading, refetch, } = useFetch(async () => {
|
|
81
|
+
const response = await client.files.getDownloadUrl(`${ADVANCED_PROCESSING_PREFIX}/${objectId}/grounded-extraction.json`);
|
|
82
|
+
const result = await fetch(response.url);
|
|
83
|
+
if (!result.ok) {
|
|
84
|
+
throw new Error(t('grounded.notFound'));
|
|
85
|
+
}
|
|
86
|
+
return result.json();
|
|
87
|
+
}, [objectId]);
|
|
88
|
+
if (error) {
|
|
89
|
+
return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsxs("div", { className: "flex flex-col items-center gap-4 p-8 max-w-md", children: [_jsx(ErrorBox, { title: t('grounded.failedToLoad'), children: errorMessage(error) }), onClose && (_jsx(Button, { variant: "outline", onClick: onClose, children: t('pdf.close') }))] }) }));
|
|
90
|
+
}
|
|
91
|
+
if (isLoading || !extraction) {
|
|
92
|
+
return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx(Spinner, { size: "lg" }) }));
|
|
93
|
+
}
|
|
94
|
+
return (_jsx("div", { className: "relative h-full", children: _jsx(GroundedExtractionViewImpl, { extraction: extraction, objectId: objectId, onClose: onClose, onExtractionChanged: refetch }) }));
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Full-screen route wrapper around GroundedExtractionPanel.
|
|
98
|
+
*/
|
|
99
|
+
export function GroundedExtractionView({ objectId, onClose }) {
|
|
100
|
+
return (_jsx("div", { className: "fixed inset-0 bg-background z-50", children: _jsx(GroundedExtractionPanel, { objectId: objectId, onClose: onClose }) }));
|
|
101
|
+
}
|
|
102
|
+
function GroundedExtractionViewImpl({ extraction, objectId, onClose, onExtractionChanged, }) {
|
|
103
|
+
const { t } = useUITranslation();
|
|
104
|
+
const { client } = useUserSession();
|
|
105
|
+
const pageNumbers = useMemo(() => Object.keys(extraction.pages)
|
|
106
|
+
.map((p) => parseInt(p, 10))
|
|
107
|
+
.sort((a, b) => a - b), [extraction.pages]);
|
|
108
|
+
const downloadArtifact = (path) => {
|
|
109
|
+
client.files
|
|
110
|
+
.getDownloadUrl(`${ADVANCED_PROCESSING_PREFIX}/${objectId}/${path}`)
|
|
111
|
+
.then((r) => window.open(r.url, '_blank'))
|
|
112
|
+
.catch(() => {
|
|
113
|
+
// artifact absent for this document
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
const [page, setPage] = useState(pageNumbers[0] ?? 1);
|
|
117
|
+
const [selectedPath, setSelectedPath] = useState(undefined);
|
|
118
|
+
const [showBreakdown, setShowBreakdown] = useState(false);
|
|
119
|
+
const [showVerdict, setShowVerdict] = useState(false);
|
|
120
|
+
const [pageImageMode, setPageImageMode] = useState('original');
|
|
121
|
+
const [assistantOpen, setAssistantOpen] = useState(false);
|
|
122
|
+
const breakdown = useMemo(() => {
|
|
123
|
+
const groups = { digital: 0, ocr: 0, reviewerConfirmed: 0, snapped: 0, imageRead: 0 };
|
|
124
|
+
const unverified = [];
|
|
125
|
+
for (const c of extraction.citations) {
|
|
126
|
+
if (c.verified) {
|
|
127
|
+
// Programmatic verification: the value matched the extracted text
|
|
128
|
+
// (digital text layer verbatim, or the OCR text).
|
|
129
|
+
if (c.snapped)
|
|
130
|
+
groups.snapped++;
|
|
131
|
+
else if ((c.confidence ?? 0) >= 1)
|
|
132
|
+
groups.digital++;
|
|
133
|
+
else
|
|
134
|
+
groups.ocr++;
|
|
135
|
+
}
|
|
136
|
+
else if (c.reviewed) {
|
|
137
|
+
// Model verification: the reviewer read the page image and confirmed
|
|
138
|
+
// the value. This is a strong signal — and the ONLY one available for
|
|
139
|
+
// scanned/handwritten content, where there is no text layer to match.
|
|
140
|
+
groups.reviewerConfirmed++;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
// Read from the image but neither text-matched nor reviewer-confirmed.
|
|
144
|
+
groups.imageRead++;
|
|
145
|
+
unverified.push(c);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
// Two kinds of verification, both trustworthy:
|
|
149
|
+
// - digitally verified: matched the document's text (digital layer or OCR)
|
|
150
|
+
// - model verified: the reviewer confirmed it against the page image
|
|
151
|
+
const digitallyVerified = groups.digital + groups.ocr + groups.snapped;
|
|
152
|
+
const modelVerified = groups.reviewerConfirmed;
|
|
153
|
+
return {
|
|
154
|
+
groups,
|
|
155
|
+
unverified,
|
|
156
|
+
digitallyVerified,
|
|
157
|
+
modelVerified,
|
|
158
|
+
totalVerified: digitallyVerified + modelVerified,
|
|
159
|
+
};
|
|
160
|
+
}, [extraction.citations]);
|
|
161
|
+
const citationsByPath = useMemo(() => {
|
|
162
|
+
const map = new Map();
|
|
163
|
+
for (const citation of extraction.citations) {
|
|
164
|
+
const key = normalizeCitationPath(citation.path);
|
|
165
|
+
const list = map.get(key) ?? [];
|
|
166
|
+
list.push(citation);
|
|
167
|
+
map.set(key, list);
|
|
168
|
+
}
|
|
169
|
+
return map;
|
|
170
|
+
}, [extraction.citations]);
|
|
171
|
+
const totalCitations = extraction.citations.length;
|
|
172
|
+
const selectPath = (path) => {
|
|
173
|
+
setSelectedPath(path);
|
|
174
|
+
const citation = citationsByPath.get(normalizeCitationPath(path))?.[0];
|
|
175
|
+
if (citation) {
|
|
176
|
+
setPage(citation.page);
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
const pageIndex = pageNumbers.indexOf(page);
|
|
180
|
+
const selectedCitation = selectedPath
|
|
181
|
+
? citationsByPath.get(normalizeCitationPath(selectedPath))?.find((citation) => citation.page === page)
|
|
182
|
+
: undefined;
|
|
183
|
+
const selectedCellRange = selectedCitation?.cells
|
|
184
|
+
? selectedCitation.cells.start === selectedCitation.cells.end
|
|
185
|
+
? selectedCitation.cells.start
|
|
186
|
+
: `${selectedCitation.cells.start}:${selectedCitation.cells.end}`
|
|
187
|
+
: undefined;
|
|
188
|
+
return (_jsxs(ResizablePanelGroup, { direction: "horizontal", className: "absolute inset-0", children: [_jsxs(ResizablePanel, { defaultSize: 55, minSize: 25, className: "flex flex-col bg-muted", children: [_jsxs("div", { className: "relative flex h-9 shrink-0 items-center justify-center bg-sidebar px-2 border-b border-sidebar-border", children: [selectedCellRange && (_jsx(Badge, { variant: "secondary", className: "absolute start-2 max-w-32 truncate font-mono text-[11px]", title: selectedCellRange, children: selectedCellRange })), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Button, { variant: "ghost", size: "xs", "aria-label": t('grounded.previousPage'), disabled: pageIndex <= 0, onClick: () => setPage(pageNumbers[pageIndex - 1]), children: _jsx(ChevronLeft, { className: "size-4" }) }), _jsx("span", { className: "text-xs text-muted-foreground", children: t('pdf.pageOf', { pageNumber: page, totalPages: pageNumbers.length }) }), _jsx(Button, { variant: "ghost", size: "xs", "aria-label": t('grounded.nextPage'), disabled: pageIndex >= pageNumbers.length - 1, onClick: () => setPage(pageNumbers[pageIndex + 1]), children: _jsx(ChevronRight, { className: "size-4" }) })] }), _jsxs("fieldset", { className: "absolute end-2 flex items-center gap-0.5 rounded border-0 bg-muted p-0.5", children: [_jsx("legend", { className: "sr-only", children: t('grounded.checkerboard') }), _jsx(VTooltip, { description: t('pdf.originalImages'), placement: "bottom", size: "xs", asChild: true, children: _jsxs(Button, { variant: pageImageMode === 'original' ? 'outline' : 'ghost', size: "xs", "aria-label": t('pdf.originalImages'), "aria-pressed": pageImageMode === 'original', className: "h-6 gap-1 px-1.5", onClick: () => setPageImageMode('original'), children: [_jsx(ImageIcon, { className: "size-3.5" }), _jsx("span", { className: "hidden sm:inline", children: t('pdf.page') })] }) }), _jsx(VTooltip, { description: t('grounded.checkerboard'), placement: "bottom", size: "xs", asChild: true, children: _jsxs(Button, { variant: pageImageMode === 'grid' ? 'outline' : 'ghost', size: "xs", "aria-label": t('grounded.checkerboard'), "aria-pressed": pageImageMode === 'grid', className: "h-6 gap-1 px-1.5", onClick: () => setPageImageMode('grid'), children: [_jsx(Grid3X3, { className: "size-3.5" }), _jsx("span", { className: "hidden sm:inline", children: t('grounded.checkerboard') })] }) })] })] }), _jsx("div", { className: "flex-1 overflow-auto p-2", children: _jsx(PageWithOverlay, { objectId: objectId, page: page, dims: extraction.pages[String(page)], citations: extraction.citations.filter((c) => c.page === page), selectedPath: selectedPath, onSelectPath: setSelectedPath, imageMode: pageImageMode }) })] }), _jsx(ResizableHandle, { className: "w-[4px] bg-border cursor-ew-resize" }), _jsxs(ResizablePanel, { defaultSize: 45, minSize: 20, className: "flex flex-col", children: [_jsxs("div", { className: "flex h-9 items-center justify-between shrink-0 bg-sidebar px-2 border-b border-sidebar-border", children: [_jsx("span", { className: "text-sm font-medium", children: t('grounded.title') }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(VTooltip, { description: t('grounded.assistantTooltip'), placement: "bottom", size: "xs", asChild: true, children: _jsx(Button, { variant: assistantOpen ? 'primary' : 'ghost', size: "xs", "aria-label": t('grounded.assistant'), onClick: () => setAssistantOpen((v) => !v), children: _jsx(Sparkles, { className: "size-4" }) }) }), extraction.verdict && (_jsx("button", { type: "button", className: "cursor-pointer", onClick: () => setShowVerdict((v) => !v), "aria-expanded": showVerdict, "aria-label": t('grounded.verdictDetails'), children: _jsx(Badge, { variant: extraction.verdict === 'good_to_go' ? 'success' : 'attention', children: extraction.verdict === 'good_to_go'
|
|
189
|
+
? t('grounded.verdictGoodToGo')
|
|
190
|
+
: t('grounded.verdictNeedsReview') }) })), typeof extraction.hardness?.score === 'number' && (_jsxs(Badge, { variant: extraction.hardness.score >= 0.5
|
|
191
|
+
? 'attention'
|
|
192
|
+
: extraction.hardness.score >= 0.2
|
|
193
|
+
? 'info'
|
|
194
|
+
: 'secondary', title: t('grounded.hardnessHint'), children: [t('grounded.hardness', {
|
|
195
|
+
percent: Math.round(extraction.hardness.score * 100),
|
|
196
|
+
}), extraction.hardness.escalated ? ' ↑' : ''] })), extraction.citations.length > 0 &&
|
|
197
|
+
(() => {
|
|
198
|
+
// Real verification: fraction of values actually confirmed —
|
|
199
|
+
// digitally (verbatim/OCR match) OR by the reviewer against the
|
|
200
|
+
// image. NOT mean confidence, which scores image-read values high
|
|
201
|
+
// even when nothing was verified (e.g. 98% "confidence" on 2/64).
|
|
202
|
+
const verifiedPct = Math.round((100 * breakdown.totalVerified) / extraction.citations.length);
|
|
203
|
+
return (_jsx(Badge, { variant: verifiedPct >= 95
|
|
204
|
+
? 'success'
|
|
205
|
+
: verifiedPct >= 50
|
|
206
|
+
? 'attention'
|
|
207
|
+
: 'destructive', title: t('grounded.confidenceHint'), children: t('grounded.confidence', { percent: verifiedPct }) }));
|
|
208
|
+
})(), _jsxs("button", { type: "button", className: "flex cursor-pointer items-center gap-1", onClick: () => setShowBreakdown((v) => !v), "aria-expanded": showBreakdown, "aria-label": t('grounded.breakdownTitle'), children: [breakdown.digitallyVerified > 0 && (_jsx(Badge, { variant: "success", title: t('grounded.digitalVerifiedHint'), children: t('grounded.digitalVerifiedOf', {
|
|
209
|
+
count: breakdown.digitallyVerified,
|
|
210
|
+
total: totalCitations,
|
|
211
|
+
}) })), breakdown.modelVerified > 0 && (_jsx(Badge, { variant: "success", title: t('grounded.modelVerifiedHint'), children: t('grounded.modelVerifiedOf', {
|
|
212
|
+
count: breakdown.modelVerified,
|
|
213
|
+
total: totalCitations,
|
|
214
|
+
}) })), breakdown.groups.imageRead > 0 && (_jsx(Badge, { variant: "attention", title: t('grounded.unverifiedHint'), children: t('grounded.unverifiedCount', { count: breakdown.groups.imageRead }) }))] }), _jsx(Button, { variant: "ghost", size: "xs", "aria-label": t('grounded.downloadCitations'), title: t('grounded.downloadCitations'), onClick: () => downloadArtifact('grounded-extraction.json'), children: _jsx(FileJson2, { className: "size-4" }) }), _jsx(Button, { variant: "ghost", size: "xs", "aria-label": t('grounded.downloadBlocks'), title: t('grounded.downloadBlocks'), onClick: () => downloadArtifact(`pages/page-${page}.json`), children: _jsx(FileText, { className: "size-4" }) }), _jsx(Button, { variant: "ghost", size: "xs", "aria-label": t('grounded.downloadAnnotated'), title: t('grounded.downloadAnnotated'), onClick: () => downloadArtifact('grounded-annotated.pdf'), children: _jsx(FileDown, { className: "size-4" }) }), !!onClose && (_jsx(Button, { variant: "ghost", size: "xs", onClick: onClose, "aria-label": t('pdf.close'), children: _jsx(X, { className: "size-4" }) }))] })] }), showVerdict && extraction.verdict && (_jsxs("div", { className: "shrink-0 border-b border-border bg-background px-3 py-2 text-sm", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: cn('font-medium', extraction.verdict === 'good_to_go' ? 'text-success' : 'text-attention'), children: extraction.verdict === 'good_to_go'
|
|
215
|
+
? t('grounded.verdictGoodToGo')
|
|
216
|
+
: t('grounded.verdictNeedsReview') }), _jsx("span", { className: "text-xs text-muted-foreground", children: extraction.review
|
|
217
|
+
? t('grounded.verdictByReviewer')
|
|
218
|
+
: t('grounded.verdictByConfidence') })] }), (extraction.verdict_reason ?? extraction.review?.verdict_reason) && (_jsx("p", { className: "mt-1 text-xs", children: extraction.verdict_reason ?? extraction.review?.verdict_reason })), extraction.review?.summary && (_jsxs("p", { className: "mt-2 text-xs text-muted-foreground", children: [_jsxs("span", { className: "font-medium text-foreground", children: [t('grounded.reviewSummary'), ": "] }), extraction.review.summary] })), typeof extraction.review?.corrections_applied === 'number' &&
|
|
219
|
+
extraction.review.corrections_applied > 0 && (_jsx("p", { className: "mt-1 text-xs text-info", children: t('grounded.reviewCorrections', {
|
|
220
|
+
count: extraction.review.corrections_applied,
|
|
221
|
+
}) }))] })), showBreakdown && (_jsxs("div", { className: "shrink-0 border-b border-border bg-background px-3 py-2 text-sm max-h-72 overflow-auto", children: [_jsx("div", { className: "font-medium mb-1", children: t('grounded.breakdownTitle') }), _jsxs("div", { className: "grid grid-cols-2 gap-x-4 text-xs", children: [_jsx("span", { className: "col-span-2 mt-1 font-medium text-success", children: t('grounded.digitalVerifiedOf', {
|
|
222
|
+
count: breakdown.digitallyVerified,
|
|
223
|
+
total: totalCitations,
|
|
224
|
+
}) }), _jsx("span", { className: "ps-2 text-muted-foreground", children: t('grounded.breakdownDigital') }), _jsx("span", { className: "text-end text-success", children: breakdown.groups.digital }), _jsx("span", { className: "ps-2 text-muted-foreground", children: t('grounded.breakdownOcr') }), _jsx("span", { className: "text-end text-success", children: breakdown.groups.ocr }), _jsx("span", { className: "ps-2 text-muted-foreground", children: t('grounded.breakdownSnapped') }), _jsx("span", { className: "text-end text-success", children: breakdown.groups.snapped }), _jsx("span", { className: "col-span-2 mt-2 font-medium text-success", children: t('grounded.modelVerifiedOf', {
|
|
225
|
+
count: breakdown.modelVerified,
|
|
226
|
+
total: totalCitations,
|
|
227
|
+
}) }), _jsx("span", { className: "ps-2 text-muted-foreground", children: t('grounded.breakdownReviewer') }), _jsx("span", { className: "text-end text-success", children: breakdown.groups.reviewerConfirmed }), breakdown.groups.imageRead > 0 && (_jsxs(_Fragment, { children: [_jsx("span", { className: "col-span-2 mt-2 font-medium text-attention", children: t('grounded.unverifiedCount', { count: breakdown.groups.imageRead }) }), _jsx("span", { className: "ps-2 text-muted-foreground", children: t('grounded.breakdownImageRead') }), _jsx("span", { className: "text-end text-attention", children: breakdown.groups.imageRead })] }))] }), _jsx("p", { className: "mt-2 text-xs text-muted-foreground", children: t('grounded.breakdownVerificationHelp') }), breakdown.unverified.length > 0 && (_jsxs("div", { className: "mt-2", children: [_jsx("div", { className: "text-xs font-medium text-muted-foreground mb-1", children: t('grounded.breakdownUnverifiedList') }), _jsx("ul", { className: "space-y-0.5", children: breakdown.unverified.map((c) => (_jsx("li", { children: _jsxs("button", { type: "button", className: "w-full text-start text-xs rounded px-1 py-0.5 hover:bg-muted cursor-pointer", onClick: () => {
|
|
228
|
+
selectPath(c.path);
|
|
229
|
+
setShowBreakdown(false);
|
|
230
|
+
}, children: [_jsx("span", { className: "text-muted-foreground", children: c.path }), ' ', _jsx("span", { children: String(c.value ?? '') })] }) }, c.path))) })] }))] })), _jsxs("div", { className: "flex-1 overflow-auto p-3", children: [_jsx(DataNode, { value: extraction.data, path: "", citationsByPath: citationsByPath, selectedPath: selectedPath, onSelect: selectPath }), extraction.conflicts && extraction.conflicts.length > 0 && (_jsx("div", { className: "mt-4 text-xs text-attention", children: t('grounded.conflicts', { count: extraction.conflicts.length }) }))] })] }), assistantOpen && (_jsxs(_Fragment, { children: [_jsx(ResizableHandle, { className: "w-[4px] bg-border cursor-ew-resize" }), _jsx(ResizablePanel, { defaultSize: 30, minSize: 20, className: "flex flex-col border-s border-border", children: _jsx(GroundedExtractionAssistantPanel, { objectId: objectId, onExtractionChanged: onExtractionChanged, selectedField: selectedPath, onClose: () => setAssistantOpen(false) }) })] }))] }));
|
|
231
|
+
}
|
|
232
|
+
function PageWithOverlay({ objectId, page, dims, citations, selectedPath, onSelectPath, imageMode, }) {
|
|
233
|
+
const { t } = useUITranslation();
|
|
234
|
+
const { client } = useUserSession();
|
|
235
|
+
const [imageUrl, setImageUrl] = useState(undefined);
|
|
236
|
+
useEffect(() => {
|
|
237
|
+
let cancelled = false;
|
|
238
|
+
setImageUrl(undefined);
|
|
239
|
+
client.files
|
|
240
|
+
.getDownloadUrl(`${ADVANCED_PROCESSING_PREFIX}/${objectId}/pages/page-${page}.${imageMode}.jpg`)
|
|
241
|
+
.then((r) => {
|
|
242
|
+
if (!cancelled)
|
|
243
|
+
setImageUrl(r.url);
|
|
244
|
+
})
|
|
245
|
+
.catch((err) => console.warn('Failed to load page image', err));
|
|
246
|
+
return () => {
|
|
247
|
+
cancelled = true;
|
|
248
|
+
};
|
|
249
|
+
}, [client, imageMode, objectId, page]);
|
|
250
|
+
if (!imageUrl || !dims) {
|
|
251
|
+
return (_jsx("div", { className: "flex items-center justify-center h-64", children: _jsx(Spinner, {}) }));
|
|
252
|
+
}
|
|
253
|
+
// Citation boxes live in the page's (possibly OCR-rotated) coordinate space,
|
|
254
|
+
// which `dims` describes. They overlay directly on a container that is that
|
|
255
|
+
// same space — so when the page is rotated we rotate the image to fill that
|
|
256
|
+
// space rather than transforming every box.
|
|
257
|
+
const boxOverlays = citations.flatMap((citation) => citation.boxes.map((box, i) => {
|
|
258
|
+
const isSelected = selectedPath !== undefined &&
|
|
259
|
+
normalizeCitationPath(selectedPath) === normalizeCitationPath(citation.path);
|
|
260
|
+
const cellRange = citation.cells
|
|
261
|
+
? citation.cells.start === citation.cells.end
|
|
262
|
+
? citation.cells.start
|
|
263
|
+
: `${citation.cells.start}:${citation.cells.end}`
|
|
264
|
+
: undefined;
|
|
265
|
+
return (_jsx("button", { type: "button", "aria-label": citation.path, title: `${citation.path}${cellRange ? `\n${cellRange}` : ''}${citation.source_text ? `\n${citation.source_text}` : ''}`, onClick: () => onSelectPath(normalizeCitationPath(citation.path)), className: cn('absolute cursor-pointer border rounded-[1px] transition-colors', citation.misaligned && 'border-dashed', isSelected
|
|
266
|
+
? 'border-2 border-destructive bg-destructive/20 z-10'
|
|
267
|
+
: selectedPath
|
|
268
|
+
? 'border-info/30 hover:border-info'
|
|
269
|
+
: citation.verified
|
|
270
|
+
? 'border-success/70 hover:bg-success/20'
|
|
271
|
+
: citation.reviewed
|
|
272
|
+
? 'border-info/70 hover:bg-info/20'
|
|
273
|
+
: 'border-attention/80 hover:bg-attention/20'), style: {
|
|
274
|
+
// inline position: the app's button base styles override the
|
|
275
|
+
// `absolute` utility class with position: relative
|
|
276
|
+
position: 'absolute',
|
|
277
|
+
left: `${(box.x / dims.width) * 100}%`,
|
|
278
|
+
top: `${(box.y / dims.height) * 100}%`,
|
|
279
|
+
width: `${(box.w / dims.width) * 100}%`,
|
|
280
|
+
height: `${(box.h / dims.height) * 100}%`,
|
|
281
|
+
} }, `${citation.path}-${i}`));
|
|
282
|
+
}));
|
|
283
|
+
// The stored page image is in the source orientation; the OCR pass may have
|
|
284
|
+
// rotated the page to upright to read it, so `rotation` (CW degrees) is how
|
|
285
|
+
// much the image must turn to match the citation coordinates. A 90/270 turn
|
|
286
|
+
// also transposes the image box, so it is sized to the container's transpose.
|
|
287
|
+
const rot = (((dims.rotation ?? 0) % 360) + 360) % 360;
|
|
288
|
+
if (rot !== 0) {
|
|
289
|
+
const transpose = rot === 90 || rot === 270;
|
|
290
|
+
return (_jsxs("div", { className: "relative w-full", style: { aspectRatio: `${dims.width} / ${dims.height}` }, children: [_jsx("img", { src: imageUrl, alt: t('grounded.pageAlt', { page }), className: "absolute select-none", style: {
|
|
291
|
+
left: '50%',
|
|
292
|
+
top: '50%',
|
|
293
|
+
width: `${(transpose ? dims.height / dims.width : 1) * 100}%`,
|
|
294
|
+
height: `${(transpose ? dims.width / dims.height : 1) * 100}%`,
|
|
295
|
+
maxWidth: 'none',
|
|
296
|
+
transform: `translate(-50%, -50%) rotate(${rot}deg)`,
|
|
297
|
+
transformOrigin: 'center center',
|
|
298
|
+
} }), boxOverlays] }));
|
|
299
|
+
}
|
|
300
|
+
return (_jsxs("div", { className: "relative w-full", children: [_jsx("img", { src: imageUrl, alt: t('grounded.pageAlt', { page }), className: "w-full select-none" }), boxOverlays] }));
|
|
301
|
+
}
|
|
302
|
+
function DataNode({ value, path, citationsByPath, selectedPath, onSelect, }) {
|
|
303
|
+
if (Array.isArray(value)) {
|
|
304
|
+
if (value.length > 0 && value.every((item) => item !== null && typeof item === 'object')) {
|
|
305
|
+
return (_jsx(ArrayTable, { items: value, path: path, citationsByPath: citationsByPath, selectedPath: selectedPath, onSelect: onSelect }));
|
|
306
|
+
}
|
|
307
|
+
return (_jsx("div", { className: "space-y-1", children: value.map((item, i) => (_jsx(DataNode, { value: item, path: `${path}[${i}]`, citationsByPath: citationsByPath, selectedPath: selectedPath, onSelect: onSelect }, `${path}[${i}]`))) }));
|
|
308
|
+
}
|
|
309
|
+
if (value !== null && typeof value === 'object') {
|
|
310
|
+
return (_jsx("div", { className: path ? 'ps-3 border-s border-border space-y-0.5' : 'space-y-0.5', children: Object.entries(value).map(([key, child]) => {
|
|
311
|
+
const childPath = path ? `${path}.${key}` : key;
|
|
312
|
+
const isLeaf = child === null || typeof child !== 'object';
|
|
313
|
+
if (isLeaf) {
|
|
314
|
+
return (_jsx(LeafRow, { label: key, value: child, path: childPath, citationsByPath: citationsByPath, selectedPath: selectedPath, onSelect: onSelect }, childPath));
|
|
315
|
+
}
|
|
316
|
+
// Arrays of objects render as a table with its own labeled header
|
|
317
|
+
const rendersOwnLabel = Array.isArray(child) &&
|
|
318
|
+
child.length > 0 &&
|
|
319
|
+
child.every((item) => item !== null && typeof item === 'object');
|
|
320
|
+
return (_jsxs("div", { className: "pt-1", children: [!rendersOwnLabel && (_jsx("div", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wide", children: key })), _jsx(DataNode, { value: child, path: childPath, citationsByPath: citationsByPath, selectedPath: selectedPath, onSelect: onSelect })] }, childPath));
|
|
321
|
+
}) }));
|
|
322
|
+
}
|
|
323
|
+
return null;
|
|
324
|
+
}
|
|
325
|
+
function ArrayTable({ items, path, citationsByPath, selectedPath, onSelect, }) {
|
|
326
|
+
const { t } = useUITranslation();
|
|
327
|
+
const columns = useMemo(() => {
|
|
328
|
+
const keys = new Set();
|
|
329
|
+
for (const item of items) {
|
|
330
|
+
for (const key of Object.keys(item))
|
|
331
|
+
keys.add(key);
|
|
332
|
+
}
|
|
333
|
+
return Array.from(keys);
|
|
334
|
+
}, [items]);
|
|
335
|
+
return (_jsxs("div", { className: "pt-1", children: [_jsxs("div", { className: "text-xs font-semibold text-muted-foreground uppercase tracking-wide", children: [path.split('.').pop(), " (", items.length, ")"] }), _jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "w-full text-xs", children: [_jsx("thead", { children: _jsx("tr", { className: "text-start text-muted-foreground", children: columns.map((col) => (_jsx("th", { scope: "col", className: "py-1 pe-2 font-medium", children: col }, col))) }) }), _jsx("tbody", { children: items.map((item, i) => (_jsx("tr", { className: "border-t border-border/50", children: columns.map((col) => {
|
|
336
|
+
const cellPath = `${path}[${i}].${col}`;
|
|
337
|
+
const citation = citationsByPath.get(cellPath)?.[0];
|
|
338
|
+
const isSelected = selectedPath === cellPath;
|
|
339
|
+
return (_jsx("td", { className: "py-0.5 pe-2", children: _jsxs("button", { type: "button", onClick: () => onSelect(cellPath), className: cn('text-start rounded px-1 w-full', isSelected
|
|
340
|
+
? 'bg-destructive/15 ring-1 ring-destructive'
|
|
341
|
+
: citation
|
|
342
|
+
? 'hover:bg-muted cursor-pointer'
|
|
343
|
+
: 'text-muted-foreground cursor-default'), children: [formatValue(item[col]), citation && typeof citation.confidence === 'number' && (_jsx("span", { className: cn('ms-1 text-[10px]', scoreColor(citation.confidence)), title: t('grounded.confidenceHint'), children: formatScore(citation.confidence) }))] }) }, col));
|
|
344
|
+
}) }, `${path}[${i}]`))) })] }) })] }));
|
|
345
|
+
}
|
|
346
|
+
function LeafRow({ label, value, path, citationsByPath, selectedPath, onSelect, }) {
|
|
347
|
+
const { t } = useUITranslation();
|
|
348
|
+
const citation = citationsByPath.get(path)?.[0];
|
|
349
|
+
const isSelected = selectedPath === path;
|
|
350
|
+
return (_jsxs("button", { type: "button", onClick: () => citation && onSelect(path), className: cn('flex items-center gap-2 w-full text-start text-sm rounded px-1.5 py-0.5', isSelected ? 'bg-destructive/15 ring-1 ring-destructive' : citation ? 'hover:bg-muted' : '', !citation && 'cursor-default'), children: [_jsx("span", { className: "text-muted-foreground min-w-28 shrink-0", children: label }), _jsx("span", { className: "flex-1 wrap-break-word", children: formatValue(value) }), citation && typeof citation.confidence === 'number' && (_jsx("span", { className: cn('text-xs shrink-0', scoreColor(citation.confidence)), title: t('grounded.confidenceHint'), children: formatScore(citation.confidence) })), citation &&
|
|
351
|
+
(citation.verified ? (_jsx(CheckCircle2, { "aria-label": t('grounded.verified'), className: "size-3.5 shrink-0 text-success" })) : citation.reviewed ? (_jsx(Sparkles, { "aria-label": t('grounded.aiVerified'), className: "size-3.5 shrink-0 text-info" })) : (_jsx(Eye, { "aria-label": t('grounded.readFromImage'), className: "size-3.5 shrink-0 text-attention" })))] }));
|
|
352
|
+
}
|
|
353
|
+
/**
|
|
354
|
+
* Tier scores (1.0, 0.99, 0.5...) are policy values and display as integers;
|
|
355
|
+
* OCR-measured scores carry real decimals from tesseract and keep two.
|
|
356
|
+
*/
|
|
357
|
+
function formatScore(confidence) {
|
|
358
|
+
const pct = confidence * 100;
|
|
359
|
+
return Number.isInteger(pct) ? `${pct}%` : `${(Math.floor(pct * 100) / 100).toFixed(2)}%`;
|
|
360
|
+
}
|
|
361
|
+
function scoreColor(confidence) {
|
|
362
|
+
if (confidence >= 0.95)
|
|
363
|
+
return 'text-success';
|
|
364
|
+
if (confidence >= 0.7)
|
|
365
|
+
return 'text-attention';
|
|
366
|
+
return 'text-destructive';
|
|
367
|
+
}
|
|
368
|
+
function formatValue(value) {
|
|
369
|
+
if (value === null || value === undefined || value === '')
|
|
370
|
+
return '—';
|
|
371
|
+
if (typeof value === 'boolean')
|
|
372
|
+
return value ? 'true' : 'false';
|
|
373
|
+
if (typeof value === 'object')
|
|
374
|
+
return JSON.stringify(value);
|
|
375
|
+
return String(value);
|
|
376
|
+
}
|
|
377
|
+
//# sourceMappingURL=GroundedExtractionView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GroundedExtractionView.js","sourceRoot":"","sources":["../../../src/features/magic-pdf/GroundedExtractionView.tsx"],"names":[],"mappings":";AAAA,OAAO,EACH,KAAK,EACL,MAAM,EACN,EAAE,EACF,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,OAAO,EACP,QAAQ,EACR,QAAQ,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACH,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,GAAG,EACH,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,KAAK,IAAI,SAAS,EAClB,QAAQ,EACR,CAAC,GACJ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,MAAM,0BAA0B,GAAG,WAAW,CAAC;AAS/C;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAC7D,CAAC;AAoDD,mEAAmE;AACnE,MAAM,UAAU,8BAA8B,CAAC,QAAgB;IAC3D,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,CAAC,KAAK;aACP,cAAc,CAAC,GAAG,0BAA0B,IAAI,QAAQ,2BAA2B,CAAC;aACpF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;aAC7C,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,IAAI,CAAC,SAAS;gBAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACR,yCAAyC;QAC7C,CAAC,CAAC,CAAC;QACP,OAAO,GAAG,EAAE;YACR,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvB,OAAO,SAAS,CAAC;AACrB,CAAC;AAUD,wFAAwF;AACxF,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAyB,IAAI,CAAC,CAAC;IACrE,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,MAAM,CAAC,KAAK;aACP,cAAc,CAAC,GAAG,0BAA0B,IAAI,QAAQ,2BAA2B,CAAC;aACpF,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aACzB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC3C,IAAI,CAAC,CAAC,IAAmC,EAAE,EAAE;YAC1C,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE,SAAS;gBAAE,OAAO;YAC1C,UAAU,CAAC;gBACP,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM;gBACzD,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM;gBAC5B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,cAAc,EAAE,IAAI,CAAC,cAAc;aACtC,CAAC,CAAC;QACP,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACR,yCAAyC;QAC7C,CAAC,CAAC,CAAC;QACP,OAAO,GAAG,EAAE;YACR,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvB,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAA+B;IACtF,MAAM,EAAE,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAEpC,MAAM,EACF,IAAI,EAAE,UAAU,EAChB,KAAK,EACL,SAAS,EACT,OAAO,GACV,GAAG,QAAQ,CAAyB,KAAK,IAAI,EAAE;QAC5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAC9C,GAAG,0BAA0B,IAAI,QAAQ,2BAA2B,CACvE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,IAAI,KAAK,EAAE,CAAC;QACR,OAAO,CACH,cAAK,SAAS,EAAC,yCAAyC,YACpD,eAAK,SAAS,EAAC,+CAA+C,aAC1D,KAAC,QAAQ,IAAC,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,YAAG,YAAY,CAAC,KAAK,CAAC,GAAY,EAC5E,OAAO,IAAI,CACR,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,OAAO,YACrC,CAAC,CAAC,WAAW,CAAC,GACV,CACZ,IACC,GACJ,CACT,CAAC;IACN,CAAC;IAED,IAAI,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,OAAO,CACH,cAAK,SAAS,EAAC,yCAAyC,YACpD,KAAC,OAAO,IAAC,IAAI,EAAC,IAAI,GAAG,GACnB,CACT,CAAC;IACN,CAAC;IAED,OAAO,CACH,cAAK,SAAS,EAAC,iBAAiB,YAC5B,KAAC,0BAA0B,IACvB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,mBAAmB,EAAE,OAAO,GAC9B,GACA,CACT,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAA+B;IACrF,OAAO,CACH,cAAK,SAAS,EAAC,kCAAkC,YAC7C,KAAC,uBAAuB,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAI,GAC/D,CACT,CAAC;AACN,CAAC;AAED,SAAS,0BAA0B,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,OAAO,EACP,mBAAmB,GAMtB;IACG,MAAM,EAAE,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,CACvB,GAAG,EAAE,CACD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC3B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAC9B,CAAC,UAAU,CAAC,KAAK,CAAC,CACrB,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,EAAE;QACtC,MAAM,CAAC,KAAK;aACP,cAAc,CAAC,GAAG,0BAA0B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;aACnE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;aACzC,KAAK,CAAC,GAAG,EAAE;YACR,oCAAoC;QACxC,CAAC,CAAC,CAAC;IACX,CAAC,CAAC;IACF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAChF,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAgB,UAAU,CAAC,CAAC;IAC9E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACtF,MAAM,UAAU,GAAuB,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACb,kEAAkE;gBAClE,kDAAkD;gBAClD,IAAI,CAAC,CAAC,OAAO;oBAAE,MAAM,CAAC,OAAO,EAAE,CAAC;qBAC3B,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC;oBAAE,MAAM,CAAC,OAAO,EAAE,CAAC;;oBAC/C,MAAM,CAAC,GAAG,EAAE,CAAC;YACtB,CAAC;iBAAM,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACpB,qEAAqE;gBACrE,sEAAsE;gBACtE,sEAAsE;gBACtE,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACJ,uEAAuE;gBACvE,MAAM,CAAC,SAAS,EAAE,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;QACD,+CAA+C;QAC/C,4EAA4E;QAC5E,sEAAsE;QACtE,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC;QACvE,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAC/C,OAAO;YACH,MAAM;YACN,UAAU;YACV,iBAAiB;YACjB,aAAa;YACb,aAAa,EAAE,iBAAiB,GAAG,aAAa;SACnD,CAAC;IACN,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAE3B,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,GAAG,GAAG,IAAI,GAAG,EAA8B,CAAC;QAClD,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAE3B,MAAM,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC;IAEnD,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;QAChC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACvE,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,YAAY;QACjC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC;QACtG,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,iBAAiB,GAAG,gBAAgB,EAAE,KAAK;QAC7C,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,KAAK,gBAAgB,CAAC,KAAK,CAAC,GAAG;YACzD,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK;YAC9B,CAAC,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,EAAE;QACrE,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,CACH,MAAC,mBAAmB,IAAC,SAAS,EAAC,YAAY,EAAC,SAAS,EAAC,kBAAkB,aACpE,MAAC,cAAc,IAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAC,wBAAwB,aAE5E,eAAK,SAAS,EAAC,uGAAuG,aACjH,iBAAiB,IAAI,CAClB,KAAC,KAAK,IACF,OAAO,EAAC,WAAW,EACnB,SAAS,EAAC,0DAA0D,EACpE,KAAK,EAAE,iBAAiB,YAEvB,iBAAiB,GACd,CACX,EACD,eAAK,SAAS,EAAC,yBAAyB,aACpC,KAAC,MAAM,IACH,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,gBACG,CAAC,CAAC,uBAAuB,CAAC,EACtC,QAAQ,EAAE,SAAS,IAAI,CAAC,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,YAElD,KAAC,WAAW,IAAC,SAAS,EAAC,QAAQ,GAAG,GAC7B,EACT,eAAM,SAAS,EAAC,+BAA+B,YAC1C,CAAC,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,GACnE,EACP,KAAC,MAAM,IACH,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,gBACG,CAAC,CAAC,mBAAmB,CAAC,EAClC,QAAQ,EAAE,SAAS,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,YAElD,KAAC,YAAY,IAAC,SAAS,EAAC,QAAQ,GAAG,GAC9B,IACP,EACN,oBAAU,SAAS,EAAC,0EAA0E,aAC1F,iBAAQ,SAAS,EAAC,SAAS,YAAE,CAAC,CAAC,uBAAuB,CAAC,GAAU,EACjE,KAAC,QAAQ,IAAC,WAAW,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,kBAChF,MAAC,MAAM,IACH,OAAO,EAAE,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAC3D,IAAI,EAAC,IAAI,gBACG,CAAC,CAAC,oBAAoB,CAAC,kBACrB,aAAa,KAAK,UAAU,EAC1C,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC,aAE3C,KAAC,SAAS,IAAC,SAAS,EAAC,UAAU,GAAG,EAClC,eAAM,SAAS,EAAC,kBAAkB,YAAE,CAAC,CAAC,UAAU,CAAC,GAAQ,IACpD,GACF,EACX,KAAC,QAAQ,IAAC,WAAW,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAE,SAAS,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,kBACnF,MAAC,MAAM,IACH,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EACvD,IAAI,EAAC,IAAI,gBACG,CAAC,CAAC,uBAAuB,CAAC,kBACxB,aAAa,KAAK,MAAM,EACtC,SAAS,EAAC,kBAAkB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAEvC,KAAC,OAAO,IAAC,SAAS,EAAC,UAAU,GAAG,EAChC,eAAM,SAAS,EAAC,kBAAkB,YAAE,CAAC,CAAC,uBAAuB,CAAC,GAAQ,IACjE,GACF,IACJ,IACT,EACN,cAAK,SAAS,EAAC,0BAA0B,YACrC,KAAC,eAAe,IACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EACpC,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAC9D,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,eAAe,EAC7B,SAAS,EAAE,aAAa,GAC1B,GACA,IACO,EACjB,KAAC,eAAe,IAAC,SAAS,EAAC,oCAAoC,GAAG,EAClE,MAAC,cAAc,IAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAC,eAAe,aAEnE,eAAK,SAAS,EAAC,+FAA+F,aAC1G,eAAM,SAAS,EAAC,qBAAqB,YAAE,CAAC,CAAC,gBAAgB,CAAC,GAAQ,EAClE,eAAK,SAAS,EAAC,yBAAyB,aACpC,KAAC,QAAQ,IAAC,WAAW,EAAE,CAAC,CAAC,2BAA2B,CAAC,EAAE,SAAS,EAAC,QAAQ,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,kBACvF,KAAC,MAAM,IACH,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAC5C,IAAI,EAAC,IAAI,gBACG,CAAC,CAAC,oBAAoB,CAAC,EACnC,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAE1C,KAAC,QAAQ,IAAC,SAAS,EAAC,QAAQ,GAAG,GAC1B,GACF,EACV,UAAU,CAAC,OAAO,IAAI,CACnB,iBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,mBACzB,WAAW,gBACd,CAAC,CAAC,yBAAyB,CAAC,YAExC,KAAC,KAAK,IAAC,OAAO,EAAE,UAAU,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,YACxE,UAAU,CAAC,OAAO,KAAK,YAAY;gDAChC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC;gDAC/B,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,GAClC,GACH,CACZ,EACA,OAAO,UAAU,CAAC,QAAQ,EAAE,KAAK,KAAK,QAAQ,IAAI,CAC/C,MAAC,KAAK,IACF,OAAO,EACH,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG;4CAC5B,CAAC,CAAC,WAAW;4CACb,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG;gDAChC,CAAC,CAAC,MAAM;gDACR,CAAC,CAAC,WAAW,EAEvB,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,aAEhC,CAAC,CAAC,mBAAmB,EAAE;gDACpB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC;6CACvD,CAAC,EACD,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IACtC,CACX,EACA,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;wCAC5B,CAAC,GAAG,EAAE;4CACF,6DAA6D;4CAC7D,gEAAgE;4CAChE,kEAAkE;4CAClE,kEAAkE;4CAClE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAC1B,CAAC,GAAG,GAAG,SAAS,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAChE,CAAC;4CACF,OAAO,CACH,KAAC,KAAK,IACF,OAAO,EACH,WAAW,IAAI,EAAE;oDACb,CAAC,CAAC,SAAS;oDACX,CAAC,CAAC,WAAW,IAAI,EAAE;wDACjB,CAAC,CAAC,WAAW;wDACb,CAAC,CAAC,aAAa,EAEzB,KAAK,EAAE,CAAC,CAAC,yBAAyB,CAAC,YAElC,CAAC,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,GAC/C,CACX,CAAC;wCACN,CAAC,CAAC,EAAE,EACR,kBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,wCAAwC,EAClD,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,mBAC3B,aAAa,gBAChB,CAAC,CAAC,yBAAyB,CAAC,aAEvC,SAAS,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAChC,KAAC,KAAK,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAE,CAAC,CAAC,8BAA8B,CAAC,YAC5D,CAAC,CAAC,4BAA4B,EAAE;oDAC7B,KAAK,EAAE,SAAS,CAAC,iBAAiB;oDAClC,KAAK,EAAE,cAAc;iDACxB,CAAC,GACE,CACX,EACA,SAAS,CAAC,aAAa,GAAG,CAAC,IAAI,CAC5B,KAAC,KAAK,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAE,CAAC,CAAC,4BAA4B,CAAC,YAC1D,CAAC,CAAC,0BAA0B,EAAE;oDAC3B,KAAK,EAAE,SAAS,CAAC,aAAa;oDAC9B,KAAK,EAAE,cAAc;iDACxB,CAAC,GACE,CACX,EACA,SAAS,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,CAC/B,KAAC,KAAK,IAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAE,CAAC,CAAC,yBAAyB,CAAC,YACzD,CAAC,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,GACjE,CACX,IACI,EACT,KAAC,MAAM,IACH,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,gBACG,CAAC,CAAC,4BAA4B,CAAC,EAC3C,KAAK,EAAE,CAAC,CAAC,4BAA4B,CAAC,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,YAE3D,KAAC,SAAS,IAAC,SAAS,EAAC,QAAQ,GAAG,GAC3B,EACT,KAAC,MAAM,IACH,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,gBACG,CAAC,CAAC,yBAAyB,CAAC,EACxC,KAAK,EAAE,CAAC,CAAC,yBAAyB,CAAC,EACnC,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,cAAc,IAAI,OAAO,CAAC,YAE1D,KAAC,QAAQ,IAAC,SAAS,EAAC,QAAQ,GAAG,GAC1B,EACT,KAAC,MAAM,IACH,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,IAAI,gBACG,CAAC,CAAC,4BAA4B,CAAC,EAC3C,KAAK,EAAE,CAAC,CAAC,4BAA4B,CAAC,EACtC,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,YAEzD,KAAC,QAAQ,IAAC,SAAS,EAAC,QAAQ,GAAG,GAC1B,EACR,CAAC,CAAC,OAAO,IAAI,CACV,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,OAAO,gBAAc,CAAC,CAAC,WAAW,CAAC,YAC1E,KAAC,CAAC,IAAC,SAAS,EAAC,QAAQ,GAAG,GACnB,CACZ,IACC,IACJ,EACL,WAAW,IAAI,UAAU,CAAC,OAAO,IAAI,CAClC,eAAK,SAAS,EAAC,iEAAiE,aAC5E,eAAK,SAAS,EAAC,yBAAyB,aACpC,eACI,SAAS,EAAE,EAAE,CACT,aAAa,EACb,UAAU,CAAC,OAAO,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAC1E,YAEA,UAAU,CAAC,OAAO,KAAK,YAAY;4CAChC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC;4CAC/B,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,GACnC,EACP,eAAM,SAAS,EAAC,+BAA+B,YAC1C,UAAU,CAAC,MAAM;4CACd,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAC;4CACjC,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,GACpC,IACL,EACL,CAAC,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CACjE,YAAG,SAAS,EAAC,cAAc,YACtB,UAAU,CAAC,cAAc,IAAI,UAAU,CAAC,MAAM,EAAE,cAAc,GAC/D,CACP,EACA,UAAU,CAAC,MAAM,EAAE,OAAO,IAAI,CAC3B,aAAG,SAAS,EAAC,oCAAoC,aAC7C,gBAAM,SAAS,EAAC,6BAA6B,aAAE,CAAC,CAAC,wBAAwB,CAAC,UAAU,EACnF,UAAU,CAAC,MAAM,CAAC,OAAO,IAC1B,CACP,EACA,OAAO,UAAU,CAAC,MAAM,EAAE,mBAAmB,KAAK,QAAQ;gCACvD,UAAU,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,IAAI,CACzC,YAAG,SAAS,EAAC,wBAAwB,YAChC,CAAC,CAAC,4BAA4B,EAAE;oCAC7B,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,mBAAmB;iCAC/C,CAAC,GACF,CACP,IACH,CACT,EACA,aAAa,IAAI,CACd,eAAK,SAAS,EAAC,wFAAwF,aACnG,cAAK,SAAS,EAAC,kBAAkB,YAAE,CAAC,CAAC,yBAAyB,CAAC,GAAO,EACtE,eAAK,SAAS,EAAC,kCAAkC,aAC7C,eAAM,SAAS,EAAC,0CAA0C,YACrD,CAAC,CAAC,4BAA4B,EAAE;4CAC7B,KAAK,EAAE,SAAS,CAAC,iBAAiB;4CAClC,KAAK,EAAE,cAAc;yCACxB,CAAC,GACC,EACP,eAAM,SAAS,EAAC,4BAA4B,YAAE,CAAC,CAAC,2BAA2B,CAAC,GAAQ,EACpF,eAAM,SAAS,EAAC,uBAAuB,YAAE,SAAS,CAAC,MAAM,CAAC,OAAO,GAAQ,EACzE,eAAM,SAAS,EAAC,4BAA4B,YAAE,CAAC,CAAC,uBAAuB,CAAC,GAAQ,EAChF,eAAM,SAAS,EAAC,uBAAuB,YAAE,SAAS,CAAC,MAAM,CAAC,GAAG,GAAQ,EACrE,eAAM,SAAS,EAAC,4BAA4B,YAAE,CAAC,CAAC,2BAA2B,CAAC,GAAQ,EACpF,eAAM,SAAS,EAAC,uBAAuB,YAAE,SAAS,CAAC,MAAM,CAAC,OAAO,GAAQ,EACzE,eAAM,SAAS,EAAC,0CAA0C,YACrD,CAAC,CAAC,0BAA0B,EAAE;4CAC3B,KAAK,EAAE,SAAS,CAAC,aAAa;4CAC9B,KAAK,EAAE,cAAc;yCACxB,CAAC,GACC,EACP,eAAM,SAAS,EAAC,4BAA4B,YAAE,CAAC,CAAC,4BAA4B,CAAC,GAAQ,EACrF,eAAM,SAAS,EAAC,uBAAuB,YAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,GAAQ,EAClF,SAAS,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,CAC/B,8BACI,eAAM,SAAS,EAAC,4CAA4C,YACvD,CAAC,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,GAClE,EACP,eAAM,SAAS,EAAC,4BAA4B,YACvC,CAAC,CAAC,6BAA6B,CAAC,GAC9B,EACP,eAAM,SAAS,EAAC,yBAAyB,YAAE,SAAS,CAAC,MAAM,CAAC,SAAS,GAAQ,IAC9E,CACN,IACC,EACN,YAAG,SAAS,EAAC,oCAAoC,YAAE,CAAC,CAAC,oCAAoC,CAAC,GAAK,EAC9F,SAAS,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAChC,eAAK,SAAS,EAAC,MAAM,aACjB,cAAK,SAAS,EAAC,gDAAgD,YAC1D,CAAC,CAAC,kCAAkC,CAAC,GACpC,EACN,aAAI,SAAS,EAAC,aAAa,YACtB,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAC7B,uBACI,kBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,6EAA6E,EACvF,OAAO,EAAE,GAAG,EAAE;oDACV,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oDACnB,gBAAgB,CAAC,KAAK,CAAC,CAAC;gDAC5B,CAAC,aAED,eAAM,SAAS,EAAC,uBAAuB,YAAE,CAAC,CAAC,IAAI,GAAQ,EAAC,GAAG,EAC3D,yBAAO,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,GAAQ,IAC/B,IAXJ,CAAC,CAAC,IAAI,CAYV,CACR,CAAC,GACD,IACH,CACT,IACC,CACT,EAED,eAAK,SAAS,EAAC,0BAA0B,aACrC,KAAC,QAAQ,IACL,KAAK,EAAE,UAAU,CAAC,IAAI,EACtB,IAAI,EAAC,EAAE,EACP,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,UAAU,GACtB,EACD,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACxD,cAAK,SAAS,EAAC,6BAA6B,YACvC,CAAC,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAC9D,CACT,IACC,IACO,EAChB,aAAa,IAAI,CACd,8BACI,KAAC,eAAe,IAAC,SAAS,EAAC,oCAAoC,GAAG,EAClE,KAAC,cAAc,IAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAC,sCAAsC,YAC1F,KAAC,gCAAgC,IAC7B,QAAQ,EAAE,QAAQ,EAClB,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,YAAY,EAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,GACxC,GACW,IAClB,CACN,IACiB,CACzB,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,EACrB,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,SAAS,GASZ;IACG,MAAM,EAAE,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,WAAW,CAAC,SAAS,CAAC,CAAC;QACvB,MAAM,CAAC,KAAK;aACP,cAAc,CAAC,GAAG,0BAA0B,IAAI,QAAQ,eAAe,IAAI,IAAI,SAAS,MAAM,CAAC;aAC/F,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACR,IAAI,CAAC,SAAS;gBAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7E,OAAO,GAAG,EAAE;YACR,SAAS,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAExC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,OAAO,CACH,cAAK,SAAS,EAAC,uCAAuC,YAClD,KAAC,OAAO,KAAG,GACT,CACT,CAAC;IACN,CAAC;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,4CAA4C;IAC5C,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC/C,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,UAAU,GACZ,YAAY,KAAK,SAAS;YAC1B,qBAAqB,CAAC,YAAY,CAAC,KAAK,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK;YAC5B,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG;gBACzC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK;gBACtB,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;YACrD,CAAC,CAAC,SAAS,CAAC;QAChB,OAAO,CACH,iBAEI,IAAI,EAAC,QAAQ,gBACD,QAAQ,CAAC,IAAI,EACzB,KAAK,EAAE,GAAG,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EACvH,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EACjE,SAAS,EAAE,EAAE,CACT,gEAAgE,EAChE,QAAQ,CAAC,UAAU,IAAI,eAAe,EACtC,UAAU;gBACN,CAAC,CAAC,oDAAoD;gBACtD,CAAC,CAAC,YAAY;oBACZ,CAAC,CAAC,kCAAkC;oBACpC,CAAC,CAAC,QAAQ,CAAC,QAAQ;wBACjB,CAAC,CAAC,uCAAuC;wBACzC,CAAC,CAAC,QAAQ,CAAC,QAAQ;4BACjB,CAAC,CAAC,iCAAiC;4BACnC,CAAC,CAAC,2CAA2C,CAC1D,EACD,KAAK,EAAE;gBACH,6DAA6D;gBAC7D,mDAAmD;gBACnD,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG;gBACtC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG;gBACtC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG;gBACvC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG;aAC5C,IA1BI,GAAG,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,CA2B9B,CACL,CAAC;IACN,CAAC,CAAC,CACL,CAAC;IAEF,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACvD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,CAAC;QAC5C,OAAO,CACH,eAAK,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,aACrF,cACI,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,CAAC,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,EACpC,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE;wBACH,IAAI,EAAE,KAAK;wBACX,GAAG,EAAE,KAAK;wBACV,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG;wBAC7D,MAAM,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG;wBAC9D,QAAQ,EAAE,MAAM;wBAChB,SAAS,EAAE,gCAAgC,GAAG,MAAM;wBACpD,eAAe,EAAE,eAAe;qBACnC,GACH,EACD,WAAW,IACV,CACT,CAAC;IACN,CAAC;IAED,OAAO,CACH,eAAK,SAAS,EAAC,iBAAiB,aAC5B,cAAK,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAC,oBAAoB,GAAG,EAC1F,WAAW,IACV,CACT,CAAC;AACN,CAAC;AAED,SAAS,QAAQ,CAAC,EACd,KAAK,EACL,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,QAAQ,GAOX;IACG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;YACvF,OAAO,CACH,KAAC,UAAU,IACP,KAAK,EAAE,KAAkC,EACzC,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,GACpB,CACL,CAAC;QACN,CAAC;QACD,OAAO,CACH,cAAK,SAAS,EAAC,WAAW,YACrB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,KAAC,QAAQ,IAEL,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EACrB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,IALb,GAAG,IAAI,IAAI,CAAC,GAAG,CAMtB,CACL,CAAC,GACA,CACT,CAAC;IACN,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,CACH,cAAK,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,aAAa,YAC3E,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBACnE,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAChD,MAAM,MAAM,GAAG,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;gBAC3D,IAAI,MAAM,EAAE,CAAC;oBACT,OAAO,CACH,KAAC,OAAO,IAEJ,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,SAAS,EACf,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,IANb,SAAS,CAOhB,CACL,CAAC;gBACN,CAAC;gBACD,kEAAkE;gBAClE,MAAM,eAAe,GACjB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACpB,KAAK,CAAC,MAAM,GAAG,CAAC;oBAChB,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;gBACrE,OAAO,CACH,eAAqB,SAAS,EAAC,MAAM,aAChC,CAAC,eAAe,IAAI,CACjB,cAAK,SAAS,EAAC,qEAAqE,YAC/E,GAAG,GACF,CACT,EACD,KAAC,QAAQ,IACL,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,SAAS,EACf,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,GACpB,KAZI,SAAS,CAab,CACT,CAAC;YACN,CAAC,CAAC,GACA,CACT,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,UAAU,CAAC,EAChB,KAAK,EACL,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,QAAQ,GAOX;IACG,MAAM,EAAE,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,CACH,eAAK,SAAS,EAAC,MAAM,aACjB,eAAK,SAAS,EAAC,qEAAqE,aAC/E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAI,KAAK,CAAC,MAAM,SACpC,EACN,cAAK,SAAS,EAAC,iBAAiB,YAC5B,iBAAO,SAAS,EAAC,gBAAgB,aAC7B,0BACI,aAAI,SAAS,EAAC,kCAAkC,YAC3C,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAClB,aAAc,KAAK,EAAC,KAAK,EAAC,SAAS,EAAC,uBAAuB,YACtD,GAAG,IADC,GAAG,CAEP,CACR,CAAC,GACD,GACD,EACR,0BACK,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,aAA0B,SAAS,EAAC,2BAA2B,YAC1D,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oCACjB,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;oCACxC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oCACpD,MAAM,UAAU,GAAG,YAAY,KAAK,QAAQ,CAAC;oCAC7C,OAAO,CACH,aAAc,SAAS,EAAC,aAAa,YACjC,kBACI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACjC,SAAS,EAAE,EAAE,CACT,gCAAgC,EAChC,UAAU;gDACN,CAAC,CAAC,2CAA2C;gDAC7C,CAAC,CAAC,QAAQ;oDACR,CAAC,CAAC,+BAA+B;oDACjC,CAAC,CAAC,sCAAsC,CACjD,aAEA,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACtB,QAAQ,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,IAAI,CACpD,eACI,SAAS,EAAE,EAAE,CACT,kBAAkB,EAClB,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAClC,EACD,KAAK,EAAE,CAAC,CAAC,yBAAyB,CAAC,YAElC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,GAC9B,CACV,IACI,IAzBJ,GAAG,CA0BP,CACR,CAAC;gCACN,CAAC,CAAC,IAlCG,GAAG,IAAI,IAAI,CAAC,GAAG,CAmCnB,CACR,CAAC,GACE,IACJ,GACN,IACJ,CACT,CAAC;AACN,CAAC;AAED,SAAS,OAAO,CAAC,EACb,KAAK,EACL,KAAK,EACL,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,QAAQ,GAQX;IACG,MAAM,EAAE,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,YAAY,KAAK,IAAI,CAAC;IAEzC,OAAO,CACH,kBACI,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,EACzC,SAAS,EAAE,EAAE,CACT,yEAAyE,EACzE,UAAU,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAC3F,CAAC,QAAQ,IAAI,gBAAgB,CAChC,aAED,eAAM,SAAS,EAAC,yCAAyC,YAAE,KAAK,GAAQ,EACxE,eAAM,SAAS,EAAC,wBAAwB,YAAE,WAAW,CAAC,KAAK,CAAC,GAAQ,EACnE,QAAQ,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ,IAAI,CACpD,eACI,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAClE,KAAK,EAAE,CAAC,CAAC,yBAAyB,CAAC,YAElC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,GAC9B,CACV,EACA,QAAQ;gBACL,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CACjB,KAAC,YAAY,kBAAa,CAAC,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAC,gCAAgC,GAAG,CAClG,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CACpB,KAAC,QAAQ,kBAAa,CAAC,CAAC,qBAAqB,CAAC,EAAE,SAAS,EAAC,6BAA6B,GAAG,CAC7F,CAAC,CAAC,CAAC,CACA,KAAC,GAAG,kBAAa,CAAC,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAC,kCAAkC,GAAG,CAChG,CAAC,IACD,CACZ,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,UAAkB;IACnC,MAAM,GAAG,GAAG,UAAU,GAAG,GAAG,CAAC;IAC7B,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9F,CAAC;AAED,SAAS,UAAU,CAAC,UAAkB;IAClC,IAAI,UAAU,IAAI,IAAI;QAAE,OAAO,cAAc,CAAC;IAC9C,IAAI,UAAU,IAAI,GAAG;QAAE,OAAO,gBAAgB,CAAC;IAC/C,OAAO,kBAAkB,CAAC;AAC9B,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAC/B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC;IACtE,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MagicPdfProvider.d.ts","sourceRoot":"","sources":["../../../src/features/magic-pdf/MagicPdfProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,aAAa,EAA6C,MAAM,kBAAkB,CAAC;AAEjG,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,oBAAY,SAAS;IACjB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;CAChC;AAED,UAAU,oBAAoB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,kBAAkB,CAAC;IACnC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,aAAa,EAAE,iBAAiB,CAAC;IACjC,
|
|
1
|
+
{"version":3,"file":"MagicPdfProvider.d.ts","sourceRoot":"","sources":["../../../src/features/magic-pdf/MagicPdfProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,aAAa,EAA6C,MAAM,kBAAkB,CAAC;AAEjG,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,oBAAY,SAAS;IACjB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;CAChC;AAED,UAAU,oBAAoB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,kBAAkB,CAAC;IACnC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,aAAa,EAAE,iBAAiB,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;CAC1B;AAED,sDAAsD;AACtD,qBAAa,iBAAiB;IAKtB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IACT,UAAU,EAAE,MAAM;IAN7B,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,OAAO,CAA2C;gBAG9C,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM;IAG7B,OAAO,CAAC,WAAW;IAInB,gFAAgF;IAC1E,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;YAwBvD,aAAa;IAM3B,OAAO,CAAC,YAAY;CASvB;AAED,cAAM,kBAAkB;IAKhB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IACT,UAAU,EAAE,MAAM;IAN7B,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,OAAO,CAA2C;gBAG9C,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM;IAGvB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAsBpC,eAAe;CAShC;AAED,cAAM,oBAAoB;IAGH,UAAU,EAAE,MAAM;IAFrC,OAAO,CAAC,KAAK,CAAgB;gBAEV,UAAU,EAAE,MAAM;IAIrC,eAAe,CAAC,eAAe,EAAE,MAAM;IAKjC,QAAQ,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM;IAIrD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOvD;AAiDD,UAAU,qBAAqB;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B;AACD,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,qBAAqB,qBAyC3E;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAExG;AAED,wBAAgB,kBAAkB,yBAMjC"}
|
|
@@ -164,53 +164,40 @@ const MagicPdfContext = createContext(undefined);
|
|
|
164
164
|
export function MagicPdfProvider({ children, object }) {
|
|
165
165
|
const { client } = useUserSession();
|
|
166
166
|
const page_count = object.metadata.page_count || DEFAULT_PAGE_COUNT;
|
|
167
|
-
const isMarkdownProcessor = object.metadata?.content_processor?.type === 'markdown';
|
|
168
|
-
// Create initial context immediately (synchronously) for both processor types
|
|
169
167
|
const [info, setInfo] = useState(() => {
|
|
170
168
|
const markdownProvider = new PageMarkdownProvider(page_count);
|
|
171
|
-
if (
|
|
169
|
+
if (object.text) {
|
|
172
170
|
markdownProvider.initFromContent(object.text);
|
|
173
171
|
}
|
|
174
|
-
const xml = object.text ? cleanXml(object.text) : '';
|
|
175
172
|
return {
|
|
176
173
|
count: page_count,
|
|
177
174
|
layoutProvider: new PageLayoutProvider(client, object.id, page_count),
|
|
178
175
|
markdownProvider,
|
|
179
176
|
imageProvider: new PageImageProvider(client, object.id, page_count),
|
|
180
|
-
xml,
|
|
181
|
-
xmlPages: object.text ? extractXmlPages(xml) : [],
|
|
182
177
|
pdfUrl: '',
|
|
183
178
|
pdfUrlLoading: true,
|
|
184
179
|
};
|
|
185
180
|
});
|
|
186
181
|
useEffect(() => {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
})
|
|
200
|
-
.catch((e) => {
|
|
201
|
-
console.warn('Failed to get PDF URL:', e);
|
|
202
|
-
setInfo((prev) => ({ ...prev, pdfUrlLoading: false }));
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
182
|
+
const metadata = object.metadata;
|
|
183
|
+
const pdfRendition = metadata?.renditions?.find((r) => r.name === PDF_RENDITION_NAME);
|
|
184
|
+
const isPdfSource = object.content?.type === 'application/pdf';
|
|
185
|
+
const sourceToResolve = pdfRendition?.content?.source || (isPdfSource ? object.content?.source : undefined);
|
|
186
|
+
if (sourceToResolve) {
|
|
187
|
+
client.store.objects
|
|
188
|
+
.getDownloadUrl(sourceToResolve, undefined, 'inline')
|
|
189
|
+
.then((response) => {
|
|
190
|
+
setInfo((prev) => ({ ...prev, pdfUrl: response.url, pdfUrlLoading: false }));
|
|
191
|
+
})
|
|
192
|
+
.catch((e) => {
|
|
193
|
+
console.warn('Failed to get PDF URL:', e);
|
|
206
194
|
setInfo((prev) => ({ ...prev, pdfUrlLoading: false }));
|
|
207
|
-
}
|
|
195
|
+
});
|
|
208
196
|
}
|
|
209
197
|
else {
|
|
210
|
-
// For XML processor, no pre-loading needed - images load on demand
|
|
211
198
|
setInfo((prev) => ({ ...prev, pdfUrlLoading: false }));
|
|
212
199
|
}
|
|
213
|
-
}, [client,
|
|
200
|
+
}, [client, object.metadata, object.content?.type, object.content?.source]);
|
|
214
201
|
return _jsx(MagicPdfContext.Provider, { value: info, children: children });
|
|
215
202
|
}
|
|
216
203
|
export function getResourceUrl(vertesia, objectId, name) {
|
|
@@ -223,18 +210,4 @@ export function useMagicPdfContext() {
|
|
|
223
210
|
}
|
|
224
211
|
return context;
|
|
225
212
|
}
|
|
226
|
-
function extractXmlPages(xml) {
|
|
227
|
-
// Parse the XML string
|
|
228
|
-
const doc = new DOMParser().parseFromString(cleanXml(xml), 'text/xml');
|
|
229
|
-
const pages = doc.getElementsByTagName('page');
|
|
230
|
-
const serializer = new XMLSerializer();
|
|
231
|
-
return Array.from(pages).map((p) => serializer.serializeToString(p));
|
|
232
|
-
}
|
|
233
|
-
function cleanXml(xml) {
|
|
234
|
-
const cleanedXML = xml
|
|
235
|
-
// biome-ignore lint/suspicious/noControlCharactersInRegex: deliberately stripping XML-illegal control characters
|
|
236
|
-
.replace(/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g, '')
|
|
237
|
-
.replace(/<\?xml.*?\?>/g, '');
|
|
238
|
-
return cleanedXML;
|
|
239
|
-
}
|
|
240
213
|
//# sourceMappingURL=MagicPdfProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MagicPdfProvider.js","sourceRoot":"","sources":["../../../src/features/magic-pdf/MagicPdfProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAA6C,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAElE,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,0BAA0B,GAAG,WAAW,CAAC;AAE/C,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,kCAAqB,CAAA;IACrB,0CAA6B,CAAA;AACjC,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;
|
|
1
|
+
{"version":3,"file":"MagicPdfProvider.js","sourceRoot":"","sources":["../../../src/features/magic-pdf/MagicPdfProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAA6C,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAElE,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,0BAA0B,GAAG,WAAW,CAAC;AAE/C,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,kCAAqB,CAAA;IACrB,0CAA6B,CAAA;AACjC,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAWD,sDAAsD;AACtD,MAAM,OAAO,iBAAiB;IAKd;IACA;IACD;IANH,KAAK,GAAwB,IAAI,GAAG,EAAE,CAAC;IACvC,OAAO,GAAiC,IAAI,GAAG,EAAE,CAAC;IAE1D,YACY,MAAsB,EACtB,QAAgB,EACjB,UAAkB;QAFjB,WAAM,GAAN,MAAM,CAAgB;QACtB,aAAQ,GAAR,QAAQ,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAQ;IAC1B,CAAC;IAEI,WAAW,CAAC,IAAY,EAAE,IAAe;QAC7C,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,IAAe;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEzC,iCAAiC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,gBAAgB;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE/B,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzB,OAAO,GAAG,CAAC;QACf,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,IAAe;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO,QAAQ,CAAC,GAAG,CAAC;IACxB,CAAC;IAEO,YAAY,CAAC,IAAY,EAAE,IAAe;QAC9C,MAAM,QAAQ,GAAG,GAAG,0BAA0B,IAAI,IAAI,CAAC,QAAQ,QAAQ,CAAC;QACxE,QAAQ,IAAI,EAAE,CAAC;YACX,KAAK,SAAS,CAAC,QAAQ;gBACnB,OAAO,GAAG,QAAQ,SAAS,IAAI,eAAe,CAAC;YACnD,KAAK,SAAS,CAAC,YAAY;gBACvB,OAAO,GAAG,QAAQ,SAAS,IAAI,mBAAmB,CAAC;QAC3D,CAAC;IACL,CAAC;CACJ;AAED,MAAM,kBAAkB;IAKR;IACA;IACD;IANH,KAAK,GAAwB,IAAI,GAAG,EAAE,CAAC;IACvC,OAAO,GAAiC,IAAI,GAAG,EAAE,CAAC;IAE1D,YACY,MAAsB,EACtB,QAAgB,EACjB,UAAkB;QAFjB,WAAM,GAAN,MAAM,CAAgB;QACtB,aAAQ,GAAR,QAAQ,CAAQ;QACjB,eAAU,GAAV,UAAU,CAAQ;IAC1B,CAAC;IAEJ,KAAK,CAAC,aAAa,CAAC,IAAY;QAC5B,qCAAqC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QAExC,6CAA6C;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAE5B,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEhC,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9B,OAAO,OAAO,CAAC;QACnB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAY;QACtC,MAAM,IAAI,GAAG,GAAG,0BAA0B,IAAI,IAAI,CAAC,QAAQ,eAAe,IAAI,cAAc,CAAC;QAC7F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;CACJ;AAED,MAAM,oBAAoB;IAGH;IAFX,KAAK,GAAa,EAAE,CAAC;IAE7B,YAAmB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAEzC,6DAA6D;IAC7D,qDAAqD;IACrD,eAAe,CAAC,eAAuB;QACnC,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACxE,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,QAAQ,CAAC,SAAyB,EAAE,SAAiB;QACvD,2DAA2D;IAC/D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO,EAAE,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;CACJ;AAED,+EAA+E;AAC/E,SAAS,oBAAoB,CAAC,OAAe,EAAE,UAAkB;IAC7D,MAAM,KAAK,GAAa,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEvD,6CAA6C;IAC7C,MAAM,kBAAkB,GAAG,4CAA4C,CAAC;IAExE,4CAA4C;IAC5C,MAAM,OAAO,GAAsC,EAAE,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;SACvC,CAAC,CAAC;IACP,CAAC;IAED,kCAAkC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAElC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;YAC3C,SAAS;QACb,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;QAEhC,0EAA0E;QAC1E,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACtG,MAAM,cAAc,GAChB,kBAAkB,IAAI,kBAAkB,CAAC,KAAK,KAAK,SAAS;YACxD,CAAC,CAAC,UAAU,GAAG,kBAAkB,CAAC,KAAK;YACvC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAEzB,IAAI,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC;QAEnE,4CAA4C;QAC5C,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE1D,KAAK,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,eAAe,GAAG,aAAa,CAAmC,SAAS,CAAC,CAAC;AAMnF,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAyB;IACxE,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IACpC,MAAM,UAAU,GAAI,MAAM,CAAC,QAA6B,CAAC,UAAU,IAAI,kBAAkB,CAAC;IAE1F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAuB,GAAG,EAAE;QACxD,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,gBAAgB,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;QACD,OAAO;YACH,KAAK,EAAE,UAAU;YACjB,cAAc,EAAE,IAAI,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC;YACrE,gBAAgB;YAChB,aAAa,EAAE,IAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC;YACnE,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,IAAI;SACtB,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,QAAQ,GAAG,MAAM,CAAC,QAA4B,CAAC;QACrD,MAAM,YAAY,GAAG,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;QACtF,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,KAAK,iBAAiB,CAAC;QAC/D,MAAM,eAAe,GAAG,YAAY,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE5G,IAAI,eAAe,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,OAAO;iBACf,cAAc,CAAC,eAAe,EAAE,SAAS,EAAE,QAAQ,CAAC;iBACpD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACf,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACjF,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC;gBAC1C,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACX,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAE5E,OAAO,KAAC,eAAe,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YAAG,QAAQ,GAA4B,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAwB,EAAE,QAAgB,EAAE,IAAY;IACnF,OAAO,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,0BAA0B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACjH,CAAC;AAED,MAAM,UAAU,kBAAkB;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAClD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MagicPdfView.d.ts","sourceRoot":"","sources":["../../../src/features/magic-pdf/MagicPdfView.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MagicPdfView.d.ts","sourceRoot":"","sources":["../../../src/features/magic-pdf/MagicPdfView.tsx"],"names":[],"mappings":"AAgEA,UAAU,iBAAiB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AACD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,iBAAiB,+BAgDpE"}
|