@semiont/react-ui 0.5.2 → 0.5.4
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/dist/{PdfAnnotationCanvas.client-5QESNO5H.mjs → PdfAnnotationCanvas.client-CN3C3S55.js} +2 -2
- package/dist/{ar-3W37O3R3.mjs → ar-U2EXWUMQ.js} +3 -21
- package/dist/ar-U2EXWUMQ.js.map +1 -0
- package/dist/assets/favicons/SemiontFavicon.d.ts +9 -0
- package/dist/assets/favicons/SemiontFavicon.d.ts.map +1 -0
- package/dist/assets/favicons/index.d.ts +12 -0
- package/dist/assets/favicons/index.d.ts.map +1 -0
- package/dist/{bn-JZTJLMVE.mjs → bn-DRJGV772.js} +3 -21
- package/dist/bn-DRJGV772.js.map +1 -0
- package/dist/{chunk-7VWNZ5YX.mjs → chunk-3Q3TUKWP.js} +32 -32
- package/dist/{chunk-NOD3NCXE.mjs → chunk-GERSK2DY.js} +3 -21
- package/dist/chunk-GERSK2DY.js.map +1 -0
- package/dist/{chunk-D4GAAQMM.mjs → chunk-K6BJDL2I.js} +1 -1
- package/dist/components/AnnotateReferencesProgressWidget.d.ts +15 -0
- package/dist/components/AnnotateReferencesProgressWidget.d.ts.map +1 -0
- package/dist/components/Button/Button.d.ts +69 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/CodeMirrorRenderer.d.ts +25 -0
- package/dist/components/CodeMirrorRenderer.d.ts.map +1 -0
- package/dist/components/ErrorBoundary.d.ts +30 -0
- package/dist/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/components/LiveRegion.d.ts +41 -0
- package/dist/components/LiveRegion.d.ts.map +1 -0
- package/dist/components/ProtectedErrorBoundary.d.ts +27 -0
- package/dist/components/ProtectedErrorBoundary.d.ts.map +1 -0
- package/dist/components/ResizeHandle.d.ts +39 -0
- package/dist/components/ResizeHandle.d.ts.map +1 -0
- package/dist/components/ResourceTagsInline.d.ts +10 -0
- package/dist/components/ResourceTagsInline.d.ts.map +1 -0
- package/dist/components/SessionExpiryBanner.d.ts +2 -0
- package/dist/components/SessionExpiryBanner.d.ts.map +1 -0
- package/dist/components/SessionTimer.d.ts +2 -0
- package/dist/components/SessionTimer.d.ts.map +1 -0
- package/dist/components/StatusDisplay.d.ts +9 -0
- package/dist/components/StatusDisplay.d.ts.map +1 -0
- package/dist/components/Toast.d.ts +27 -0
- package/dist/components/Toast.d.ts.map +1 -0
- package/dist/components/Toolbar.d.ts +15 -0
- package/dist/components/Toolbar.d.ts.map +1 -0
- package/dist/components/UserMenuSkeleton.d.ts +2 -0
- package/dist/components/UserMenuSkeleton.d.ts.map +1 -0
- package/dist/components/annotation/AnnotateToolbar.d.ts +29 -0
- package/dist/components/annotation/AnnotateToolbar.d.ts.map +1 -0
- package/dist/components/annotation-popups/JsonLdView.d.ts +8 -0
- package/dist/components/annotation-popups/JsonLdView.d.ts.map +1 -0
- package/dist/components/annotation-popups/SharedPopupElements.d.ts +28 -0
- package/dist/components/annotation-popups/SharedPopupElements.d.ts.map +1 -0
- package/dist/components/branding/SemiontBranding.d.ts +13 -0
- package/dist/components/branding/SemiontBranding.d.ts.map +1 -0
- package/dist/components/error-states/ResourceErrorState.d.ts +11 -0
- package/dist/components/error-states/ResourceErrorState.d.ts.map +1 -0
- package/dist/components/image-annotation/AnnotationOverlay.d.ts +22 -0
- package/dist/components/image-annotation/AnnotationOverlay.d.ts.map +1 -0
- package/dist/components/image-annotation/SvgDrawingCanvas.d.ts +23 -0
- package/dist/components/image-annotation/SvgDrawingCanvas.d.ts.map +1 -0
- package/dist/components/layout/LeftSidebar.d.ts +24 -0
- package/dist/components/layout/LeftSidebar.d.ts.map +1 -0
- package/dist/components/layout/PageLayout.d.ts +21 -0
- package/dist/components/layout/PageLayout.d.ts.map +1 -0
- package/dist/components/layout/SkipLinks.d.ts +8 -0
- package/dist/components/layout/SkipLinks.d.ts.map +1 -0
- package/dist/components/layout/UnifiedHeader.d.ts +21 -0
- package/dist/components/layout/UnifiedHeader.d.ts.map +1 -0
- package/dist/components/loading-states/ComposeLoadingState.d.ts +10 -0
- package/dist/components/loading-states/ComposeLoadingState.d.ts.map +1 -0
- package/dist/components/loading-states/ResourceLoadingState.d.ts +7 -0
- package/dist/components/loading-states/ResourceLoadingState.d.ts.map +1 -0
- package/dist/components/modals/ConfigureGenerationStep.d.ts +36 -0
- package/dist/components/modals/ConfigureGenerationStep.d.ts.map +1 -0
- package/dist/components/modals/ConfigureSearchStep.d.ts +21 -0
- package/dist/components/modals/ConfigureSearchStep.d.ts.map +1 -0
- package/dist/components/modals/ContextSummary.d.ts +14 -0
- package/dist/components/modals/ContextSummary.d.ts.map +1 -0
- package/dist/components/modals/GatherContextStep.d.ts +23 -0
- package/dist/components/modals/GatherContextStep.d.ts.map +1 -0
- package/dist/components/modals/KeyboardShortcutsHelpModal.d.ts +8 -0
- package/dist/components/modals/KeyboardShortcutsHelpModal.d.ts.map +1 -0
- package/dist/components/modals/PermissionDeniedModal.d.ts +12 -0
- package/dist/components/modals/PermissionDeniedModal.d.ts.map +1 -0
- package/dist/components/modals/ReferenceWizardModal.d.ts +64 -0
- package/dist/components/modals/ReferenceWizardModal.d.ts.map +1 -0
- package/dist/components/modals/ResourceSearchModal.d.ts +16 -0
- package/dist/components/modals/ResourceSearchModal.d.ts.map +1 -0
- package/dist/components/modals/SearchModal.d.ts +20 -0
- package/dist/components/modals/SearchModal.d.ts.map +1 -0
- package/dist/components/modals/SearchResultsStep.d.ts +22 -0
- package/dist/components/modals/SearchResultsStep.d.ts.map +1 -0
- package/dist/components/modals/SessionExpiredModal.d.ts +12 -0
- package/dist/components/modals/SessionExpiredModal.d.ts.map +1 -0
- package/dist/components/navigation/CollapsibleResourceNavigation.d.ts +13 -0
- package/dist/components/navigation/CollapsibleResourceNavigation.d.ts.map +1 -0
- package/dist/components/navigation/Footer.d.ts +20 -0
- package/dist/components/navigation/Footer.d.ts.map +1 -0
- package/dist/components/navigation/NavigationMenu.d.ts +18 -0
- package/dist/components/navigation/NavigationMenu.d.ts.map +1 -0
- package/dist/components/navigation/ObservableLink.d.ts +52 -0
- package/dist/components/navigation/ObservableLink.d.ts.map +1 -0
- package/dist/components/navigation/SimpleNavigation.d.ts +35 -0
- package/dist/components/navigation/SimpleNavigation.d.ts.map +1 -0
- package/dist/components/navigation/SortableResourceTab.d.ts +7 -0
- package/dist/components/navigation/SortableResourceTab.d.ts.map +1 -0
- package/dist/components/pdf-annotation/PdfAnnotationCanvas.client.d.ts +8 -0
- package/dist/components/pdf-annotation/PdfAnnotationCanvas.client.d.ts.map +1 -0
- package/dist/components/pdf-annotation/PdfAnnotationCanvas.d.ts +25 -0
- package/dist/components/pdf-annotation/PdfAnnotationCanvas.d.ts.map +1 -0
- package/dist/components/resource/AnnotateView.d.ts +29 -0
- package/dist/components/resource/AnnotateView.d.ts.map +1 -0
- package/dist/components/resource/AnnotationHistory.d.ts +14 -0
- package/dist/components/resource/AnnotationHistory.d.ts.map +1 -0
- package/dist/components/resource/BrowseView.d.ts +28 -0
- package/dist/components/resource/BrowseView.d.ts.map +1 -0
- package/dist/components/resource/HistoryEvent.d.ts +19 -0
- package/dist/components/resource/HistoryEvent.d.ts.map +1 -0
- package/dist/components/resource/ResourceViewer.d.ts +46 -0
- package/dist/components/resource/ResourceViewer.d.ts.map +1 -0
- package/dist/components/resource/event-formatting.d.ts +61 -0
- package/dist/components/resource/event-formatting.d.ts.map +1 -0
- package/dist/components/resource/panels/AssessmentEntry.d.ts +11 -0
- package/dist/components/resource/panels/AssessmentEntry.d.ts.map +1 -0
- package/dist/components/resource/panels/AssessmentPanel.d.ts +32 -0
- package/dist/components/resource/panels/AssessmentPanel.d.ts.map +1 -0
- package/dist/components/resource/panels/AssistSection.d.ts +27 -0
- package/dist/components/resource/panels/AssistSection.d.ts.map +1 -0
- package/dist/components/resource/panels/CollaborationPanel.d.ts +28 -0
- package/dist/components/resource/panels/CollaborationPanel.d.ts.map +1 -0
- package/dist/components/resource/panels/CommentEntry.d.ts +12 -0
- package/dist/components/resource/panels/CommentEntry.d.ts.map +1 -0
- package/dist/components/resource/panels/CommentsPanel.d.ts +32 -0
- package/dist/components/resource/panels/CommentsPanel.d.ts.map +1 -0
- package/dist/components/resource/panels/HighlightEntry.d.ts +11 -0
- package/dist/components/resource/panels/HighlightEntry.d.ts.map +1 -0
- package/dist/components/resource/panels/HighlightPanel.d.ts +30 -0
- package/dist/components/resource/panels/HighlightPanel.d.ts.map +1 -0
- package/dist/components/resource/panels/JsonLdPanel.d.ts +9 -0
- package/dist/components/resource/panels/JsonLdPanel.d.ts.map +1 -0
- package/dist/components/resource/panels/PanelHeader.d.ts +13 -0
- package/dist/components/resource/panels/PanelHeader.d.ts.map +1 -0
- package/dist/components/resource/panels/ReferenceEntry.d.ts +15 -0
- package/dist/components/resource/panels/ReferenceEntry.d.ts.map +1 -0
- package/dist/components/resource/panels/ReferencesPanel.d.ts +43 -0
- package/dist/components/resource/panels/ReferencesPanel.d.ts.map +1 -0
- package/dist/components/resource/panels/ResourceInfoPanel.d.ts +27 -0
- package/dist/components/resource/panels/ResourceInfoPanel.d.ts.map +1 -0
- package/dist/components/resource/panels/StatisticsPanel.d.ts +12 -0
- package/dist/components/resource/panels/StatisticsPanel.d.ts.map +1 -0
- package/dist/components/resource/panels/TagEntry.d.ts +11 -0
- package/dist/components/resource/panels/TagEntry.d.ts.map +1 -0
- package/dist/components/resource/panels/TaggingPanel.d.ts +34 -0
- package/dist/components/resource/panels/TaggingPanel.d.ts.map +1 -0
- package/dist/components/resource/panels/UnifiedAnnotationsPanel.d.ts +52 -0
- package/dist/components/resource/panels/UnifiedAnnotationsPanel.d.ts.map +1 -0
- package/dist/components/resource/panels/agent-label.d.ts +11 -0
- package/dist/components/resource/panels/agent-label.d.ts.map +1 -0
- package/dist/components/settings/SettingsPanel.d.ts +19 -0
- package/dist/components/settings/SettingsPanel.d.ts.map +1 -0
- package/dist/components/viewers/ImageViewer.d.ts +8 -0
- package/dist/components/viewers/ImageViewer.d.ts.map +1 -0
- package/dist/components/viewers/index.d.ts +2 -0
- package/dist/components/viewers/index.d.ts.map +1 -0
- package/dist/contexts/AnnotationContext.d.ts +46 -0
- package/dist/contexts/AnnotationContext.d.ts.map +1 -0
- package/dist/contexts/ResourceAnnotationsContext.d.ts +14 -0
- package/dist/contexts/ResourceAnnotationsContext.d.ts.map +1 -0
- package/dist/contexts/RoutingContext.d.ts +59 -0
- package/dist/contexts/RoutingContext.d.ts.map +1 -0
- package/dist/contexts/ThemeContext.d.ts +15 -0
- package/dist/contexts/ThemeContext.d.ts.map +1 -0
- package/dist/contexts/TranslationContext.d.ts +51 -0
- package/dist/contexts/TranslationContext.d.ts.map +1 -0
- package/dist/contexts/useEventSubscription.d.ts +41 -0
- package/dist/contexts/useEventSubscription.d.ts.map +1 -0
- package/dist/{cs-XYHH7HNE.mjs → cs-PTWDM23V.js} +3 -21
- package/dist/cs-PTWDM23V.js.map +1 -0
- package/dist/{da-MZKIECVT.mjs → da-KSNIKYSS.js} +3 -21
- package/dist/da-KSNIKYSS.js.map +1 -0
- package/dist/{de-AYXTMRQW.mjs → de-F2XBEWFY.js} +3 -21
- package/dist/de-F2XBEWFY.js.map +1 -0
- package/dist/design-tokens/index.d.ts +178 -0
- package/dist/design-tokens/index.d.ts.map +1 -0
- package/dist/{el-A6CVQWAW.mjs → el-DLD2GWAP.js} +3 -21
- package/dist/el-DLD2GWAP.js.map +1 -0
- package/dist/{en-YPQQBI4T.mjs → en-L45VK7BS.js} +3 -3
- package/dist/{es-M2HXLJGT.mjs → es-WLPYWGB5.js} +3 -21
- package/dist/es-WLPYWGB5.js.map +1 -0
- package/dist/{fa-V6JZJDYP.mjs → fa-BAXHSDZG.js} +3 -21
- package/dist/fa-BAXHSDZG.js.map +1 -0
- package/dist/features/admin-devops/components/AdminDevOpsPage.d.ts +33 -0
- package/dist/features/admin-devops/components/AdminDevOpsPage.d.ts.map +1 -0
- package/dist/features/admin-exchange/components/AdminExchangePage.d.ts +37 -0
- package/dist/features/admin-exchange/components/AdminExchangePage.d.ts.map +1 -0
- package/dist/features/admin-exchange/components/ExportCard.d.ts +18 -0
- package/dist/features/admin-exchange/components/ExportCard.d.ts.map +1 -0
- package/dist/features/admin-exchange/components/ImportCard.d.ts +32 -0
- package/dist/features/admin-exchange/components/ImportCard.d.ts.map +1 -0
- package/dist/features/admin-exchange/components/ImportProgress.d.ts +26 -0
- package/dist/features/admin-exchange/components/ImportProgress.d.ts.map +1 -0
- package/dist/features/admin-exchange/state/exchange-state-unit.d.ts +31 -0
- package/dist/features/admin-exchange/state/exchange-state-unit.d.ts.map +1 -0
- package/dist/features/admin-security/components/AdminSecurityPage.d.ts +42 -0
- package/dist/features/admin-security/components/AdminSecurityPage.d.ts.map +1 -0
- package/dist/features/admin-security/state/admin-security-state-unit.d.ts +12 -0
- package/dist/features/admin-security/state/admin-security-state-unit.d.ts.map +1 -0
- package/dist/features/admin-users/components/AdminUsersPage.d.ts +88 -0
- package/dist/features/admin-users/components/AdminUsersPage.d.ts.map +1 -0
- package/dist/features/admin-users/state/admin-users-state-unit.d.ts +17 -0
- package/dist/features/admin-users/state/admin-users-state-unit.d.ts.map +1 -0
- package/dist/features/auth/components/AuthErrorDisplay.d.ts +34 -0
- package/dist/features/auth/components/AuthErrorDisplay.d.ts.map +1 -0
- package/dist/features/auth/components/SignInForm.d.ts +80 -0
- package/dist/features/auth/components/SignInForm.d.ts.map +1 -0
- package/dist/features/auth/components/SignUpForm.d.ts +39 -0
- package/dist/features/auth/components/SignUpForm.d.ts.map +1 -0
- package/dist/features/auth-welcome/components/WelcomePage.d.ts +62 -0
- package/dist/features/auth-welcome/components/WelcomePage.d.ts.map +1 -0
- package/dist/features/auth-welcome/state/welcome-state-unit.d.ts +12 -0
- package/dist/features/auth-welcome/state/welcome-state-unit.d.ts.map +1 -0
- package/dist/features/moderate-entity-tags/components/EntityTagsPage.d.ts +32 -0
- package/dist/features/moderate-entity-tags/components/EntityTagsPage.d.ts.map +1 -0
- package/dist/features/moderate-entity-tags/state/entity-tags-state-unit.d.ts +16 -0
- package/dist/features/moderate-entity-tags/state/entity-tags-state-unit.d.ts.map +1 -0
- package/dist/features/moderate-recent/components/RecentDocumentsPage.d.ts +27 -0
- package/dist/features/moderate-recent/components/RecentDocumentsPage.d.ts.map +1 -0
- package/dist/features/moderate-tag-schemas/components/TagSchemasPage.d.ts +25 -0
- package/dist/features/moderate-tag-schemas/components/TagSchemasPage.d.ts.map +1 -0
- package/dist/features/moderation-linked-data/components/LinkedDataPage.d.ts +38 -0
- package/dist/features/moderation-linked-data/components/LinkedDataPage.d.ts.map +1 -0
- package/dist/features/resource-compose/components/ResourceComposePage.d.ts +83 -0
- package/dist/features/resource-compose/components/ResourceComposePage.d.ts.map +1 -0
- package/dist/features/resource-compose/components/UploadProgressBar.d.ts +23 -0
- package/dist/features/resource-compose/components/UploadProgressBar.d.ts.map +1 -0
- package/dist/features/resource-compose/state/compose-page-state-unit.d.ts +59 -0
- package/dist/features/resource-compose/state/compose-page-state-unit.d.ts.map +1 -0
- package/dist/features/resource-discovery/components/ResourceCard.d.ts +17 -0
- package/dist/features/resource-discovery/components/ResourceCard.d.ts.map +1 -0
- package/dist/features/resource-discovery/components/ResourceDiscoveryPage.d.ts +43 -0
- package/dist/features/resource-discovery/components/ResourceDiscoveryPage.d.ts.map +1 -0
- package/dist/features/resource-discovery/state/discover-state-unit.d.ts +15 -0
- package/dist/features/resource-discovery/state/discover-state-unit.d.ts.map +1 -0
- package/dist/features/resource-viewer/components/ResourceViewerPage.d.ts +80 -0
- package/dist/features/resource-viewer/components/ResourceViewerPage.d.ts.map +1 -0
- package/dist/features/resource-viewer/state/resource-loader-state-unit.d.ts +11 -0
- package/dist/features/resource-viewer/state/resource-loader-state-unit.d.ts.map +1 -0
- package/dist/features/resource-viewer/state/resource-viewer-page-state-unit.d.ts +48 -0
- package/dist/features/resource-viewer/state/resource-viewer-page-state-unit.d.ts.map +1 -0
- package/dist/{fi-ONDTZ5H7.mjs → fi-FCHSYVOT.js} +3 -21
- package/dist/fi-FCHSYVOT.js.map +1 -0
- package/dist/{fr-PAPV4H4G.mjs → fr-3UERBSL6.js} +3 -21
- package/dist/fr-3UERBSL6.js.map +1 -0
- package/dist/{he-F6VTLJLW.mjs → he-F6F3FV2K.js} +3 -21
- package/dist/he-F6F3FV2K.js.map +1 -0
- package/dist/{hi-CFUAV4BF.mjs → hi-4BK6IK7Q.js} +3 -21
- package/dist/hi-4BK6IK7Q.js.map +1 -0
- package/dist/hooks/useDebounce.d.ts +29 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useDragAnnouncements.d.ts +12 -0
- package/dist/hooks/useDragAnnouncements.d.ts.map +1 -0
- package/dist/hooks/useHoverDelay.d.ts +8 -0
- package/dist/hooks/useHoverDelay.d.ts.map +1 -0
- package/dist/hooks/useHoverEmitter.d.ts +8 -0
- package/dist/hooks/useHoverEmitter.d.ts.map +1 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts +29 -0
- package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/hooks/useLineNumbers.d.ts +8 -0
- package/dist/hooks/useLineNumbers.d.ts.map +1 -0
- package/dist/hooks/useMediaToken.d.ts +7 -0
- package/dist/hooks/useMediaToken.d.ts.map +1 -0
- package/dist/hooks/useObservable.d.ts +23 -0
- package/dist/hooks/useObservable.d.ts.map +1 -0
- package/dist/hooks/useObservableBrowse.d.ts +70 -0
- package/dist/hooks/useObservableBrowse.d.ts.map +1 -0
- package/dist/hooks/usePanelWidth.d.ts +37 -0
- package/dist/hooks/usePanelWidth.d.ts.map +1 -0
- package/dist/hooks/useResourceContent.d.ts +7 -0
- package/dist/hooks/useResourceContent.d.ts.map +1 -0
- package/dist/hooks/useRovingTabIndex.d.ts +13 -0
- package/dist/hooks/useRovingTabIndex.d.ts.map +1 -0
- package/dist/hooks/useSearchAnnouncements.d.ts +10 -0
- package/dist/hooks/useSearchAnnouncements.d.ts.map +1 -0
- package/dist/hooks/useSessionExpiry.d.ts +10 -0
- package/dist/hooks/useSessionExpiry.d.ts.map +1 -0
- package/dist/hooks/useShellStateUnit.d.ts +9 -0
- package/dist/hooks/useShellStateUnit.d.ts.map +1 -0
- package/dist/hooks/useStateUnit.d.ts +3 -0
- package/dist/hooks/useStateUnit.d.ts.map +1 -0
- package/dist/hooks/useUI.d.ts +24 -0
- package/dist/hooks/useUI.d.ts.map +1 -0
- package/dist/{id-NBKLCCI7.mjs → id-7ECCWP3J.js} +3 -21
- package/dist/id-7ECCWP3J.js.map +1 -0
- package/dist/index.d.ts +150 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/{index.mjs → index.js} +155 -305
- package/dist/index.js.map +1 -0
- package/dist/integrations/css-modules-helper.d.ts +114 -0
- package/dist/integrations/css-modules-helper.d.ts.map +1 -0
- package/dist/integrations/styled-components-theme.d.ts +95 -0
- package/dist/integrations/styled-components-theme.d.ts.map +1 -0
- package/dist/integrations/tailwind-plugin.d.cts +3 -0
- package/dist/integrations/tailwind-plugin.d.cts.map +1 -0
- package/dist/{it-SLSOWVVU.mjs → it-234Z6XK6.js} +3 -21
- package/dist/it-234Z6XK6.js.map +1 -0
- package/dist/{ja-L5IG4ECE.mjs → ja-PJWQI4OQ.js} +3 -21
- package/dist/ja-PJWQI4OQ.js.map +1 -0
- package/dist/{ko-QYMTULKK.mjs → ko-APUEW2RS.js} +3 -21
- package/dist/ko-APUEW2RS.js.map +1 -0
- package/dist/lib/annotation-overlay.d.ts +71 -0
- package/dist/lib/annotation-overlay.d.ts.map +1 -0
- package/dist/lib/annotation-registry.d.ts +62 -0
- package/dist/lib/annotation-registry.d.ts.map +1 -0
- package/dist/lib/browser-pdfjs.d.ts +93 -0
- package/dist/lib/browser-pdfjs.d.ts.map +1 -0
- package/dist/lib/button-styles.d.ts +27 -0
- package/dist/lib/button-styles.d.ts.map +1 -0
- package/dist/lib/codemirror-handlers.d.ts +52 -0
- package/dist/lib/codemirror-handlers.d.ts.map +1 -0
- package/dist/lib/codemirror-json-theme.d.ts +8 -0
- package/dist/lib/codemirror-json-theme.d.ts.map +1 -0
- package/dist/lib/codemirror-logic.d.ts +66 -0
- package/dist/lib/codemirror-logic.d.ts.map +1 -0
- package/dist/lib/codemirror-widgets.d.ts +39 -0
- package/dist/lib/codemirror-widgets.d.ts.map +1 -0
- package/dist/lib/formatTime.d.ts +2 -0
- package/dist/lib/formatTime.d.ts.map +1 -0
- package/dist/lib/media-shapes.d.ts +51 -0
- package/dist/lib/media-shapes.d.ts.map +1 -0
- package/dist/lib/pdf-coordinates.d.ts +69 -0
- package/dist/lib/pdf-coordinates.d.ts.map +1 -0
- package/dist/lib/resource-utils.d.ts +22 -0
- package/dist/lib/resource-utils.d.ts.map +1 -0
- package/dist/lib/scroll-utils.d.ts +20 -0
- package/dist/lib/scroll-utils.d.ts.map +1 -0
- package/dist/lib/text-segmentation.d.ts +25 -0
- package/dist/lib/text-segmentation.d.ts.map +1 -0
- package/dist/lib/text-selection-handler.d.ts +46 -0
- package/dist/lib/text-selection-handler.d.ts.map +1 -0
- package/dist/lib/validation.d.ts +47 -0
- package/dist/lib/validation.d.ts.map +1 -0
- package/dist/{ms-5DGSFKM2.mjs → ms-PJBZWZWD.js} +3 -21
- package/dist/ms-PJBZWZWD.js.map +1 -0
- package/dist/{nl-VZPCGONO.mjs → nl-L4C3ZBCU.js} +3 -21
- package/dist/nl-L4C3ZBCU.js.map +1 -0
- package/dist/{no-MF6F352I.mjs → no-QE5N5KNG.js} +3 -21
- package/dist/no-QE5N5KNG.js.map +1 -0
- package/dist/{pl-WIK72JUO.mjs → pl-5Q2D23PD.js} +3 -21
- package/dist/pl-5Q2D23PD.js.map +1 -0
- package/dist/{pt-RRP5ZF6A.mjs → pt-AIGUOIOC.js} +3 -21
- package/dist/pt-AIGUOIOC.js.map +1 -0
- package/dist/{ro-XHQLC3T7.mjs → ro-T56CSHTY.js} +3 -21
- package/dist/ro-T56CSHTY.js.map +1 -0
- package/dist/session/SemiontProvider.d.ts +28 -0
- package/dist/session/SemiontProvider.d.ts.map +1 -0
- package/dist/session/web-browser-storage.d.ts +19 -0
- package/dist/session/web-browser-storage.d.ts.map +1 -0
- package/dist/state/session-state-unit.d.ts +9 -0
- package/dist/state/session-state-unit.d.ts.map +1 -0
- package/dist/state/shell-state-unit.d.ts +33 -0
- package/dist/state/shell-state-unit.d.ts.map +1 -0
- package/dist/{sv-EWULDN6E.mjs → sv-L4TJQ2UH.js} +3 -21
- package/dist/sv-L4TJQ2UH.js.map +1 -0
- package/dist/{test-utils.d.mts → test-utils.d.ts} +18 -21
- package/dist/test-utils.d.ts.map +1 -0
- package/dist/{test-utils.mjs → test-utils.js} +5 -5
- package/dist/{th-TGOBHFG4.mjs → th-6O7Y6O2Q.js} +3 -21
- package/dist/th-6O7Y6O2Q.js.map +1 -0
- package/dist/{tr-LMMPBMV7.mjs → tr-D4CQCSNO.js} +3 -21
- package/dist/tr-D4CQCSNO.js.map +1 -0
- package/dist/types/AnnotationManager.d.ts +53 -0
- package/dist/types/AnnotationManager.d.ts.map +1 -0
- package/dist/{TranslationManager-9Xj3MIWQ.d.mts → types/TranslationManager.d.ts} +2 -3
- package/dist/types/TranslationManager.d.ts.map +1 -0
- package/dist/types/annotation-props.d.ts +108 -0
- package/dist/types/annotation-props.d.ts.map +1 -0
- package/dist/types/collapsible-navigation.d.ts +69 -0
- package/dist/types/collapsible-navigation.d.ts.map +1 -0
- package/dist/types/modals.d.ts +77 -0
- package/dist/types/modals.d.ts.map +1 -0
- package/dist/types/navigation.d.ts +35 -0
- package/dist/types/navigation.d.ts.map +1 -0
- package/dist/types/resource-viewer.d.ts +19 -0
- package/dist/types/resource-viewer.d.ts.map +1 -0
- package/dist/types/simple-navigation.d.ts +15 -0
- package/dist/types/simple-navigation.d.ts.map +1 -0
- package/dist/types/translation.d.ts +5 -0
- package/dist/types/translation.d.ts.map +1 -0
- package/dist/{uk-IPGRRJY6.mjs → uk-2HMQG6ND.js} +3 -21
- package/dist/uk-2HMQG6ND.js.map +1 -0
- package/dist/{vi-Q676OJQS.mjs → vi-XVJ4RUEJ.js} +3 -21
- package/dist/vi-XVJ4RUEJ.js.map +1 -0
- package/dist/{zh-F3MTWQDX.mjs → zh-K2KDPGHK.js} +3 -21
- package/dist/zh-K2KDPGHK.js.map +1 -0
- package/package.json +19 -18
- package/src/components/resource/HistoryEvent.tsx +0 -3
- package/src/components/resource/__tests__/HistoryEvent.test.tsx +1 -4
- package/src/components/resource/__tests__/event-formatting.test.ts +2 -14
- package/src/components/resource/event-formatting.ts +3 -4
- package/src/components/resource/panels/AssessmentEntry.tsx +4 -1
- package/src/components/resource/panels/CommentEntry.tsx +4 -1
- package/src/components/resource/panels/HighlightEntry.tsx +4 -1
- package/src/components/resource/panels/ReferenceEntry.tsx +4 -1
- package/src/components/resource/panels/ResourceInfoPanel.tsx +11 -23
- package/src/components/resource/panels/TagEntry.tsx +17 -3
- package/src/components/resource/panels/TaggingPanel.tsx +83 -41
- package/src/components/resource/panels/__tests__/CommentEntry.test.tsx +2 -2
- package/src/components/resource/panels/__tests__/ResourceInfoPanel.test.tsx +12 -16
- package/src/components/resource/panels/__tests__/TagEntry.test.tsx +26 -19
- package/src/components/resource/panels/__tests__/TaggingPanel.test.tsx +128 -38
- package/src/components/resource/panels/__tests__/agent-label.test.ts +93 -0
- package/src/components/resource/panels/agent-label.ts +20 -0
- package/src/features/moderate-tag-schemas/components/TagSchemasPage.tsx +3 -3
- package/src/features/resource-compose/state/compose-page-state-unit.ts +0 -1
- package/src/features/resource-viewer/components/ResourceViewerPage.tsx +0 -1
- package/translations/ar.json +1 -19
- package/translations/bn.json +1 -19
- package/translations/cs.json +1 -19
- package/translations/da.json +1 -19
- package/translations/de.json +1 -19
- package/translations/el.json +1 -19
- package/translations/en.json +3 -21
- package/translations/es.json +1 -19
- package/translations/fa.json +1 -19
- package/translations/fi.json +1 -19
- package/translations/fr.json +1 -19
- package/translations/he.json +1 -19
- package/translations/hi.json +1 -19
- package/translations/id.json +1 -19
- package/translations/it.json +1 -19
- package/translations/ja.json +1 -19
- package/translations/ko.json +1 -19
- package/translations/ms.json +1 -19
- package/translations/nl.json +1 -19
- package/translations/no.json +1 -19
- package/translations/pl.json +1 -19
- package/translations/pt.json +1 -19
- package/translations/ro.json +1 -19
- package/translations/sv.json +1 -19
- package/translations/th.json +1 -19
- package/translations/tr.json +1 -19
- package/translations/uk.json +1 -19
- package/translations/vi.json +1 -19
- package/translations/zh.json +1 -19
- package/dist/ar-3W37O3R3.mjs.map +0 -1
- package/dist/bn-JZTJLMVE.mjs.map +0 -1
- package/dist/chunk-NOD3NCXE.mjs.map +0 -1
- package/dist/cs-XYHH7HNE.mjs.map +0 -1
- package/dist/da-MZKIECVT.mjs.map +0 -1
- package/dist/de-AYXTMRQW.mjs.map +0 -1
- package/dist/el-A6CVQWAW.mjs.map +0 -1
- package/dist/es-M2HXLJGT.mjs.map +0 -1
- package/dist/fa-V6JZJDYP.mjs.map +0 -1
- package/dist/fi-ONDTZ5H7.mjs.map +0 -1
- package/dist/fr-PAPV4H4G.mjs.map +0 -1
- package/dist/he-F6VTLJLW.mjs.map +0 -1
- package/dist/hi-CFUAV4BF.mjs.map +0 -1
- package/dist/id-NBKLCCI7.mjs.map +0 -1
- package/dist/index.d.mts +0 -3548
- package/dist/index.mjs.map +0 -1
- package/dist/it-SLSOWVVU.mjs.map +0 -1
- package/dist/ja-L5IG4ECE.mjs.map +0 -1
- package/dist/ko-QYMTULKK.mjs.map +0 -1
- package/dist/ms-5DGSFKM2.mjs.map +0 -1
- package/dist/nl-VZPCGONO.mjs.map +0 -1
- package/dist/no-MF6F352I.mjs.map +0 -1
- package/dist/pl-WIK72JUO.mjs.map +0 -1
- package/dist/pt-RRP5ZF6A.mjs.map +0 -1
- package/dist/ro-XHQLC3T7.mjs.map +0 -1
- package/dist/sv-EWULDN6E.mjs.map +0 -1
- package/dist/th-TGOBHFG4.mjs.map +0 -1
- package/dist/tr-LMMPBMV7.mjs.map +0 -1
- package/dist/uk-IPGRRJY6.mjs.map +0 -1
- package/dist/vi-Q676OJQS.mjs.map +0 -1
- package/dist/zh-F3MTWQDX.mjs.map +0 -1
- /package/dist/{PdfAnnotationCanvas.client-5QESNO5H.mjs.map → PdfAnnotationCanvas.client-CN3C3S55.js.map} +0 -0
- /package/dist/{chunk-7VWNZ5YX.mjs.map → chunk-3Q3TUKWP.js.map} +0 -0
- /package/dist/{chunk-D4GAAQMM.mjs.map → chunk-K6BJDL2I.js.map} +0 -0
- /package/dist/{en-YPQQBI4T.mjs.map → en-L45VK7BS.js.map} +0 -0
- /package/dist/{test-utils.mjs.map → test-utils.js.map} +0 -0
- /package/src/integrations/{tailwind-plugin.js → tailwind-plugin.cjs} +0 -0
package/dist/index.d.mts
DELETED
|
@@ -1,3548 +0,0 @@
|
|
|
1
|
-
import { Annotation, ResourceId, Selector, components, ResourceDescriptor, ValidationResult, EventMap, AnnotationId, StoredEventLike, ConnectionState, GatheredContext, BackendDownload, ProgressEvent, AccessToken } from '@semiont/core';
|
|
2
|
-
export { Annotation } from '@semiont/core';
|
|
3
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
-
import * as React$1 from 'react';
|
|
5
|
-
import React__default, { ComponentType, ReactNode, KeyboardEvent as KeyboardEvent$1, Component, ErrorInfo, Ref } from 'react';
|
|
6
|
-
import { T as TranslationManager } from './TranslationManager-9Xj3MIWQ.mjs';
|
|
7
|
-
import * as _codemirror_state from '@codemirror/state';
|
|
8
|
-
import { HighlightStyle } from '@codemirror/language';
|
|
9
|
-
import { WidgetType } from '@codemirror/view';
|
|
10
|
-
import { StateUnit, SemiontBrowser, SessionStorage, SessionFactory, SemiontSession, OpenResource, UploadProgress, SemiontClient, BeckonStateUnit, MarkStateUnit, GatherStateUnit, YieldStateUnit, ReferencedByEntry, SearchPipeline } from '@semiont/sdk';
|
|
11
|
-
export { BeckonStateUnit, GatherStateUnit, GenerateDocumentOptions, HOVER_DELAY_MS, HoverHandlers, MarkStateUnit, MatchStateUnit, PendingAnnotation, SearchPipeline, SearchPipelineOptions, SearchState, YieldStateUnit, createBeckonStateUnit, createGatherStateUnit, createHoverHandlers, createMarkStateUnit, createMatchStateUnit, createSearchPipeline, createYieldStateUnit } from '@semiont/sdk';
|
|
12
|
-
import { TagSchema } from '@semiont/ontology';
|
|
13
|
-
export { TAG_SCHEMAS, TagCategory, TagSchema, getAllTagSchemas, getSchemaCategory as getTagCategory, getTagSchema, getTagSchemasByDomain, isValidCategory } from '@semiont/ontology';
|
|
14
|
-
import { Observable } from 'rxjs';
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Collection of all annotation types for a resource.
|
|
18
|
-
* Replaces separate highlights, references, assessments, comments, tags props.
|
|
19
|
-
*/
|
|
20
|
-
interface AnnotationsCollection {
|
|
21
|
-
highlights: Annotation[];
|
|
22
|
-
references: Annotation[];
|
|
23
|
-
assessments: Annotation[];
|
|
24
|
-
comments: Annotation[];
|
|
25
|
-
tags: Annotation[];
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Event handlers for annotation interactions.
|
|
29
|
-
* Groups multiple click and hover handlers into a single interface.
|
|
30
|
-
*/
|
|
31
|
-
interface AnnotationHandlers {
|
|
32
|
-
/** Unified click handler - routes based on annotation type and current mode */
|
|
33
|
-
onClick?: (annotation: Annotation, event?: React.MouseEvent) => void;
|
|
34
|
-
/** Unified hover handler for all annotation types */
|
|
35
|
-
onHover?: (annotationId: string | null) => void;
|
|
36
|
-
/** Hover handler specifically for comment panel highlighting */
|
|
37
|
-
onCommentHover?: (commentId: string | null) => void;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* UI-level parameters for annotation creation.
|
|
41
|
-
* Works for both text selections and image shapes.
|
|
42
|
-
* Used by annotation UI components before converting to AnnotationManager params.
|
|
43
|
-
*/
|
|
44
|
-
interface UICreateAnnotationParams {
|
|
45
|
-
/** The motivation for creating this annotation */
|
|
46
|
-
motivation: SelectionMotivation;
|
|
47
|
-
/** Selector information - text, SVG, or fragment */
|
|
48
|
-
selector: {
|
|
49
|
-
/** Selector type */
|
|
50
|
-
type: 'TextQuoteSelector' | 'SvgSelector' | 'FragmentSelector';
|
|
51
|
-
/** For TextQuoteSelector: the exact text selected */
|
|
52
|
-
exact?: string;
|
|
53
|
-
/** For TextQuoteSelector: context before selection */
|
|
54
|
-
prefix?: string;
|
|
55
|
-
/** For TextQuoteSelector: context after selection */
|
|
56
|
-
suffix?: string;
|
|
57
|
-
/** For TextPositionSelector: start position in document */
|
|
58
|
-
start?: number;
|
|
59
|
-
/** For TextPositionSelector: end position in document */
|
|
60
|
-
end?: number;
|
|
61
|
-
/** For SvgSelector: the SVG shape string */
|
|
62
|
-
value?: string;
|
|
63
|
-
/** For FragmentSelector: conformsTo URI (RFC 3778 for PDF) */
|
|
64
|
-
conformsTo?: string;
|
|
65
|
-
};
|
|
66
|
-
/** Optional position for popup placement (text: near selection, image: shape center) */
|
|
67
|
-
position?: {
|
|
68
|
-
x: number;
|
|
69
|
-
y: number;
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Unified creation handler for new annotations.
|
|
74
|
-
* Works for both text and image annotations.
|
|
75
|
-
*
|
|
76
|
-
* Behavior by motivation:
|
|
77
|
-
* - highlighting/assessing: Creates annotation immediately
|
|
78
|
-
* - commenting: Creates annotation, then opens Comment Panel
|
|
79
|
-
* - linking: Shows Quick Reference popup FIRST, creates when user confirms
|
|
80
|
-
*/
|
|
81
|
-
interface AnnotationCreationHandler {
|
|
82
|
-
onCreate?: (params: UICreateAnnotationParams) => void | Promise<void> | Promise<Annotation | undefined>;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* UI state for annotation toolbar and interactions.
|
|
86
|
-
* Groups multiple UI state props into a single object.
|
|
87
|
-
*/
|
|
88
|
-
interface AnnotationUIState {
|
|
89
|
-
/** Currently selected annotation motivation (linking, highlighting, etc.) */
|
|
90
|
-
selectedMotivation: SelectionMotivation | null;
|
|
91
|
-
/** Currently selected click mode (detail, follow, delete, jsonld) */
|
|
92
|
-
selectedClick: ClickAction;
|
|
93
|
-
/** Currently selected shape for image annotations */
|
|
94
|
-
selectedShape: ShapeType;
|
|
95
|
-
/** ID of currently hovered annotation (optional - only set when hovering) */
|
|
96
|
-
hoveredAnnotationId?: string | null;
|
|
97
|
-
/** ID of annotation to scroll to (optional - only set when scrolling needed) */
|
|
98
|
-
scrollToAnnotationId?: string | null;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Configuration options for annotation views.
|
|
102
|
-
* Groups feature flags and settings.
|
|
103
|
-
*/
|
|
104
|
-
interface AnnotationConfig {
|
|
105
|
-
/** Whether content is editable */
|
|
106
|
-
editable?: boolean;
|
|
107
|
-
/** Whether to show annotation widgets (entity types, reference buttons) */
|
|
108
|
-
enableWidgets?: boolean;
|
|
109
|
-
/** Whether to show line numbers in code view */
|
|
110
|
-
showLineNumbers?: boolean;
|
|
111
|
-
/** Whether view is in annotate mode or browse mode */
|
|
112
|
-
annotateMode?: boolean;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Parameters for creating an annotation
|
|
117
|
-
*/
|
|
118
|
-
interface CreateAnnotationParams {
|
|
119
|
-
rUri: ResourceId;
|
|
120
|
-
motivation: 'highlighting' | 'linking' | 'assessing' | 'commenting' | 'tagging';
|
|
121
|
-
selector: Selector | Selector[];
|
|
122
|
-
body?: any[];
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Parameters for deleting an annotation
|
|
126
|
-
*/
|
|
127
|
-
interface DeleteAnnotationParams {
|
|
128
|
-
annotationId: string;
|
|
129
|
-
rUri: ResourceId;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Annotation Manager Interface
|
|
133
|
-
*
|
|
134
|
-
* Framework-agnostic interface for annotation mutations.
|
|
135
|
-
* Apps provide implementations via AnnotationProvider.
|
|
136
|
-
*
|
|
137
|
-
* Example implementation:
|
|
138
|
-
* ```typescript
|
|
139
|
-
* function useAnnotationManager(client: SemiontClient): AnnotationManager {
|
|
140
|
-
* return {
|
|
141
|
-
* markAnnotation: async (params) => {
|
|
142
|
-
* const result = await client.mark.annotation({ target: { source: params.rUri, ... }, ... });
|
|
143
|
-
* return result.annotation;
|
|
144
|
-
* },
|
|
145
|
-
* deleteAnnotation: async (params) => {
|
|
146
|
-
* await client.mark.delete(params.rUri, params.annotationId);
|
|
147
|
-
* }
|
|
148
|
-
* };
|
|
149
|
-
* }
|
|
150
|
-
* ```
|
|
151
|
-
*/
|
|
152
|
-
interface AnnotationManager {
|
|
153
|
-
/**
|
|
154
|
-
* Create a new annotation
|
|
155
|
-
* @param params - Creation parameters (rUri, motivation, selector, body)
|
|
156
|
-
* @returns Promise resolving to the created annotation, or undefined if creation fails
|
|
157
|
-
*/
|
|
158
|
-
markAnnotation: (params: CreateAnnotationParams) => Promise<Annotation | undefined>;
|
|
159
|
-
/**
|
|
160
|
-
* Delete an annotation
|
|
161
|
-
* @param params - Deletion parameters (annotationId, rUri)
|
|
162
|
-
* @returns Promise resolving when deletion completes
|
|
163
|
-
*/
|
|
164
|
-
deleteAnnotation: (params: DeleteAnnotationParams) => Promise<void>;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Represents a single navigation item
|
|
169
|
-
*/
|
|
170
|
-
interface NavigationItem {
|
|
171
|
-
/** Display name for the navigation item */
|
|
172
|
-
name: string;
|
|
173
|
-
/** Target URL/path for the navigation item */
|
|
174
|
-
href: string;
|
|
175
|
-
/** Icon component to display */
|
|
176
|
-
icon: ComponentType<any>;
|
|
177
|
-
/** Optional description/tooltip text */
|
|
178
|
-
description?: string;
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Props for navigation components that need framework-specific routing
|
|
182
|
-
*/
|
|
183
|
-
interface NavigationProps {
|
|
184
|
-
/** List of navigation items to display */
|
|
185
|
-
items: NavigationItem[];
|
|
186
|
-
/** Current active path for highlighting */
|
|
187
|
-
currentPath: string;
|
|
188
|
-
/** Framework-specific Link component (e.g., Next.js Link) */
|
|
189
|
-
LinkComponent: ComponentType<{
|
|
190
|
-
href: string;
|
|
191
|
-
className?: string;
|
|
192
|
-
children: ReactNode;
|
|
193
|
-
title?: string;
|
|
194
|
-
}>;
|
|
195
|
-
/** Optional CSS class name */
|
|
196
|
-
className?: string;
|
|
197
|
-
/** Optional section title */
|
|
198
|
-
title?: string;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* Type definitions for resource viewer feature
|
|
203
|
-
*/
|
|
204
|
-
|
|
205
|
-
type SemiontResource$2 = ResourceDescriptor;
|
|
206
|
-
type Motivation$8 = components['schemas']['Motivation'];
|
|
207
|
-
/**
|
|
208
|
-
* Selection for creating annotations
|
|
209
|
-
*/
|
|
210
|
-
interface TextSelection {
|
|
211
|
-
exact: string;
|
|
212
|
-
start: number;
|
|
213
|
-
end: number;
|
|
214
|
-
prefix?: string;
|
|
215
|
-
suffix?: string;
|
|
216
|
-
svgSelector?: string;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/**
|
|
220
|
-
* Centralized annotation type registry
|
|
221
|
-
*
|
|
222
|
-
* Single source of truth for W3C annotation motivation metadata including:
|
|
223
|
-
* - Visual styling (CSS classes)
|
|
224
|
-
* - Behavior flags (clickable, hover, side panel)
|
|
225
|
-
* - Type guards (motivation matching)
|
|
226
|
-
* - Accessibility (screen reader announcements)
|
|
227
|
-
* - Runtime handlers (click, hover, detect, update, create)
|
|
228
|
-
*
|
|
229
|
-
* Per CLAUDE.md: This is the ONLY place to define annotation type metadata.
|
|
230
|
-
* No aliasing, wrappers, or compatibility layers elsewhere.
|
|
231
|
-
*/
|
|
232
|
-
|
|
233
|
-
type Motivation$7 = components['schemas']['Motivation'];
|
|
234
|
-
/**
|
|
235
|
-
* Detection configuration for SSE-based annotation detection
|
|
236
|
-
*/
|
|
237
|
-
interface DetectionConfig {
|
|
238
|
-
sseMethod: 'detectReferences' | 'detectHighlights' | 'detectAssessments' | 'detectComments' | 'detectTags';
|
|
239
|
-
countField: 'foundCount' | 'createdCount' | 'tagsCreated';
|
|
240
|
-
displayNamePlural: string;
|
|
241
|
-
displayNameSingular: string;
|
|
242
|
-
formatRequestParams?: (args: unknown[]) => Array<{
|
|
243
|
-
label: string;
|
|
244
|
-
value: string;
|
|
245
|
-
}>;
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Creation configuration - describes how to create annotations of this type
|
|
249
|
-
*/
|
|
250
|
-
interface CreateConfig {
|
|
251
|
-
bodyBuilder: 'empty' | 'text' | 'entityTag' | 'dualTag';
|
|
252
|
-
refetchAfter: boolean;
|
|
253
|
-
successMessage?: string;
|
|
254
|
-
}
|
|
255
|
-
/**
|
|
256
|
-
* Annotator: Encapsulates all motivation-specific behavior
|
|
257
|
-
* Handles clicks, hovers, detection, and other operations for one annotation type
|
|
258
|
-
*/
|
|
259
|
-
interface Annotator {
|
|
260
|
-
motivation: Motivation$7;
|
|
261
|
-
internalType: string;
|
|
262
|
-
displayName: string;
|
|
263
|
-
description: string;
|
|
264
|
-
className: string;
|
|
265
|
-
iconEmoji?: string;
|
|
266
|
-
isClickable: boolean;
|
|
267
|
-
hasHoverInteraction: boolean;
|
|
268
|
-
hasSidePanel: boolean;
|
|
269
|
-
matchesAnnotation: (annotation: Annotation) => boolean;
|
|
270
|
-
announceOnCreate: string;
|
|
271
|
-
detection?: DetectionConfig;
|
|
272
|
-
create: CreateConfig;
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* Static annotator definitions - single source of truth
|
|
276
|
-
*/
|
|
277
|
-
declare const ANNOTATORS: Record<string, Annotator>;
|
|
278
|
-
|
|
279
|
-
/**
|
|
280
|
-
* Centralized button styles matching Figma design
|
|
281
|
-
* Two primary styles from authenticated home page:
|
|
282
|
-
* 1. Primary (cyan/blue gradient) - for main CTAs
|
|
283
|
-
* 2. Secondary (gray with black outline) - for secondary actions
|
|
284
|
-
*/
|
|
285
|
-
declare const buttonStyles: {
|
|
286
|
-
readonly primary: {
|
|
287
|
-
readonly base: "semiont-button semiont-button--primary";
|
|
288
|
-
readonly large: "semiont-button semiont-button--primary semiont-button--large";
|
|
289
|
-
};
|
|
290
|
-
readonly secondary: {
|
|
291
|
-
readonly base: "semiont-button semiont-button--secondary";
|
|
292
|
-
readonly withScale: "semiont-button semiont-button--secondary semiont-button--scale";
|
|
293
|
-
};
|
|
294
|
-
readonly tertiary: {
|
|
295
|
-
readonly base: "semiont-button semiont-button--tertiary";
|
|
296
|
-
};
|
|
297
|
-
readonly danger: {
|
|
298
|
-
readonly base: "semiont-button semiont-button--danger";
|
|
299
|
-
};
|
|
300
|
-
readonly warning: {
|
|
301
|
-
readonly base: "semiont-button semiont-button--warning";
|
|
302
|
-
};
|
|
303
|
-
readonly combine: (...classes: string[]) => string;
|
|
304
|
-
};
|
|
305
|
-
|
|
306
|
-
declare const jsonLightTheme: _codemirror_state.Extension;
|
|
307
|
-
declare const jsonLightHighlightStyle: HighlightStyle;
|
|
308
|
-
|
|
309
|
-
/**
|
|
310
|
-
* CodeMirror Inline Widgets
|
|
311
|
-
*
|
|
312
|
-
* Custom widgets for enhancing the document editing experience:
|
|
313
|
-
* - Reference resolution indicators (resolved 🔗, generating ✨, stub ❓)
|
|
314
|
-
*
|
|
315
|
-
* Event handling uses delegation — no per-widget listeners.
|
|
316
|
-
* Data attributes on the container enable CodeMirrorRenderer to handle
|
|
317
|
-
* clicks and hovers via a single set of delegated handlers.
|
|
318
|
-
*/
|
|
319
|
-
|
|
320
|
-
/**
|
|
321
|
-
* Reference Resolution Widget
|
|
322
|
-
* Shows a small indicator next to references with hover preview.
|
|
323
|
-
*
|
|
324
|
-
* All event handling is delegated — the widget sets data attributes
|
|
325
|
-
* and CodeMirrorRenderer handles events via container-level listeners.
|
|
326
|
-
*/
|
|
327
|
-
declare class ReferenceResolutionWidget extends WidgetType {
|
|
328
|
-
readonly annotation: Annotation;
|
|
329
|
-
readonly targetDocumentName?: string | undefined;
|
|
330
|
-
readonly isGenerating?: boolean | undefined;
|
|
331
|
-
constructor(annotation: Annotation, targetDocumentName?: string | undefined, isGenerating?: boolean | undefined);
|
|
332
|
-
eq(other: ReferenceResolutionWidget): boolean;
|
|
333
|
-
toDOM(): HTMLSpanElement;
|
|
334
|
-
ignoreEvent(event: Event): boolean;
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Show a tooltip preview on a widget container.
|
|
338
|
-
* Called from delegated mouseenter handler in CodeMirrorRenderer.
|
|
339
|
-
*/
|
|
340
|
-
declare function showWidgetPreview(container: HTMLElement, documentName: string): void;
|
|
341
|
-
/**
|
|
342
|
-
* Hide the tooltip preview from a widget container.
|
|
343
|
-
* Called from delegated mouseleave handler in CodeMirrorRenderer.
|
|
344
|
-
*/
|
|
345
|
-
declare function hideWidgetPreview(container: HTMLElement): void;
|
|
346
|
-
|
|
347
|
-
type SelectionMotivation = 'linking' | 'highlighting' | 'assessing' | 'commenting' | 'tagging';
|
|
348
|
-
type ClickAction = 'detail' | 'follow' | 'jsonld' | 'deleting';
|
|
349
|
-
type ShapeType = 'rectangle' | 'circle' | 'polygon';
|
|
350
|
-
interface AnnotateToolbarProps {
|
|
351
|
-
selectedMotivation: SelectionMotivation | null;
|
|
352
|
-
selectedClick: ClickAction;
|
|
353
|
-
showSelectionGroup?: boolean;
|
|
354
|
-
showDeleteButton?: boolean;
|
|
355
|
-
showShapeGroup?: boolean;
|
|
356
|
-
selectedShape?: ShapeType;
|
|
357
|
-
mediaType?: string | null;
|
|
358
|
-
annotateMode: boolean;
|
|
359
|
-
annotators: Record<string, Annotator>;
|
|
360
|
-
}
|
|
361
|
-
/**
|
|
362
|
-
* Toolbar for annotation controls with mode, selection, click, and shape options
|
|
363
|
-
*
|
|
364
|
-
* @emits mark:selection-changed - Selection motivation changed. Payload: { motivation: SelectionMotivation | null }
|
|
365
|
-
* @emits mark:click-changed - Click action mode changed. Payload: { action: ClickAction }
|
|
366
|
-
* @emits mark:shape-changed - Drawing shape changed. Payload: { shape: ShapeType }
|
|
367
|
-
* @emits mark:mode-toggled - View mode toggled between browse and annotate. Payload: undefined
|
|
368
|
-
*/
|
|
369
|
-
declare function AnnotateToolbar({ selectedMotivation, selectedClick, showSelectionGroup, showDeleteButton, showShapeGroup, selectedShape, mediaType, annotateMode, annotators }: AnnotateToolbarProps): react_jsx_runtime.JSX.Element;
|
|
370
|
-
|
|
371
|
-
/**
|
|
372
|
-
* Media Type Shape Support
|
|
373
|
-
*
|
|
374
|
-
* Defines which annotation shapes are supported for each media type.
|
|
375
|
-
* Shapes are tracked per selector type (FragmentSelector, SvgSelector).
|
|
376
|
-
*/
|
|
377
|
-
|
|
378
|
-
/**
|
|
379
|
-
* Selector types that support shape selection
|
|
380
|
-
*/
|
|
381
|
-
type SelectorType = 'fragment' | 'svg' | 'text';
|
|
382
|
-
/**
|
|
383
|
-
* Get supported annotation shapes for a given media type
|
|
384
|
-
*
|
|
385
|
-
* PDF: Only rectangles (FragmentSelector with RFC 3778 viewrect)
|
|
386
|
-
* Images: All shapes (SvgSelector supports rect, circle, polygon)
|
|
387
|
-
*
|
|
388
|
-
* @param mediaType - MIME type of the resource (e.g., 'application/pdf', 'image/png')
|
|
389
|
-
* @returns Array of supported shape types for annotation
|
|
390
|
-
*/
|
|
391
|
-
declare function getSupportedShapes(mediaType: string | undefined | null): ShapeType[];
|
|
392
|
-
/**
|
|
393
|
-
* Check if a shape type is supported for a given media type
|
|
394
|
-
*
|
|
395
|
-
* @param mediaType - MIME type of the resource
|
|
396
|
-
* @param shape - Shape type to check
|
|
397
|
-
* @returns true if the shape is supported for this media type
|
|
398
|
-
*/
|
|
399
|
-
declare function isShapeSupported(mediaType: string | undefined | null, shape: ShapeType): boolean;
|
|
400
|
-
/**
|
|
401
|
-
* Get the selector type used for a given media type
|
|
402
|
-
*
|
|
403
|
-
* @param mediaType - MIME type of the resource
|
|
404
|
-
* @returns Selector type (fragment, svg, or text)
|
|
405
|
-
*/
|
|
406
|
-
declare function getSelectorType(mediaType: string | undefined | null): SelectorType;
|
|
407
|
-
/**
|
|
408
|
-
* Get the selected shape for a given selector type from localStorage
|
|
409
|
-
*
|
|
410
|
-
* @param selectorType - The selector type
|
|
411
|
-
* @returns The selected shape, or default for that selector type
|
|
412
|
-
*/
|
|
413
|
-
declare function getSelectedShapeForSelectorType(selectorType: SelectorType): ShapeType;
|
|
414
|
-
/**
|
|
415
|
-
* Save the selected shape for a given selector type to localStorage
|
|
416
|
-
*
|
|
417
|
-
* @param selectorType - The selector type
|
|
418
|
-
* @param shape - The shape to save
|
|
419
|
-
*/
|
|
420
|
-
declare function saveSelectedShapeForSelectorType(selectorType: SelectorType, shape: ShapeType): void;
|
|
421
|
-
|
|
422
|
-
/**
|
|
423
|
-
* Annotation overlay: decouples annotation highlighting from markdown rendering.
|
|
424
|
-
*
|
|
425
|
-
* Instead of weaving annotations into the markdown AST via remark/rehype plugins
|
|
426
|
-
* (which forces O(ASTnodes × annotations) work on every render), this module:
|
|
427
|
-
*
|
|
428
|
-
* 1. Builds a source→rendered offset map once after the markdown DOM paints
|
|
429
|
-
* 2. Resolves W3C TextPositionSelector offsets to DOM Ranges via binary search
|
|
430
|
-
* 3. Wraps matched ranges with <span> elements carrying data-annotation-* attributes
|
|
431
|
-
*
|
|
432
|
-
* Markdown renders once (cached by React.memo). Annotation changes only touch
|
|
433
|
-
* the overlay spans — no markdown re-parse, no AST walk.
|
|
434
|
-
*/
|
|
435
|
-
|
|
436
|
-
interface OverlayAnnotation {
|
|
437
|
-
id: string;
|
|
438
|
-
exact: string;
|
|
439
|
-
offset: number;
|
|
440
|
-
length: number;
|
|
441
|
-
type: string;
|
|
442
|
-
source: string | null;
|
|
443
|
-
}
|
|
444
|
-
interface TextNodeEntry {
|
|
445
|
-
node: Text;
|
|
446
|
-
start: number;
|
|
447
|
-
end: number;
|
|
448
|
-
}
|
|
449
|
-
/**
|
|
450
|
-
* Build a map from markdown source offsets to rendered text offsets.
|
|
451
|
-
* Character-by-character alignment: walks source and rendered text in parallel,
|
|
452
|
-
* matching characters and skipping markdown syntax in the source.
|
|
453
|
-
*
|
|
454
|
-
* Complexity: O(sourceLength) — runs once per content change.
|
|
455
|
-
*/
|
|
456
|
-
declare function buildSourceToRenderedMap(markdownSource: string, container: HTMLElement): Map<number, number>;
|
|
457
|
-
/**
|
|
458
|
-
* Build a sorted array of text nodes with cumulative rendered offsets
|
|
459
|
-
* for efficient offset→node lookups via binary search.
|
|
460
|
-
*
|
|
461
|
-
* Complexity: O(textNodes) — runs once per overlay application.
|
|
462
|
-
*/
|
|
463
|
-
declare function buildTextNodeIndex(container: HTMLElement): TextNodeEntry[];
|
|
464
|
-
/**
|
|
465
|
-
* Resolve annotations to DOM Ranges using the cached offset map.
|
|
466
|
-
*
|
|
467
|
-
* Complexity: O(annotations × log(textNodes)).
|
|
468
|
-
*/
|
|
469
|
-
declare function resolveAnnotationRanges(annotations: OverlayAnnotation[], offsetMap: Map<number, number>, textNodeIndex: TextNodeEntry[]): Map<string, {
|
|
470
|
-
range: Range;
|
|
471
|
-
annotation: OverlayAnnotation;
|
|
472
|
-
}>;
|
|
473
|
-
/**
|
|
474
|
-
* Wrap annotation Ranges with styled <span> elements.
|
|
475
|
-
* Handles cross-element ranges by splitting into per-text-node segments.
|
|
476
|
-
*/
|
|
477
|
-
declare function applyHighlights(ranges: Map<string, {
|
|
478
|
-
range: Range;
|
|
479
|
-
annotation: OverlayAnnotation;
|
|
480
|
-
}>): void;
|
|
481
|
-
/**
|
|
482
|
-
* Remove all annotation highlight spans, restoring the original DOM.
|
|
483
|
-
* Unwraps spans and merges adjacent text nodes.
|
|
484
|
-
*/
|
|
485
|
-
declare function clearHighlights(container: HTMLElement): void;
|
|
486
|
-
/**
|
|
487
|
-
* Convert W3C Annotations to the simplified overlay format.
|
|
488
|
-
* Extracts TextPositionSelector offsets and annotation type.
|
|
489
|
-
*/
|
|
490
|
-
declare function toOverlayAnnotations(annotations: Annotation[]): OverlayAnnotation[];
|
|
491
|
-
|
|
492
|
-
/**
|
|
493
|
-
* Resource utilities
|
|
494
|
-
* Shared helper functions for resource display and metadata
|
|
495
|
-
*/
|
|
496
|
-
/**
|
|
497
|
-
* Get icon emoji based on media type
|
|
498
|
-
*/
|
|
499
|
-
declare function getResourceIcon(mediaType: string | undefined): string;
|
|
500
|
-
/**
|
|
501
|
-
* Check if a resource supports text-based AI detection features
|
|
502
|
-
*
|
|
503
|
-
* Currently returns true for any text/* media type.
|
|
504
|
-
* Future enhancements may include:
|
|
505
|
-
* - Checking resource language/locale compatibility
|
|
506
|
-
* - Validating content size limits
|
|
507
|
-
* - Checking for specific text format requirements
|
|
508
|
-
*
|
|
509
|
-
* @param mediaType - The media type string (e.g., 'text/plain', 'text/markdown')
|
|
510
|
-
* @returns true if the resource supports AI detection features
|
|
511
|
-
*/
|
|
512
|
-
declare function supportsDetection(mediaType: string | undefined): boolean;
|
|
513
|
-
|
|
514
|
-
/**
|
|
515
|
-
* Frontend-specific validation utilities
|
|
516
|
-
*
|
|
517
|
-
* Browser and Next.js specific validation with security checks.
|
|
518
|
-
* For generic validation utilities, see @semiont/api-client/utils/validation
|
|
519
|
-
*/
|
|
520
|
-
|
|
521
|
-
/**
|
|
522
|
-
* Image URL validation with security checks (browser-specific)
|
|
523
|
-
*
|
|
524
|
-
* Validates image URLs for use in browser environments with XSS prevention.
|
|
525
|
-
* Only allows HTTPS for external images, blocks suspicious patterns.
|
|
526
|
-
*/
|
|
527
|
-
declare const ImageURLSchema: {
|
|
528
|
-
parse(url: unknown): string;
|
|
529
|
-
safeParse(url: unknown): ValidationResult<string>;
|
|
530
|
-
};
|
|
531
|
-
/**
|
|
532
|
-
* OAuth user validation (Next.js NextAuth specific)
|
|
533
|
-
*
|
|
534
|
-
* Validates user objects returned from OAuth providers.
|
|
535
|
-
* Includes domain validation for access control.
|
|
536
|
-
*/
|
|
537
|
-
interface OAuthUser {
|
|
538
|
-
id: string;
|
|
539
|
-
email: string;
|
|
540
|
-
name?: string | null;
|
|
541
|
-
image?: string | null;
|
|
542
|
-
domain: string;
|
|
543
|
-
isAdmin: boolean;
|
|
544
|
-
isModerator: boolean;
|
|
545
|
-
}
|
|
546
|
-
declare const OAuthUserSchema: {
|
|
547
|
-
parse(data: unknown): OAuthUser;
|
|
548
|
-
safeParse(data: unknown): ValidationResult<OAuthUser>;
|
|
549
|
-
};
|
|
550
|
-
/**
|
|
551
|
-
* URL sanitization for images (browser-specific security)
|
|
552
|
-
*
|
|
553
|
-
* Sanitizes image URLs by validating and reconstructing with only safe parts.
|
|
554
|
-
* Returns null if validation fails.
|
|
555
|
-
*
|
|
556
|
-
* @param url - Image URL to sanitize
|
|
557
|
-
* @returns Sanitized URL or null if invalid
|
|
558
|
-
*/
|
|
559
|
-
declare function sanitizeImageURL(url: string): string | null;
|
|
560
|
-
|
|
561
|
-
declare function useStateUnit<T extends StateUnit>(factory: () => T): T;
|
|
562
|
-
|
|
563
|
-
/**
|
|
564
|
-
* Creates a debounced version of a callback function
|
|
565
|
-
*
|
|
566
|
-
* @param callback - The function to debounce
|
|
567
|
-
* @param delay - Debounce delay in milliseconds
|
|
568
|
-
* @returns Debounced function
|
|
569
|
-
*
|
|
570
|
-
* @example
|
|
571
|
-
* const debouncedSearch = useDebouncedCallback(
|
|
572
|
-
* (query) => performSearch(query),
|
|
573
|
-
* 500
|
|
574
|
-
* );
|
|
575
|
-
*/
|
|
576
|
-
declare function useDebouncedCallback<T extends (...args: any[]) => any>(callback: T, delay: number): (...args: Parameters<T>) => void;
|
|
577
|
-
/**
|
|
578
|
-
* useDebounce Hook
|
|
579
|
-
*
|
|
580
|
-
* Custom hook for debouncing values (e.g., search input).
|
|
581
|
-
* Returns a debounced value that updates after the specified delay.
|
|
582
|
-
*
|
|
583
|
-
* @param value - The value to debounce
|
|
584
|
-
* @param delay - Debounce delay in milliseconds
|
|
585
|
-
* @returns Debounced value
|
|
586
|
-
*
|
|
587
|
-
* @example
|
|
588
|
-
* const debouncedQuery = useDebounce(searchQuery, 500);
|
|
589
|
-
*/
|
|
590
|
-
declare function useDebounce<T>(value: T, delay: number): T;
|
|
591
|
-
|
|
592
|
-
declare function formatTime(milliseconds: number | null): string | null;
|
|
593
|
-
|
|
594
|
-
interface KeyboardShortcut {
|
|
595
|
-
key: string;
|
|
596
|
-
ctrlOrCmd?: boolean;
|
|
597
|
-
shift?: boolean;
|
|
598
|
-
alt?: boolean;
|
|
599
|
-
handler: (event: KeyboardEvent) => void;
|
|
600
|
-
description?: string;
|
|
601
|
-
enabled?: boolean;
|
|
602
|
-
}
|
|
603
|
-
/**
|
|
604
|
-
* Hook for managing keyboard shortcuts
|
|
605
|
-
* Handles platform differences (Cmd on Mac, Ctrl on Windows/Linux)
|
|
606
|
-
* Prevents conflicts with browser shortcuts
|
|
607
|
-
*/
|
|
608
|
-
declare function useKeyboardShortcuts(shortcuts: KeyboardShortcut[]): void;
|
|
609
|
-
/**
|
|
610
|
-
* Hook for double key press detection (e.g., double Escape)
|
|
611
|
-
*/
|
|
612
|
-
declare function useDoubleKeyPress(key: string, handler: () => void, timeout?: number): void;
|
|
613
|
-
/**
|
|
614
|
-
* Get keyboard shortcut display text based on platform
|
|
615
|
-
*/
|
|
616
|
-
declare function getShortcutDisplay(shortcut: KeyboardShortcut): string;
|
|
617
|
-
/**
|
|
618
|
-
* Hook to check if user is currently typing in an input field
|
|
619
|
-
* Keyboard shortcuts should generally be disabled when typing
|
|
620
|
-
*/
|
|
621
|
-
declare function useIsTyping(): boolean;
|
|
622
|
-
|
|
623
|
-
/**
|
|
624
|
-
* Hook to manage line numbers display setting with localStorage persistence
|
|
625
|
-
*/
|
|
626
|
-
declare function useLineNumbers(): {
|
|
627
|
-
showLineNumbers: boolean;
|
|
628
|
-
toggleLineNumbers: () => void;
|
|
629
|
-
};
|
|
630
|
-
|
|
631
|
-
/**
|
|
632
|
-
* Hook to manage hover delay setting with localStorage persistence
|
|
633
|
-
*/
|
|
634
|
-
declare function useHoverDelay(): {
|
|
635
|
-
hoverDelayMs: number;
|
|
636
|
-
setHoverDelayMs: (delayMs: number) => void;
|
|
637
|
-
};
|
|
638
|
-
|
|
639
|
-
/**
|
|
640
|
-
* Generic router interface - works with any router that has push/replace methods
|
|
641
|
-
* (Next.js App Router, Next.js Pages Router, React Router, etc.)
|
|
642
|
-
*/
|
|
643
|
-
interface Router {
|
|
644
|
-
push: (path: string) => void;
|
|
645
|
-
replace?: (path: string) => void;
|
|
646
|
-
[key: string]: any;
|
|
647
|
-
}
|
|
648
|
-
/**
|
|
649
|
-
* Hook that wraps any router with event emission for observability
|
|
650
|
-
*
|
|
651
|
-
* Use this to wrap your router (Next.js, React Router, etc.) when you want
|
|
652
|
-
* navigation actions to be observable through the NavigationEventBus.
|
|
653
|
-
*
|
|
654
|
-
* @emits nav:push - Router navigation requested. Payload: { path: string, reason?: string }
|
|
655
|
-
*
|
|
656
|
-
* @example
|
|
657
|
-
* ```typescript
|
|
658
|
-
* // Next.js App Router
|
|
659
|
-
* import { useRouter } from 'next/navigation';
|
|
660
|
-
* const nextRouter = useRouter();
|
|
661
|
-
* const router = useObservableRouter(nextRouter);
|
|
662
|
-
* router.push('/know/discover', { reason: 'resource-closed' });
|
|
663
|
-
*
|
|
664
|
-
* // React Router
|
|
665
|
-
* import { useNavigate } from 'react-router-dom';
|
|
666
|
-
* const navigate = useNavigate();
|
|
667
|
-
* const router = useObservableRouter({ push: navigate });
|
|
668
|
-
* router.push('/know/discover', { reason: 'resource-closed' });
|
|
669
|
-
* ```
|
|
670
|
-
*/
|
|
671
|
-
declare function useObservableRouter<T extends Router>(baseRouter: T): T;
|
|
672
|
-
/**
|
|
673
|
-
* Request navigation with event emission
|
|
674
|
-
*
|
|
675
|
-
* This hook emits a navigation request event. The app must subscribe to
|
|
676
|
-
* 'nav:external' and perform the actual navigation using
|
|
677
|
-
* its router (Next.js, React Router, etc.) to enable client-side routing.
|
|
678
|
-
*
|
|
679
|
-
* If no subscriber handles the event, falls back to window.location.href
|
|
680
|
-
* after a brief delay to allow for event handling.
|
|
681
|
-
*
|
|
682
|
-
* @emits nav:external - External navigation requested. Payload: { url: string, resourceId?: string, cancelFallback: () => void }
|
|
683
|
-
*
|
|
684
|
-
* The payload includes a `cancelFallback` function that subscribers must call to
|
|
685
|
-
* prevent the window.location fallback from firing. Subscribers that handle the
|
|
686
|
-
* navigation (e.g. via client-side routing) should always call cancelFallback().
|
|
687
|
-
*
|
|
688
|
-
* @example
|
|
689
|
-
* ```typescript
|
|
690
|
-
* // In component (react-ui package)
|
|
691
|
-
* const navigate = useObservableExternalNavigation();
|
|
692
|
-
* navigate('/know/resource/123', { resourceId: '123' });
|
|
693
|
-
*
|
|
694
|
-
* // In app (frontend package) - subscribe, cancel fallback, and handle with Next.js router
|
|
695
|
-
* const router = useRouter();
|
|
696
|
-
* useEventSubscriptions({
|
|
697
|
-
* 'nav:external': ({ url, cancelFallback }) => {
|
|
698
|
-
* cancelFallback(); // Prevent window.location fallback
|
|
699
|
-
* router.push(url); // Client-side navigation
|
|
700
|
-
* },
|
|
701
|
-
* });
|
|
702
|
-
* ```
|
|
703
|
-
*/
|
|
704
|
-
declare function useObservableExternalNavigation(): (url: string, metadata?: {
|
|
705
|
-
resourceId?: string;
|
|
706
|
-
}) => void;
|
|
707
|
-
|
|
708
|
-
interface UsePanelWidthOptions {
|
|
709
|
-
defaultWidth?: number;
|
|
710
|
-
minWidth?: number;
|
|
711
|
-
maxWidth?: number;
|
|
712
|
-
storageKey?: string;
|
|
713
|
-
}
|
|
714
|
-
/**
|
|
715
|
-
* Custom hook for managing resizable panel width with localStorage persistence
|
|
716
|
-
*
|
|
717
|
-
* @param options Configuration options for panel width behavior
|
|
718
|
-
* @param options.defaultWidth Default width in pixels (default: 384px / 24rem)
|
|
719
|
-
* @param options.minWidth Minimum allowed width in pixels (default: 256px / 16rem)
|
|
720
|
-
* @param options.maxWidth Maximum allowed width in pixels (default: 800px / 50rem)
|
|
721
|
-
* @param options.storageKey localStorage key for persistence (default: 'semiont-panel-width')
|
|
722
|
-
*
|
|
723
|
-
* @returns Object containing current width, setter function, and constraints
|
|
724
|
-
*
|
|
725
|
-
* @example
|
|
726
|
-
* ```tsx
|
|
727
|
-
* const { width, setWidth, minWidth, maxWidth } = usePanelWidth();
|
|
728
|
-
*
|
|
729
|
-
* <div style={{ width: `${width}px` }}>
|
|
730
|
-
* <ResizeHandle onResize={setWidth} minWidth={minWidth} maxWidth={maxWidth} />
|
|
731
|
-
* </div>
|
|
732
|
-
* ```
|
|
733
|
-
*/
|
|
734
|
-
declare function usePanelWidth({ defaultWidth, // 24rem
|
|
735
|
-
minWidth, // 16rem
|
|
736
|
-
maxWidth, // 50rem
|
|
737
|
-
storageKey }?: UsePanelWidthOptions): {
|
|
738
|
-
width: number;
|
|
739
|
-
setWidth: (newWidth: number) => void;
|
|
740
|
-
minWidth: number;
|
|
741
|
-
maxWidth: number;
|
|
742
|
-
};
|
|
743
|
-
|
|
744
|
-
interface UseRovingTabIndexOptions {
|
|
745
|
-
orientation?: 'horizontal' | 'vertical' | 'grid';
|
|
746
|
-
loop?: boolean;
|
|
747
|
-
cols?: number;
|
|
748
|
-
}
|
|
749
|
-
declare function useRovingTabIndex<T extends HTMLElement>(itemCount: number, options?: UseRovingTabIndexOptions): {
|
|
750
|
-
containerRef: React$1.RefObject<T | null>;
|
|
751
|
-
handleKeyDown: (event: KeyboardEvent$1) => void;
|
|
752
|
-
focusItem: (index: number) => void;
|
|
753
|
-
};
|
|
754
|
-
|
|
755
|
-
/**
|
|
756
|
-
* Tracks the time remaining on the active KB session's JWT and whether it's
|
|
757
|
-
* expiring soon (< 5 minutes). Reads the session's `expiresAt` getter (which
|
|
758
|
-
* derives from the current `token$` value) and re-derives once per second.
|
|
759
|
-
*/
|
|
760
|
-
declare function useSessionExpiry(): {
|
|
761
|
-
timeRemaining: number | null;
|
|
762
|
-
isExpiringSoon: boolean;
|
|
763
|
-
};
|
|
764
|
-
|
|
765
|
-
type Theme = 'light' | 'dark' | 'system';
|
|
766
|
-
type ResolvedTheme = 'light' | 'dark';
|
|
767
|
-
interface ThemeContextValue {
|
|
768
|
-
theme: Theme;
|
|
769
|
-
setTheme: (theme: Theme) => void;
|
|
770
|
-
resolvedTheme: ResolvedTheme;
|
|
771
|
-
systemTheme: ResolvedTheme;
|
|
772
|
-
}
|
|
773
|
-
declare function ThemeProvider({ children }: {
|
|
774
|
-
children: ReactNode;
|
|
775
|
-
}): react_jsx_runtime.JSX.Element;
|
|
776
|
-
declare function useTheme(): ThemeContextValue;
|
|
777
|
-
|
|
778
|
-
/**
|
|
779
|
-
* Hook for managing dropdown/menu visibility with click outside handling
|
|
780
|
-
*/
|
|
781
|
-
declare function useDropdown(): {
|
|
782
|
-
isOpen: boolean;
|
|
783
|
-
toggle: () => void;
|
|
784
|
-
open: () => void;
|
|
785
|
-
close: () => void;
|
|
786
|
-
dropdownRef: React$1.RefObject<HTMLDivElement | null>;
|
|
787
|
-
};
|
|
788
|
-
/**
|
|
789
|
-
* Hook for managing loading states with minimum display time
|
|
790
|
-
*/
|
|
791
|
-
declare function useLoadingState(minLoadingTime?: number): {
|
|
792
|
-
isLoading: boolean;
|
|
793
|
-
showLoading: boolean;
|
|
794
|
-
startLoading: () => void;
|
|
795
|
-
stopLoading: () => void;
|
|
796
|
-
};
|
|
797
|
-
/**
|
|
798
|
-
* Hook for local storage with SSR safety
|
|
799
|
-
*/
|
|
800
|
-
declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((val: T) => T)) => void];
|
|
801
|
-
|
|
802
|
-
interface UseResourceContentResult {
|
|
803
|
-
content: string;
|
|
804
|
-
loading: boolean;
|
|
805
|
-
}
|
|
806
|
-
declare function useResourceContent(rUri: ResourceId, resource: ResourceDescriptor, enabled?: boolean): UseResourceContentResult;
|
|
807
|
-
|
|
808
|
-
interface SemiontProviderProps {
|
|
809
|
-
/** Inject a fully-constructed browser (tests, embedded hosts that build their own). Omit to use the default. */
|
|
810
|
-
browser?: SemiontBrowser;
|
|
811
|
-
/** Override the default `WebBrowserStorage`. Useful for non-browser hosts (Electron/Tauri filesystem-backed adapters). */
|
|
812
|
-
storage?: SessionStorage;
|
|
813
|
-
/** Override the default HTTP session factory. Useful for in-process or future non-HTTP transports. */
|
|
814
|
-
sessionFactory?: SessionFactory;
|
|
815
|
-
children: ReactNode;
|
|
816
|
-
}
|
|
817
|
-
declare function SemiontProvider({ browser, storage, sessionFactory, children }: SemiontProviderProps): react_jsx_runtime.JSX.Element;
|
|
818
|
-
declare function useSemiont(): SemiontBrowser;
|
|
819
|
-
|
|
820
|
-
/**
|
|
821
|
-
* WebBrowserStorage — browser-backed `SessionStorage` implementation.
|
|
822
|
-
* Wraps `localStorage` for reads/writes and `window`'s `storage` event
|
|
823
|
-
* for cross-tab change notifications.
|
|
824
|
-
*
|
|
825
|
-
* Construction requires a browser context. The guard matches the
|
|
826
|
-
* existing registry behavior: server rendering that accidentally
|
|
827
|
-
* instantiates this gets a loud error rather than a silent no-op
|
|
828
|
-
* that would mask token leaks.
|
|
829
|
-
*/
|
|
830
|
-
|
|
831
|
-
declare class WebBrowserStorage implements SessionStorage {
|
|
832
|
-
constructor();
|
|
833
|
-
get(key: string): string | null;
|
|
834
|
-
set(key: string, value: string): void;
|
|
835
|
-
delete(key: string): void;
|
|
836
|
-
subscribe(handler: (key: string, newValue: string | null) => void): () => void;
|
|
837
|
-
}
|
|
838
|
-
|
|
839
|
-
interface AnnotationProviderProps {
|
|
840
|
-
annotationManager: AnnotationManager;
|
|
841
|
-
children: React__default.ReactNode;
|
|
842
|
-
}
|
|
843
|
-
/**
|
|
844
|
-
* Annotation Provider
|
|
845
|
-
*
|
|
846
|
-
* Provides annotation mutation capabilities (create, delete) via the Provider Pattern.
|
|
847
|
-
* Apps inject their own AnnotationManager implementation.
|
|
848
|
-
*
|
|
849
|
-
* Example usage:
|
|
850
|
-
* ```typescript
|
|
851
|
-
* function useAnnotationManager(client: SemiontClient): AnnotationManager {
|
|
852
|
-
* return {
|
|
853
|
-
* markAnnotation: async (params) => {
|
|
854
|
-
* const result = await client.mark.annotation({
|
|
855
|
-
* motivation: params.motivation,
|
|
856
|
-
* target: { source: params.rUri, selector: params.selector },
|
|
857
|
-
* body: params.body,
|
|
858
|
-
* });
|
|
859
|
-
* return result.annotation;
|
|
860
|
-
* },
|
|
861
|
-
* deleteAnnotation: async (params) => {
|
|
862
|
-
* await client.mark.delete(params.rUri, params.annotationId);
|
|
863
|
-
* }
|
|
864
|
-
* };
|
|
865
|
-
* }
|
|
866
|
-
*
|
|
867
|
-
* // In app layout
|
|
868
|
-
* const annotationManager = useAnnotationManager();
|
|
869
|
-
* <AnnotationProvider annotationManager={annotationManager}>
|
|
870
|
-
* <YourComponents />
|
|
871
|
-
* </AnnotationProvider>
|
|
872
|
-
* ```
|
|
873
|
-
*/
|
|
874
|
-
declare function AnnotationProvider({ annotationManager, children }: AnnotationProviderProps): react_jsx_runtime.JSX.Element;
|
|
875
|
-
/**
|
|
876
|
-
* Hook to access the AnnotationManager
|
|
877
|
-
*
|
|
878
|
-
* @throws Error if used outside AnnotationProvider
|
|
879
|
-
* @returns AnnotationManager instance
|
|
880
|
-
*/
|
|
881
|
-
declare function useAnnotationManager(): AnnotationManager;
|
|
882
|
-
|
|
883
|
-
/**
|
|
884
|
-
* Subscribe to a bus event with automatic cleanup.
|
|
885
|
-
*
|
|
886
|
-
* Two buses exist: the app-scoped bus on `SemiontBrowser` (panel, shell,
|
|
887
|
-
* tabs, nav, settings — events that must work without a KB session) and
|
|
888
|
-
* the per-session bus on `SemiontClient` (mark, beckon, gather,
|
|
889
|
-
* match, bind, yield, browse — events tied to a live KB). This hook
|
|
890
|
-
* subscribes to BOTH so components don't need to know which scope a
|
|
891
|
-
* channel is on. Each channel only fires on one bus, so there's no
|
|
892
|
-
* double-delivery.
|
|
893
|
-
*
|
|
894
|
-
* Stable-handler pattern: the ref-wrapped handler means `handler` itself
|
|
895
|
-
* can change on every render without causing a re-subscription.
|
|
896
|
-
*
|
|
897
|
-
* @example
|
|
898
|
-
* ```tsx
|
|
899
|
-
* useEventSubscription('mark:create-ok', ({ annotationId }) => {
|
|
900
|
-
* triggerSparkleAnimation(annotationId);
|
|
901
|
-
* });
|
|
902
|
-
* ```
|
|
903
|
-
*/
|
|
904
|
-
declare function useEventSubscription<K extends keyof EventMap>(eventName: K, handler: (payload: EventMap[K]) => void): void;
|
|
905
|
-
/**
|
|
906
|
-
* Subscribe to multiple bus events at once. Same semantics as
|
|
907
|
-
* `useEventSubscription`, batched — each channel is subscribed on both
|
|
908
|
-
* the app bus (`SemiontBrowser`) and the session bus
|
|
909
|
-
* (`SemiontClient`, when a session is active).
|
|
910
|
-
*
|
|
911
|
-
* @example
|
|
912
|
-
* ```tsx
|
|
913
|
-
* useEventSubscriptions({
|
|
914
|
-
* 'mark:create-ok': ({ annotationId }) => handleCreated(annotationId),
|
|
915
|
-
* 'panel:toggle': ({ panel }) => console.log('toggled', panel),
|
|
916
|
-
* });
|
|
917
|
-
* ```
|
|
918
|
-
*/
|
|
919
|
-
declare function useEventSubscriptions(subscriptions: {
|
|
920
|
-
[K in keyof EventMap]?: (payload: EventMap[K]) => void;
|
|
921
|
-
}): void;
|
|
922
|
-
|
|
923
|
-
interface ResourceAnnotationsContextType {
|
|
924
|
-
newAnnotationIds: Set<string>;
|
|
925
|
-
markAnnotation: (rUri: ResourceId, motivation: 'highlighting' | 'linking' | 'assessing' | 'commenting' | 'tagging', selector: Selector | Selector[], body?: any[]) => Promise<string | undefined>;
|
|
926
|
-
clearNewAnnotationId: (id: AnnotationId) => void;
|
|
927
|
-
triggerSparkleAnimation: (annotationId: string) => void;
|
|
928
|
-
}
|
|
929
|
-
declare function ResourceAnnotationsProvider({ children }: {
|
|
930
|
-
children: React__default.ReactNode;
|
|
931
|
-
}): react_jsx_runtime.JSX.Element;
|
|
932
|
-
declare function useResourceAnnotations(): ResourceAnnotationsContextType;
|
|
933
|
-
|
|
934
|
-
/**
|
|
935
|
-
* Standard Link component interface
|
|
936
|
-
* Compatible with Next.js Link, React Router Link, etc.
|
|
937
|
-
*
|
|
938
|
-
* Components accept Link as a prop to remain framework-agnostic.
|
|
939
|
-
* Apps provide their framework-specific Link component (Next.js, React Router, etc.)
|
|
940
|
-
*/
|
|
941
|
-
interface LinkComponentProps {
|
|
942
|
-
href: string;
|
|
943
|
-
children: React__default.ReactNode;
|
|
944
|
-
className?: string;
|
|
945
|
-
title?: string;
|
|
946
|
-
onClick?: (e: React__default.MouseEvent) => void;
|
|
947
|
-
[key: string]: any;
|
|
948
|
-
}
|
|
949
|
-
/**
|
|
950
|
-
* Route builder interface
|
|
951
|
-
* Apps provide concrete implementations for their routing scheme
|
|
952
|
-
*
|
|
953
|
-
* Components accept routes as a prop to build URLs without framework dependencies.
|
|
954
|
-
*
|
|
955
|
-
* @example
|
|
956
|
-
* ```tsx
|
|
957
|
-
* // In app (e.g., frontend/src/lib/routing.ts)
|
|
958
|
-
* export const routes: RouteBuilder = {
|
|
959
|
-
* resourceDetail: (id) => `/know/resource/${id}`,
|
|
960
|
-
* userProfile: (id) => `/users/${id}`,
|
|
961
|
-
* search: (query) => `/search?q=${query}`,
|
|
962
|
-
* home: () => '/',
|
|
963
|
-
* };
|
|
964
|
-
*
|
|
965
|
-
* // Pass to components as props
|
|
966
|
-
* <MyComponent Link={Link} routes={routes} />
|
|
967
|
-
* ```
|
|
968
|
-
*/
|
|
969
|
-
interface RouteBuilder {
|
|
970
|
-
/** Resource detail page */
|
|
971
|
-
resourceDetail: (id: string) => string;
|
|
972
|
-
/** User profile page */
|
|
973
|
-
userProfile: (id: string) => string;
|
|
974
|
-
/** Search page with query */
|
|
975
|
-
search: (query: string) => string;
|
|
976
|
-
/** Home/root page */
|
|
977
|
-
home: () => string;
|
|
978
|
-
/** About page */
|
|
979
|
-
about?: () => string;
|
|
980
|
-
/** Privacy policy page */
|
|
981
|
-
privacy?: () => string;
|
|
982
|
-
/** Terms of service page */
|
|
983
|
-
terms?: () => string;
|
|
984
|
-
/** Knowledge base page */
|
|
985
|
-
knowledge?: () => string;
|
|
986
|
-
/** Moderation dashboard */
|
|
987
|
-
moderate?: () => string;
|
|
988
|
-
/** Admin dashboard */
|
|
989
|
-
admin?: () => string;
|
|
990
|
-
}
|
|
991
|
-
|
|
992
|
-
declare const AVAILABLE_LOCALES: readonly ["ar", "bn", "cs", "da", "de", "el", "en", "es", "fa", "fi", "fr", "he", "hi", "id", "it", "ja", "ko", "ms", "nl", "no", "pl", "pt", "ro", "sv", "th", "tr", "uk", "vi", "zh"];
|
|
993
|
-
type AvailableLocale = typeof AVAILABLE_LOCALES[number];
|
|
994
|
-
interface TranslationProviderProps {
|
|
995
|
-
/**
|
|
996
|
-
* Option 1: Provide a complete TranslationManager implementation
|
|
997
|
-
*/
|
|
998
|
-
translationManager?: TranslationManager;
|
|
999
|
-
/**
|
|
1000
|
-
* Option 2: Use built-in translations by specifying a locale
|
|
1001
|
-
* When adding new locales, just add the JSON file and update AVAILABLE_LOCALES
|
|
1002
|
-
*/
|
|
1003
|
-
locale?: string;
|
|
1004
|
-
/**
|
|
1005
|
-
* Loading component to show while translations are being loaded
|
|
1006
|
-
* Only relevant when using dynamic locale loading
|
|
1007
|
-
*/
|
|
1008
|
-
loadingComponent?: ReactNode;
|
|
1009
|
-
children: ReactNode;
|
|
1010
|
-
}
|
|
1011
|
-
/**
|
|
1012
|
-
* Provider for translation management with dynamic loading
|
|
1013
|
-
*
|
|
1014
|
-
* Three modes of operation:
|
|
1015
|
-
* 1. No provider: Components use default English strings
|
|
1016
|
-
* 2. With locale prop: Dynamically loads translations for that locale
|
|
1017
|
-
* 3. With translationManager: Use custom translation implementation
|
|
1018
|
-
*/
|
|
1019
|
-
declare function TranslationProvider({ translationManager, locale, loadingComponent, children, }: TranslationProviderProps): react_jsx_runtime.JSX.Element;
|
|
1020
|
-
/**
|
|
1021
|
-
* Hook to access translations within a namespace
|
|
1022
|
-
*
|
|
1023
|
-
* Works in three modes:
|
|
1024
|
-
* 1. Without provider: Returns default English translations
|
|
1025
|
-
* 2. With provider using locale: Returns dynamically loaded translations for that locale
|
|
1026
|
-
* 3. With custom provider: Uses the custom translation manager
|
|
1027
|
-
*
|
|
1028
|
-
* @param namespace - Translation namespace (e.g., 'Toolbar', 'ResourceViewer')
|
|
1029
|
-
* @returns Function to translate keys within the namespace
|
|
1030
|
-
*/
|
|
1031
|
-
declare function useTranslations(namespace: string): (key: string, params?: Record<string, any>) => string;
|
|
1032
|
-
/**
|
|
1033
|
-
* Hook to preload translations for a locale
|
|
1034
|
-
* Useful for preloading translations before navigation
|
|
1035
|
-
*/
|
|
1036
|
-
declare function usePreloadTranslations(): {
|
|
1037
|
-
preload: (locale: string) => Promise<boolean>;
|
|
1038
|
-
isLoaded: (locale: string) => boolean;
|
|
1039
|
-
};
|
|
1040
|
-
|
|
1041
|
-
/**
|
|
1042
|
-
* Pure logic extracted from CodeMirrorRenderer
|
|
1043
|
-
*
|
|
1044
|
-
* These functions have zero dependency on CodeMirror's DOM or React.
|
|
1045
|
-
* They handle position conversion, tooltip generation, and decoration metadata.
|
|
1046
|
-
*/
|
|
1047
|
-
|
|
1048
|
-
interface TextSegment {
|
|
1049
|
-
exact: string;
|
|
1050
|
-
annotation?: Annotation;
|
|
1051
|
-
start: number;
|
|
1052
|
-
end: number;
|
|
1053
|
-
}
|
|
1054
|
-
|
|
1055
|
-
interface Props$b {
|
|
1056
|
-
content: string;
|
|
1057
|
-
segments?: TextSegment[];
|
|
1058
|
-
onTextSelect?: (exact: string, position: {
|
|
1059
|
-
start: number;
|
|
1060
|
-
end: number;
|
|
1061
|
-
}) => void;
|
|
1062
|
-
onChange?: (content: string) => void;
|
|
1063
|
-
editable?: boolean;
|
|
1064
|
-
newAnnotationIds?: Set<string>;
|
|
1065
|
-
hoveredAnnotationId?: string | null;
|
|
1066
|
-
scrollToAnnotationId?: string | null;
|
|
1067
|
-
sourceView?: boolean;
|
|
1068
|
-
showLineNumbers?: boolean;
|
|
1069
|
-
enableWidgets?: boolean;
|
|
1070
|
-
session?: SemiontSession | null | undefined;
|
|
1071
|
-
getTargetResourceName?: (resourceId: string) => string | undefined;
|
|
1072
|
-
generatingReferenceId?: string | null;
|
|
1073
|
-
hoverDelayMs: number;
|
|
1074
|
-
}
|
|
1075
|
-
declare function CodeMirrorRenderer({ content, segments, onChange, editable, newAnnotationIds, hoveredAnnotationId, scrollToAnnotationId, sourceView, showLineNumbers, enableWidgets, session, getTargetResourceName, generatingReferenceId, hoverDelayMs }: Props$b): react_jsx_runtime.JSX.Element;
|
|
1076
|
-
|
|
1077
|
-
type Motivation$6 = components['schemas']['Motivation'];
|
|
1078
|
-
type JobProgress$7 = components['schemas']['JobProgress'];
|
|
1079
|
-
interface AnnotateReferencesProgressWidgetProps {
|
|
1080
|
-
progress: JobProgress$7 | null;
|
|
1081
|
-
annotationType?: Motivation$6 | 'reference';
|
|
1082
|
-
}
|
|
1083
|
-
/**
|
|
1084
|
-
* Widget for displaying reference annotation progress with cancel functionality
|
|
1085
|
-
*
|
|
1086
|
-
* @emits job:cancel-requested - User requested to cancel annotation job. Payload: { jobType: string }
|
|
1087
|
-
*/
|
|
1088
|
-
declare function AnnotateReferencesProgressWidget({ progress, annotationType }: AnnotateReferencesProgressWidgetProps): react_jsx_runtime.JSX.Element | null;
|
|
1089
|
-
|
|
1090
|
-
interface Props$a {
|
|
1091
|
-
children: ReactNode;
|
|
1092
|
-
fallback?: (error: Error, reset: () => void) => ReactNode;
|
|
1093
|
-
onError?: (error: Error, errorInfo: ErrorInfo) => void;
|
|
1094
|
-
}
|
|
1095
|
-
interface State {
|
|
1096
|
-
hasError: boolean;
|
|
1097
|
-
error: Error | null;
|
|
1098
|
-
errorInfo: ErrorInfo | null;
|
|
1099
|
-
}
|
|
1100
|
-
/**
|
|
1101
|
-
* Generic Error Boundary component that catches JavaScript errors
|
|
1102
|
-
* in child components and displays a fallback UI.
|
|
1103
|
-
*/
|
|
1104
|
-
declare class ErrorBoundary extends Component<Props$a, State> {
|
|
1105
|
-
constructor(props: Props$a);
|
|
1106
|
-
static getDerivedStateFromError(error: Error): State;
|
|
1107
|
-
componentDidCatch(error: Error, errorInfo: ErrorInfo): void;
|
|
1108
|
-
handleReset: () => void;
|
|
1109
|
-
render(): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react_jsx_runtime.JSX.Element | null | undefined;
|
|
1110
|
-
}
|
|
1111
|
-
/**
|
|
1112
|
-
* Specialized error boundary for async components
|
|
1113
|
-
*/
|
|
1114
|
-
declare function AsyncErrorBoundary({ children }: {
|
|
1115
|
-
children: ReactNode;
|
|
1116
|
-
}): react_jsx_runtime.JSX.Element;
|
|
1117
|
-
|
|
1118
|
-
interface ProtectedErrorBoundaryProps {
|
|
1119
|
-
children: React__default.ReactNode;
|
|
1120
|
-
/**
|
|
1121
|
-
* Values that, when any change, reset the boundary back to its non-error
|
|
1122
|
-
* state. Apps typically pass `[location.pathname]` so navigating away from
|
|
1123
|
-
* a crashed page automatically recovers.
|
|
1124
|
-
*/
|
|
1125
|
-
resetKeys?: unknown[];
|
|
1126
|
-
}
|
|
1127
|
-
/**
|
|
1128
|
-
* Error boundary for protected (authenticated) routes.
|
|
1129
|
-
*
|
|
1130
|
-
* Catches unexpected render-time crashes inside the protected tree and
|
|
1131
|
-
* shows a generic "something went wrong" fallback with a refresh option.
|
|
1132
|
-
*
|
|
1133
|
-
* NOT auth-specific. Auth state changes (sign-in, sign-out, expiry) flow
|
|
1134
|
-
* through the KnowledgeBaseSession context, not exceptions — so this
|
|
1135
|
-
* boundary will never catch an "auth error" in normal operation. Its job
|
|
1136
|
-
* is purely to keep a render bug from blanking the screen.
|
|
1137
|
-
*
|
|
1138
|
-
* The optional `resetKeys` prop lets callers wire automatic recovery on
|
|
1139
|
-
* navigation (e.g. `resetKeys={[location.pathname]}`).
|
|
1140
|
-
*/
|
|
1141
|
-
declare function ProtectedErrorBoundary({ children, resetKeys, }: ProtectedErrorBoundaryProps): react_jsx_runtime.JSX.Element;
|
|
1142
|
-
|
|
1143
|
-
interface LiveRegionContextType {
|
|
1144
|
-
announce: (message: string, priority?: 'polite' | 'assertive') => void;
|
|
1145
|
-
}
|
|
1146
|
-
declare function useLiveRegion(): LiveRegionContextType;
|
|
1147
|
-
interface LiveRegionProviderProps {
|
|
1148
|
-
children: React__default.ReactNode;
|
|
1149
|
-
}
|
|
1150
|
-
declare function LiveRegionProvider({ children }: LiveRegionProviderProps): react_jsx_runtime.JSX.Element;
|
|
1151
|
-
declare function useSearchAnnouncements(): {
|
|
1152
|
-
announceSearchResults: (count: number, query: string) => void;
|
|
1153
|
-
announceSearching: () => void;
|
|
1154
|
-
};
|
|
1155
|
-
declare function useDocumentAnnouncements(annotators?: Record<string, Annotator>): {
|
|
1156
|
-
announceDocumentSaved: () => void;
|
|
1157
|
-
announceDocumentDeleted: () => void;
|
|
1158
|
-
announceAnnotationCreated: (annotation: Annotation) => void;
|
|
1159
|
-
announceAnnotationDeleted: () => void;
|
|
1160
|
-
announceAnnotationUpdated: (annotation: Annotation) => void;
|
|
1161
|
-
announceError: (message: string) => void;
|
|
1162
|
-
};
|
|
1163
|
-
declare function useResourceLoadingAnnouncements(): {
|
|
1164
|
-
announceResourceLoading: (resourceName?: string) => void;
|
|
1165
|
-
announceResourceLoaded: (resourceName: string) => void;
|
|
1166
|
-
announceResourceLoadError: (resourceName?: string) => void;
|
|
1167
|
-
announceResourceUpdating: (resourceName: string) => void;
|
|
1168
|
-
};
|
|
1169
|
-
declare function useFormAnnouncements(): {
|
|
1170
|
-
announceFormSubmitting: () => void;
|
|
1171
|
-
announceFormSuccess: (message?: string) => void;
|
|
1172
|
-
announceFormError: (message?: string) => void;
|
|
1173
|
-
announceFormValidationError: (fieldCount: number) => void;
|
|
1174
|
-
};
|
|
1175
|
-
declare function useLanguageChangeAnnouncements(): {
|
|
1176
|
-
announceLanguageChanging: (newLanguage: string) => void;
|
|
1177
|
-
announceLanguageChanged: (newLanguage: string) => void;
|
|
1178
|
-
};
|
|
1179
|
-
|
|
1180
|
-
interface ResizeHandleProps {
|
|
1181
|
-
/** Callback fired when resize occurs */
|
|
1182
|
-
onResize: (newWidth: number) => void;
|
|
1183
|
-
/** Minimum allowed width in pixels */
|
|
1184
|
-
minWidth: number;
|
|
1185
|
-
/** Maximum allowed width in pixels */
|
|
1186
|
-
maxWidth: number;
|
|
1187
|
-
/** Position of handle - left or right edge */
|
|
1188
|
-
position?: 'left' | 'right';
|
|
1189
|
-
/** Aria label for accessibility */
|
|
1190
|
-
ariaLabel?: string;
|
|
1191
|
-
}
|
|
1192
|
-
/**
|
|
1193
|
-
* Draggable resize handle for panels and sidebars
|
|
1194
|
-
*
|
|
1195
|
-
* Features:
|
|
1196
|
-
* - Mouse drag to resize
|
|
1197
|
-
* - Keyboard navigation (Arrow keys: ±10px, Shift+Arrow: ±50px)
|
|
1198
|
-
* - Enforces min/max constraints
|
|
1199
|
-
* - Visual feedback on hover and drag
|
|
1200
|
-
* - Accessible (WCAG compliant)
|
|
1201
|
-
*
|
|
1202
|
-
* @example
|
|
1203
|
-
* ```tsx
|
|
1204
|
-
* <div className="panel" style={{ width: `${width}px` }}>
|
|
1205
|
-
* <ResizeHandle
|
|
1206
|
-
* onResize={setWidth}
|
|
1207
|
-
* minWidth={256}
|
|
1208
|
-
* maxWidth={800}
|
|
1209
|
-
* position="left"
|
|
1210
|
-
* />
|
|
1211
|
-
* <div>Panel content</div>
|
|
1212
|
-
* </div>
|
|
1213
|
-
* ```
|
|
1214
|
-
*/
|
|
1215
|
-
declare function ResizeHandle({ onResize, minWidth, maxWidth, position, ariaLabel }: ResizeHandleProps): react_jsx_runtime.JSX.Element;
|
|
1216
|
-
|
|
1217
|
-
interface ResourceTagsInlineProps {
|
|
1218
|
-
resourceId: string;
|
|
1219
|
-
tags: string[];
|
|
1220
|
-
isEditing: boolean;
|
|
1221
|
-
onUpdate: (tags: string[]) => Promise<void>;
|
|
1222
|
-
disabled?: boolean;
|
|
1223
|
-
}
|
|
1224
|
-
declare function ResourceTagsInline({ tags }: ResourceTagsInlineProps): react_jsx_runtime.JSX.Element | null;
|
|
1225
|
-
|
|
1226
|
-
type ToastType = 'success' | 'error' | 'info' | 'warning';
|
|
1227
|
-
interface ToastMessage {
|
|
1228
|
-
id: string;
|
|
1229
|
-
message: string;
|
|
1230
|
-
type: ToastType;
|
|
1231
|
-
duration?: number;
|
|
1232
|
-
}
|
|
1233
|
-
interface ToastContainerProps {
|
|
1234
|
-
toasts: ToastMessage[];
|
|
1235
|
-
onClose: (id: string) => void;
|
|
1236
|
-
}
|
|
1237
|
-
declare function ToastContainer({ toasts, onClose }: ToastContainerProps): React__default.ReactPortal | null;
|
|
1238
|
-
interface ToastContextType {
|
|
1239
|
-
showToast: (message: string, type?: ToastType, duration?: number) => void;
|
|
1240
|
-
showSuccess: (message: string, duration?: number) => void;
|
|
1241
|
-
showError: (message: string, duration?: number) => void;
|
|
1242
|
-
showWarning: (message: string, duration?: number) => void;
|
|
1243
|
-
showInfo: (message: string, duration?: number) => void;
|
|
1244
|
-
}
|
|
1245
|
-
declare function ToastProvider({ children }: {
|
|
1246
|
-
children: React__default.ReactNode;
|
|
1247
|
-
}): react_jsx_runtime.JSX.Element;
|
|
1248
|
-
declare function useToast(): ToastContextType;
|
|
1249
|
-
|
|
1250
|
-
type ToolbarContext = 'document' | 'simple';
|
|
1251
|
-
interface Props$9<T extends string = string> {
|
|
1252
|
-
context: ToolbarContext;
|
|
1253
|
-
activePanel: T | null;
|
|
1254
|
-
isArchived?: boolean;
|
|
1255
|
-
}
|
|
1256
|
-
/**
|
|
1257
|
-
* Toolbar component for panel navigation
|
|
1258
|
-
*
|
|
1259
|
-
* @emits panel:toggle - Toggle panel visibility. Payload: { panel: string }
|
|
1260
|
-
*/
|
|
1261
|
-
declare function Toolbar<T extends string = string>({ context, activePanel, isArchived }: Props$9<T>): react_jsx_runtime.JSX.Element;
|
|
1262
|
-
|
|
1263
|
-
interface SettingsPanelProps {
|
|
1264
|
-
showLineNumbers: boolean;
|
|
1265
|
-
theme: 'light' | 'dark' | 'system';
|
|
1266
|
-
locale: string;
|
|
1267
|
-
isPendingLocaleChange?: boolean;
|
|
1268
|
-
hoverDelayMs: number;
|
|
1269
|
-
}
|
|
1270
|
-
/**
|
|
1271
|
-
* Settings panel for application preferences
|
|
1272
|
-
*
|
|
1273
|
-
* @emits settings:locale-changed - Locale changed by user. Payload: { locale: string }
|
|
1274
|
-
* @emits settings:line-numbers-toggled - Line numbers toggled on/off. Payload: undefined
|
|
1275
|
-
* @emits settings:theme-changed - Theme changed by user. Payload: { theme: 'light' | 'dark' | 'system' }
|
|
1276
|
-
* @emits settings:hover-delay-changed - Hover delay changed by user. Payload: { hoverDelayMs: number }
|
|
1277
|
-
*/
|
|
1278
|
-
declare function SettingsPanel({ showLineNumbers, theme, locale, isPendingLocaleChange, hoverDelayMs }: SettingsPanelProps): react_jsx_runtime.JSX.Element;
|
|
1279
|
-
|
|
1280
|
-
interface JsonLdViewProps {
|
|
1281
|
-
annotation: Annotation;
|
|
1282
|
-
onBack: () => void;
|
|
1283
|
-
}
|
|
1284
|
-
declare function JsonLdView({ annotation, onBack }: JsonLdViewProps): react_jsx_runtime.JSX.Element;
|
|
1285
|
-
|
|
1286
|
-
interface SelectedTextDisplayProps {
|
|
1287
|
-
exact: string;
|
|
1288
|
-
}
|
|
1289
|
-
declare function SelectedTextDisplay({ exact }: SelectedTextDisplayProps): react_jsx_runtime.JSX.Element;
|
|
1290
|
-
interface EntityTypeBadgesProps {
|
|
1291
|
-
entityTypes: string;
|
|
1292
|
-
}
|
|
1293
|
-
declare function EntityTypeBadges({ entityTypes }: EntityTypeBadgesProps): react_jsx_runtime.JSX.Element | null;
|
|
1294
|
-
interface PopupHeaderProps {
|
|
1295
|
-
title: string;
|
|
1296
|
-
selectedText?: string;
|
|
1297
|
-
onClose: () => void;
|
|
1298
|
-
}
|
|
1299
|
-
declare function PopupHeader({ title, selectedText, onClose }: PopupHeaderProps): react_jsx_runtime.JSX.Element;
|
|
1300
|
-
interface PopupContainerProps {
|
|
1301
|
-
children: React__default.ReactNode;
|
|
1302
|
-
position: {
|
|
1303
|
-
x: number;
|
|
1304
|
-
y: number;
|
|
1305
|
-
};
|
|
1306
|
-
onClose: () => void;
|
|
1307
|
-
isOpen: boolean;
|
|
1308
|
-
wide?: boolean;
|
|
1309
|
-
}
|
|
1310
|
-
declare function PopupContainer({ children, position, onClose, isOpen, wide }: PopupContainerProps): react_jsx_runtime.JSX.Element;
|
|
1311
|
-
|
|
1312
|
-
interface AnnotationOverlayProps {
|
|
1313
|
-
annotations: Annotation[];
|
|
1314
|
-
imageWidth: number;
|
|
1315
|
-
imageHeight: number;
|
|
1316
|
-
displayWidth: number;
|
|
1317
|
-
displayHeight: number;
|
|
1318
|
-
session?: SemiontSession | null | undefined;
|
|
1319
|
-
hoveredAnnotationId?: string | null;
|
|
1320
|
-
selectedAnnotationId?: string | null;
|
|
1321
|
-
hoverDelayMs: number;
|
|
1322
|
-
}
|
|
1323
|
-
/**
|
|
1324
|
-
* Render annotation overlay - displays existing annotations as SVG shapes
|
|
1325
|
-
*
|
|
1326
|
-
* @emits beckon:hover - Annotation hovered or unhovered. Payload: { annotationId: string | null }
|
|
1327
|
-
* @emits browse:click - Annotation clicked. Payload: { annotationId: string, motivation: Motivation }
|
|
1328
|
-
*/
|
|
1329
|
-
declare function AnnotationOverlay({ annotations, imageWidth, imageHeight, displayWidth, displayHeight, session, hoveredAnnotationId, selectedAnnotationId, hoverDelayMs }: AnnotationOverlayProps): react_jsx_runtime.JSX.Element;
|
|
1330
|
-
|
|
1331
|
-
type DrawingMode = 'rectangle' | 'polygon' | 'circle' | 'freeform' | null;
|
|
1332
|
-
interface SvgDrawingCanvasProps {
|
|
1333
|
-
imageUrl: string;
|
|
1334
|
-
existingAnnotations?: Annotation[];
|
|
1335
|
-
drawingMode: DrawingMode;
|
|
1336
|
-
selectedMotivation?: SelectionMotivation | null;
|
|
1337
|
-
session?: SemiontSession | null | undefined;
|
|
1338
|
-
hoveredAnnotationId?: string | null;
|
|
1339
|
-
selectedAnnotationId?: string | null;
|
|
1340
|
-
hoverDelayMs?: number;
|
|
1341
|
-
}
|
|
1342
|
-
/**
|
|
1343
|
-
* SVG-based drawing canvas for creating image annotations with shapes
|
|
1344
|
-
*
|
|
1345
|
-
* @emits browse:click - Annotation clicked on canvas. Payload: { annotationId: string, motivation: Motivation }
|
|
1346
|
-
* @emits mark:requested - New annotation drawn on canvas. Payload: { selector: SvgSelector, motivation: SelectionMotivation }
|
|
1347
|
-
*/
|
|
1348
|
-
declare function SvgDrawingCanvas({ imageUrl, existingAnnotations, drawingMode, selectedMotivation, session, hoveredAnnotationId, selectedAnnotationId }: SvgDrawingCanvasProps): react_jsx_runtime.JSX.Element;
|
|
1349
|
-
|
|
1350
|
-
interface KeyboardShortcutsHelpModalProps {
|
|
1351
|
-
isOpen: boolean;
|
|
1352
|
-
onClose: () => void;
|
|
1353
|
-
}
|
|
1354
|
-
declare function KeyboardShortcutsHelpModal({ isOpen, onClose }: KeyboardShortcutsHelpModalProps): react_jsx_runtime.JSX.Element;
|
|
1355
|
-
|
|
1356
|
-
/**
|
|
1357
|
-
* Modal that surfaces when a 403 forbidden error is reported via
|
|
1358
|
-
* the active session's `signals.notifyPermissionDenied(...)`.
|
|
1359
|
-
*
|
|
1360
|
-
* Reads `permissionDeniedAt$` and `permissionDeniedMessage$` from the
|
|
1361
|
-
* active `SessionSignals`. The signals instance clears the
|
|
1362
|
-
* flag when the user dismisses the modal. Modal state lives on
|
|
1363
|
-
* signals (not the session itself) so headless sessions
|
|
1364
|
-
* (workers/CLIs) don't carry dead observables.
|
|
1365
|
-
*/
|
|
1366
|
-
declare function PermissionDeniedModal(): react_jsx_runtime.JSX.Element;
|
|
1367
|
-
|
|
1368
|
-
/**
|
|
1369
|
-
* Modal that surfaces when the active KB's session expires (a 401
|
|
1370
|
-
* surfaced by the session's own JWT validation or by the host's
|
|
1371
|
-
* error-routing path).
|
|
1372
|
-
*
|
|
1373
|
-
* Reads `sessionExpiredAt$` from the active `SessionSignals`.
|
|
1374
|
-
* When the user dismisses the modal, the signals instance clears the
|
|
1375
|
-
* flag. Modal state lives on signals (not the session itself) so
|
|
1376
|
-
* headless sessions (workers/CLIs) don't carry dead observables.
|
|
1377
|
-
*/
|
|
1378
|
-
declare function SessionExpiredModal(): react_jsx_runtime.JSX.Element;
|
|
1379
|
-
|
|
1380
|
-
interface Props$8 {
|
|
1381
|
-
content: string;
|
|
1382
|
-
mimeType?: string;
|
|
1383
|
-
resourceUri?: string;
|
|
1384
|
-
annotations: AnnotationsCollection;
|
|
1385
|
-
uiState: AnnotationUIState;
|
|
1386
|
-
onUIStateChange?: (state: Partial<AnnotationUIState>) => void;
|
|
1387
|
-
editable?: boolean;
|
|
1388
|
-
enableWidgets?: boolean;
|
|
1389
|
-
getTargetResourceName?: (resourceId: string) => string | undefined;
|
|
1390
|
-
generatingReferenceId?: string | null;
|
|
1391
|
-
showLineNumbers?: boolean;
|
|
1392
|
-
hoverDelayMs?: number;
|
|
1393
|
-
annotateMode: boolean;
|
|
1394
|
-
}
|
|
1395
|
-
/**
|
|
1396
|
-
* View component for annotating resources with text selection and drawing
|
|
1397
|
-
*
|
|
1398
|
-
* @emits mark:requested - User requested to create annotation. Payload: { selector: Selector | Selector[], motivation: SelectionMotivation }
|
|
1399
|
-
* @subscribes mark:selection-changed - Toolbar selection changed. Payload: { motivation: string | null }
|
|
1400
|
-
* @subscribes mark:click-changed - Toolbar click action changed. Payload: { action: string }
|
|
1401
|
-
* @subscribes mark:shape-changed - Toolbar shape changed. Payload: { shape: string }
|
|
1402
|
-
* @subscribes beckon:hover - Annotation hovered. Payload: { annotationId: string | null }
|
|
1403
|
-
*/
|
|
1404
|
-
declare function AnnotateView({ content, mimeType, resourceUri, annotations, uiState, onUIStateChange, enableWidgets, getTargetResourceName, generatingReferenceId, showLineNumbers, hoverDelayMs, annotateMode }: Props$8): react_jsx_runtime.JSX.Element;
|
|
1405
|
-
|
|
1406
|
-
interface Props$7 {
|
|
1407
|
-
rUri: ResourceId;
|
|
1408
|
-
hoveredAnnotationId?: string | null;
|
|
1409
|
-
onEventHover?: (annotationId: string | null) => void;
|
|
1410
|
-
onEventClick?: (annotationId: string | null) => void;
|
|
1411
|
-
Link: React__default.ComponentType<LinkComponentProps>;
|
|
1412
|
-
routes: RouteBuilder;
|
|
1413
|
-
}
|
|
1414
|
-
declare function AnnotationHistory({ rUri, hoveredAnnotationId, onEventHover, onEventClick, Link, routes }: Props$7): react_jsx_runtime.JSX.Element | null;
|
|
1415
|
-
|
|
1416
|
-
interface Props$6 {
|
|
1417
|
-
content: string;
|
|
1418
|
-
mimeType: string;
|
|
1419
|
-
resourceUri: string;
|
|
1420
|
-
annotations: AnnotationsCollection;
|
|
1421
|
-
hoveredAnnotationId?: string | null;
|
|
1422
|
-
selectedClick?: ClickAction;
|
|
1423
|
-
annotateMode: boolean;
|
|
1424
|
-
hoverDelayMs?: number;
|
|
1425
|
-
}
|
|
1426
|
-
/**
|
|
1427
|
-
* View component for browsing annotated resources in read-only mode.
|
|
1428
|
-
*
|
|
1429
|
-
* Two-layer rendering:
|
|
1430
|
-
* - Layer 1: Markdown renders once (MemoizedMarkdown, cached by content)
|
|
1431
|
-
* - Layer 2: Annotation overlay applied via DOM Range API after paint
|
|
1432
|
-
*
|
|
1433
|
-
* @emits browse:click - User clicked on annotation. Payload: { annotationId: string, motivation: Motivation }
|
|
1434
|
-
* @emits beckon:hover - User hovered over annotation. Payload: { annotationId: string | null }
|
|
1435
|
-
*
|
|
1436
|
-
* @subscribes beckon:hover - Highlight annotation on hover. Payload: { annotationId: string | null }
|
|
1437
|
-
* @subscribes beckon:focus - Scroll to and highlight annotation. Payload: { annotationId: string }
|
|
1438
|
-
*/
|
|
1439
|
-
declare const BrowseView: React$1.NamedExoticComponent<Props$6>;
|
|
1440
|
-
|
|
1441
|
-
type TranslateFn$4 = (key: string, params?: Record<string, string | number>) => string;
|
|
1442
|
-
interface Props$5 {
|
|
1443
|
-
event: StoredEventLike;
|
|
1444
|
-
annotations: any[];
|
|
1445
|
-
allEvents: StoredEventLike[];
|
|
1446
|
-
isRelated: boolean;
|
|
1447
|
-
t: TranslateFn$4;
|
|
1448
|
-
Link: React__default.ComponentType<LinkComponentProps>;
|
|
1449
|
-
routes: RouteBuilder;
|
|
1450
|
-
onEventRef?: (annotationId: string | null, element: HTMLElement | null) => void;
|
|
1451
|
-
onEventClick?: (annotationId: string | null) => void;
|
|
1452
|
-
onEventHover?: (annotationId: string | null) => void;
|
|
1453
|
-
}
|
|
1454
|
-
declare function HistoryEvent({ event, annotations, allEvents, isRelated, t, Link, routes, onEventRef, onEventClick, onEventHover }: Props$5): react_jsx_runtime.JSX.Element;
|
|
1455
|
-
|
|
1456
|
-
/**
|
|
1457
|
-
* ResourceViewer - Display and interact with resource content and annotations
|
|
1458
|
-
*
|
|
1459
|
-
* This component uses event-driven architecture for real-time updates:
|
|
1460
|
-
* - Subscribes to make-meaning events (mark:added, mark:removed, mark:body-updated)
|
|
1461
|
-
* - Automatically invalidates cache when annotations change
|
|
1462
|
-
* - No manual refetch needed - events handle cache invalidation
|
|
1463
|
-
*
|
|
1464
|
-
* Requirements:
|
|
1465
|
-
* - Must be wrapped in SemiontProvider (which owns the session's event bus)
|
|
1466
|
-
* - Must be wrapped in CacheContext (provides cache manager)
|
|
1467
|
-
*
|
|
1468
|
-
* Event flow:
|
|
1469
|
-
* make-meaning → EventLog → SSE → EventBus → ResourceViewer → Cache invalidation
|
|
1470
|
-
*
|
|
1471
|
-
* Phase 2 complete: Event-based cache invalidation replaces manual refetch
|
|
1472
|
-
* Phase 3 complete: Fully event-driven - all user interactions use unified event bus
|
|
1473
|
-
*/
|
|
1474
|
-
interface Props$4 {
|
|
1475
|
-
resource: ResourceDescriptor & {
|
|
1476
|
-
content: string;
|
|
1477
|
-
};
|
|
1478
|
-
annotations: AnnotationsCollection;
|
|
1479
|
-
generatingReferenceId?: string | null;
|
|
1480
|
-
showLineNumbers?: boolean;
|
|
1481
|
-
hoverDelayMs?: number;
|
|
1482
|
-
hoveredAnnotationId?: string | null;
|
|
1483
|
-
}
|
|
1484
|
-
/**
|
|
1485
|
-
* @emits mark:delete - User requested to delete annotation. Payload: { annotationId: string }
|
|
1486
|
-
* @emits panel:open - Request to open panel with annotation. Payload: { panel: string, scrollToAnnotationId?: string, motivation?: Motivation }
|
|
1487
|
-
*
|
|
1488
|
-
* @subscribes mark:mode-toggled - Toggles between browse and annotate mode. Payload: { mode: 'browse' | 'annotate' }
|
|
1489
|
-
* @subscribes mark:added - New annotation was added. Payload: { annotation: Annotation }
|
|
1490
|
-
* @subscribes mark:removed - Annotation was removed. Payload: { annotationId: string }
|
|
1491
|
-
* @subscribes mark:body-updated - Annotation was updated. Payload: { annotation: Annotation }
|
|
1492
|
-
* @subscribes mark:selection-changed - Text selection tool changed. Payload: { selection: boolean }
|
|
1493
|
-
* @subscribes mark:click-changed - Click annotation tool changed. Payload: { click: 'detail' | 'scroll' | null }
|
|
1494
|
-
* @subscribes mark:shape-changed - Drawing shape changed. Payload: { shape: string }
|
|
1495
|
-
* @subscribes browse:click - User clicked on annotation. Payload: { annotationId: string }
|
|
1496
|
-
*/
|
|
1497
|
-
declare function ResourceViewer({ resource, annotations, generatingReferenceId, showLineNumbers, hoverDelayMs, hoveredAnnotationId: hoveredAnnotationIdProp }: Props$4): react_jsx_runtime.JSX.Element;
|
|
1498
|
-
|
|
1499
|
-
interface AssessmentEntryProps {
|
|
1500
|
-
assessment: Annotation;
|
|
1501
|
-
isFocused: boolean;
|
|
1502
|
-
isHovered?: boolean;
|
|
1503
|
-
ref?: Ref<HTMLDivElement>;
|
|
1504
|
-
}
|
|
1505
|
-
declare function AssessmentEntry({ assessment, isFocused, isHovered, ref, }: AssessmentEntryProps): react_jsx_runtime.JSX.Element;
|
|
1506
|
-
|
|
1507
|
-
type Motivation$5 = components['schemas']['Motivation'];
|
|
1508
|
-
type JobProgress$6 = components['schemas']['JobProgress'];
|
|
1509
|
-
interface PendingAnnotation$5 {
|
|
1510
|
-
selector: Selector | Selector[];
|
|
1511
|
-
motivation: Motivation$5;
|
|
1512
|
-
}
|
|
1513
|
-
interface AssessmentPanelProps {
|
|
1514
|
-
annotations: Annotation[];
|
|
1515
|
-
pendingAnnotation: PendingAnnotation$5 | null;
|
|
1516
|
-
isAssisting?: boolean;
|
|
1517
|
-
progress?: JobProgress$6 | null;
|
|
1518
|
-
locale?: string;
|
|
1519
|
-
/** BCP-47 tag of the resource being analyzed — forwarded to the assist call. */
|
|
1520
|
-
sourceLanguage?: string;
|
|
1521
|
-
annotateMode?: boolean;
|
|
1522
|
-
scrollToAnnotationId?: string | null;
|
|
1523
|
-
onScrollCompleted?: () => void;
|
|
1524
|
-
hoveredAnnotationId?: string | null;
|
|
1525
|
-
}
|
|
1526
|
-
/**
|
|
1527
|
-
* Panel for managing assessment annotations with text input
|
|
1528
|
-
*
|
|
1529
|
-
* @emits mark:create - Create new assessment annotation. Payload: { motivation: 'assessing', selector: Selector | Selector[], body: Body[] }
|
|
1530
|
-
* @emits mark:cancel-pending - Cancel pending assessment annotation. Payload: undefined
|
|
1531
|
-
* @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
|
|
1532
|
-
*/
|
|
1533
|
-
declare function AssessmentPanel({ annotations, pendingAnnotation, isAssisting, progress, locale, sourceLanguage, annotateMode, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: AssessmentPanelProps): react_jsx_runtime.JSX.Element;
|
|
1534
|
-
|
|
1535
|
-
interface Props$3 {
|
|
1536
|
-
/**
|
|
1537
|
-
* Connection state from `client.actor.state$`. See
|
|
1538
|
-
* `packages/api-client/src/state/domain/actor-state-unit.ts`.
|
|
1539
|
-
*
|
|
1540
|
-
* UI mapping:
|
|
1541
|
-
* `open` | `reconnecting` | `initial` | `connecting`
|
|
1542
|
-
* → treated as "healthy" (green dot, "Live" label, event count visible).
|
|
1543
|
-
* `reconnecting` is specifically INCLUDED in healthy because a
|
|
1544
|
-
* brief reconnect (mount churn, channel-set change, quick blip)
|
|
1545
|
-
* shouldn't alarm the user. The 100 ms reconnect debounce and
|
|
1546
|
-
* sub-second fetch retry make `reconnecting` a transient state.
|
|
1547
|
-
* `degraded` | `closed`
|
|
1548
|
-
* → treated as "disconnected" (red dot, "Disconnected" label).
|
|
1549
|
-
* `degraded` is the 3 s threshold at which the state machine
|
|
1550
|
-
* decides the disconnect is sustained; this is the UI-banner
|
|
1551
|
-
* trigger the plan was designed around.
|
|
1552
|
-
*/
|
|
1553
|
-
state: ConnectionState;
|
|
1554
|
-
eventCount: number;
|
|
1555
|
-
lastEventTimestamp?: string;
|
|
1556
|
-
knowledgeBaseName?: string;
|
|
1557
|
-
}
|
|
1558
|
-
declare function CollaborationPanel({ state, eventCount, lastEventTimestamp, knowledgeBaseName }: Props$3): react_jsx_runtime.JSX.Element;
|
|
1559
|
-
|
|
1560
|
-
interface CommentEntryProps {
|
|
1561
|
-
comment: Annotation;
|
|
1562
|
-
isFocused: boolean;
|
|
1563
|
-
isHovered?: boolean;
|
|
1564
|
-
annotateMode?: boolean;
|
|
1565
|
-
ref?: Ref<HTMLDivElement>;
|
|
1566
|
-
}
|
|
1567
|
-
declare function CommentEntry({ comment, isFocused, isHovered, annotateMode, ref, }: CommentEntryProps): react_jsx_runtime.JSX.Element;
|
|
1568
|
-
|
|
1569
|
-
type Motivation$4 = components['schemas']['Motivation'];
|
|
1570
|
-
type JobProgress$5 = components['schemas']['JobProgress'];
|
|
1571
|
-
interface PendingAnnotation$4 {
|
|
1572
|
-
selector: Selector | Selector[];
|
|
1573
|
-
motivation: Motivation$4;
|
|
1574
|
-
}
|
|
1575
|
-
interface CommentsPanelProps {
|
|
1576
|
-
annotations: Annotation[];
|
|
1577
|
-
pendingAnnotation: PendingAnnotation$4 | null;
|
|
1578
|
-
annotateMode?: boolean;
|
|
1579
|
-
isAssisting?: boolean;
|
|
1580
|
-
progress?: JobProgress$5 | null;
|
|
1581
|
-
locale?: string;
|
|
1582
|
-
/** BCP-47 tag of the resource being analyzed — forwarded to the assist call. */
|
|
1583
|
-
sourceLanguage?: string;
|
|
1584
|
-
scrollToAnnotationId?: string | null;
|
|
1585
|
-
onScrollCompleted?: () => void;
|
|
1586
|
-
hoveredAnnotationId?: string | null;
|
|
1587
|
-
}
|
|
1588
|
-
/**
|
|
1589
|
-
* Panel for managing comment annotations with text input
|
|
1590
|
-
*
|
|
1591
|
-
* @emits mark:create - Create new comment annotation. Payload: { motivation: 'commenting', selector: Selector | Selector[], body: Body[] }
|
|
1592
|
-
* @emits mark:cancel-pending - Cancel pending comment annotation. Payload: undefined
|
|
1593
|
-
* @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
|
|
1594
|
-
*/
|
|
1595
|
-
declare function CommentsPanel({ annotations, pendingAnnotation, annotateMode, isAssisting, progress, locale, sourceLanguage, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: CommentsPanelProps): react_jsx_runtime.JSX.Element;
|
|
1596
|
-
|
|
1597
|
-
type JobProgress$4 = components['schemas']['JobProgress'];
|
|
1598
|
-
interface AssistSectionProps {
|
|
1599
|
-
annotationType: 'highlight' | 'assessment' | 'comment';
|
|
1600
|
-
isAssisting: boolean;
|
|
1601
|
-
/** User UI locale — written into the annotation body's `language` field for comment/assessment. */
|
|
1602
|
-
locale?: string;
|
|
1603
|
-
/** BCP-47 tag of the resource being analyzed. Forwarded to the prompt so the LLM analyzes non-English source correctly. */
|
|
1604
|
-
sourceLanguage?: string;
|
|
1605
|
-
progress?: JobProgress$4 | null | undefined;
|
|
1606
|
-
}
|
|
1607
|
-
/**
|
|
1608
|
-
* Shared assist section for Highlight, Assessment, and Comment panels
|
|
1609
|
-
*
|
|
1610
|
-
* Provides:
|
|
1611
|
-
* - Optional instructions textarea
|
|
1612
|
-
* - Optional tone selector (for comments)
|
|
1613
|
-
* - Assist button with sparkle animation
|
|
1614
|
-
* - Progress display during annotation assist
|
|
1615
|
-
*
|
|
1616
|
-
* @emits mark:assist-request - Start assist for annotation type. Payload: { motivation: Motivation, options: { instructions?: string, tone?: string, density?: number } }
|
|
1617
|
-
* @emits mark:progress-dismiss - Dismiss the annotation progress display
|
|
1618
|
-
*/
|
|
1619
|
-
declare function AssistSection({ annotationType, isAssisting, locale, sourceLanguage, progress, }: AssistSectionProps): react_jsx_runtime.JSX.Element;
|
|
1620
|
-
|
|
1621
|
-
interface HighlightEntryProps {
|
|
1622
|
-
highlight: Annotation;
|
|
1623
|
-
isFocused: boolean;
|
|
1624
|
-
isHovered?: boolean;
|
|
1625
|
-
ref?: Ref<HTMLDivElement>;
|
|
1626
|
-
}
|
|
1627
|
-
declare function HighlightEntry({ highlight, isFocused, isHovered, ref, }: HighlightEntryProps): react_jsx_runtime.JSX.Element;
|
|
1628
|
-
|
|
1629
|
-
type Motivation$3 = components['schemas']['Motivation'];
|
|
1630
|
-
type JobProgress$3 = components['schemas']['JobProgress'];
|
|
1631
|
-
interface PendingAnnotation$3 {
|
|
1632
|
-
selector: Selector | Selector[];
|
|
1633
|
-
motivation: Motivation$3;
|
|
1634
|
-
}
|
|
1635
|
-
interface HighlightPanelProps {
|
|
1636
|
-
annotations: Annotation[];
|
|
1637
|
-
pendingAnnotation: PendingAnnotation$3 | null;
|
|
1638
|
-
isAssisting?: boolean;
|
|
1639
|
-
progress?: JobProgress$3 | null;
|
|
1640
|
-
annotateMode?: boolean;
|
|
1641
|
-
scrollToAnnotationId?: string | null;
|
|
1642
|
-
onScrollCompleted?: () => void;
|
|
1643
|
-
hoveredAnnotationId?: string | null;
|
|
1644
|
-
/** BCP-47 tag of the resource being analyzed — forwarded to the assist call so the LLM analyzes non-English source correctly. */
|
|
1645
|
-
sourceLanguage?: string;
|
|
1646
|
-
}
|
|
1647
|
-
/**
|
|
1648
|
-
* Panel for managing highlight annotations with auto-creation
|
|
1649
|
-
*
|
|
1650
|
-
* @emits mark:create - Create new highlight annotation (auto-triggered). Payload: { motivation: 'highlighting', selector: Selector | Selector[], body: Body[] }
|
|
1651
|
-
* @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
|
|
1652
|
-
*/
|
|
1653
|
-
declare function HighlightPanel({ annotations, pendingAnnotation, isAssisting, progress, annotateMode, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, sourceLanguage, }: HighlightPanelProps): react_jsx_runtime.JSX.Element;
|
|
1654
|
-
|
|
1655
|
-
type SemiontResource$1 = components['schemas']['ResourceDescriptor'];
|
|
1656
|
-
interface Props$2 {
|
|
1657
|
-
resource: SemiontResource$1;
|
|
1658
|
-
}
|
|
1659
|
-
declare function JsonLdPanel({ resource: semiontResource }: Props$2): react_jsx_runtime.JSX.Element;
|
|
1660
|
-
|
|
1661
|
-
interface PanelHeaderProps {
|
|
1662
|
-
annotationType: 'highlight' | 'reference' | 'assessment' | 'comment' | 'tag';
|
|
1663
|
-
count: number;
|
|
1664
|
-
title: string;
|
|
1665
|
-
}
|
|
1666
|
-
/**
|
|
1667
|
-
* Shared header for annotation panels
|
|
1668
|
-
*
|
|
1669
|
-
* Displays the annotation icon, translated title, and count in a consistent format
|
|
1670
|
-
*/
|
|
1671
|
-
declare function PanelHeader({ count, title }: PanelHeaderProps): react_jsx_runtime.JSX.Element;
|
|
1672
|
-
|
|
1673
|
-
interface ReferenceEntryProps {
|
|
1674
|
-
reference: Annotation;
|
|
1675
|
-
isFocused: boolean;
|
|
1676
|
-
isHovered?: boolean;
|
|
1677
|
-
routes: RouteBuilder;
|
|
1678
|
-
annotateMode?: boolean;
|
|
1679
|
-
isGenerating?: boolean;
|
|
1680
|
-
ref?: Ref<HTMLDivElement>;
|
|
1681
|
-
}
|
|
1682
|
-
declare function ReferenceEntry({ reference, isFocused, isHovered, routes, annotateMode, isGenerating, ref, }: ReferenceEntryProps): react_jsx_runtime.JSX.Element;
|
|
1683
|
-
|
|
1684
|
-
type JobProgress$2 = components['schemas']['JobProgress'];
|
|
1685
|
-
|
|
1686
|
-
type Motivation$2 = components['schemas']['Motivation'];
|
|
1687
|
-
type ReferencedBy = components['schemas']['GetReferencedByResponse']['referencedBy'][number];
|
|
1688
|
-
interface PendingAnnotation$2 {
|
|
1689
|
-
selector: Selector | Selector[];
|
|
1690
|
-
motivation: Motivation$2;
|
|
1691
|
-
}
|
|
1692
|
-
interface Props$1 {
|
|
1693
|
-
annotations?: Annotation[];
|
|
1694
|
-
isAssisting: boolean;
|
|
1695
|
-
progress: JobProgress$2 | null;
|
|
1696
|
-
annotateMode?: boolean;
|
|
1697
|
-
Link: React__default.ComponentType<LinkComponentProps>;
|
|
1698
|
-
routes: RouteBuilder;
|
|
1699
|
-
allEntityTypes: string[];
|
|
1700
|
-
generatingReferenceId?: string | null;
|
|
1701
|
-
referencedBy?: ReferencedBy[];
|
|
1702
|
-
referencedByLoading?: boolean;
|
|
1703
|
-
pendingAnnotation: PendingAnnotation$2 | null;
|
|
1704
|
-
scrollToAnnotationId?: string | null;
|
|
1705
|
-
onScrollCompleted?: () => void;
|
|
1706
|
-
hoveredAnnotationId?: string | null;
|
|
1707
|
-
/** User UI locale — stamped on the unresolved-reference body's `language` field. */
|
|
1708
|
-
locale?: string;
|
|
1709
|
-
/** BCP-47 tag of the resource being analyzed — fed into the prompt for source-aware analysis. */
|
|
1710
|
-
sourceLanguage?: string;
|
|
1711
|
-
}
|
|
1712
|
-
/**
|
|
1713
|
-
* Panel for managing reference annotations with entity type annotation
|
|
1714
|
-
*
|
|
1715
|
-
* @emits annotate:detect-request - Start reference annotation. Payload: { motivation: 'linking', options: { entityTypes: string[], includeDescriptiveReferences: boolean } }
|
|
1716
|
-
* @emits mark:create - Create new reference annotation. Payload: { motivation: 'linking', selector: Selector | Selector[], body: Body[] }
|
|
1717
|
-
* @emits mark:cancel-pending - Cancel pending reference annotation. Payload: undefined
|
|
1718
|
-
* @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
|
|
1719
|
-
*/
|
|
1720
|
-
declare function ReferencesPanel({ annotations, isAssisting, progress, annotateMode, Link, routes, allEntityTypes, generatingReferenceId, referencedBy, referencedByLoading, pendingAnnotation, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, locale, sourceLanguage, }: Props$1): react_jsx_runtime.JSX.Element;
|
|
1721
|
-
|
|
1722
|
-
type Agent = components['schemas']['Agent'];
|
|
1723
|
-
interface Props {
|
|
1724
|
-
resourceId: string;
|
|
1725
|
-
documentEntityTypes: string[];
|
|
1726
|
-
documentLocale?: string | undefined;
|
|
1727
|
-
primaryMediaType?: string | undefined;
|
|
1728
|
-
primaryByteSize?: number | undefined;
|
|
1729
|
-
storageUri?: string | undefined;
|
|
1730
|
-
isArchived?: boolean;
|
|
1731
|
-
dateCreated?: string | undefined;
|
|
1732
|
-
dateModified?: string | undefined;
|
|
1733
|
-
creationMethod?: string | undefined;
|
|
1734
|
-
wasAttributedTo?: Agent | Agent[] | undefined;
|
|
1735
|
-
wasDerivedFrom?: string | string[] | undefined;
|
|
1736
|
-
generator?: Agent | Agent[] | undefined;
|
|
1737
|
-
}
|
|
1738
|
-
/**
|
|
1739
|
-
* Panel for displaying resource metadata and management actions
|
|
1740
|
-
*
|
|
1741
|
-
* @emits yield:clone - Clone this resource
|
|
1742
|
-
* @emits mark:unarchive - Unarchive this resource
|
|
1743
|
-
* @emits mark:archive - Archive this resource
|
|
1744
|
-
*/
|
|
1745
|
-
declare function ResourceInfoPanel({ resourceId, documentEntityTypes, documentLocale, primaryMediaType, primaryByteSize, storageUri, isArchived, dateCreated, dateModified, creationMethod, wasAttributedTo, wasDerivedFrom, generator, }: Props): react_jsx_runtime.JSX.Element;
|
|
1746
|
-
|
|
1747
|
-
interface StatisticsPanelProps {
|
|
1748
|
-
highlights: Annotation[];
|
|
1749
|
-
comments: Annotation[];
|
|
1750
|
-
assessments: Annotation[];
|
|
1751
|
-
references: Annotation[];
|
|
1752
|
-
tags: Annotation[];
|
|
1753
|
-
}
|
|
1754
|
-
declare function StatisticsPanel({ highlights, comments, assessments, references, tags }: StatisticsPanelProps): react_jsx_runtime.JSX.Element;
|
|
1755
|
-
|
|
1756
|
-
interface TagEntryProps {
|
|
1757
|
-
tag: Annotation;
|
|
1758
|
-
isFocused: boolean;
|
|
1759
|
-
isHovered?: boolean;
|
|
1760
|
-
ref?: Ref<HTMLDivElement>;
|
|
1761
|
-
}
|
|
1762
|
-
declare function TagEntry({ tag, isFocused, isHovered, ref, }: TagEntryProps): react_jsx_runtime.JSX.Element;
|
|
1763
|
-
|
|
1764
|
-
type Motivation$1 = components['schemas']['Motivation'];
|
|
1765
|
-
type JobProgress$1 = components['schemas']['JobProgress'];
|
|
1766
|
-
interface PendingAnnotation$1 {
|
|
1767
|
-
selector: Selector | Selector[];
|
|
1768
|
-
motivation: Motivation$1;
|
|
1769
|
-
}
|
|
1770
|
-
interface TaggingPanelProps {
|
|
1771
|
-
annotations: Annotation[];
|
|
1772
|
-
annotateMode?: boolean;
|
|
1773
|
-
isAssisting?: boolean;
|
|
1774
|
-
progress?: JobProgress$1 | null;
|
|
1775
|
-
pendingAnnotation: PendingAnnotation$1 | null;
|
|
1776
|
-
scrollToAnnotationId?: string | null;
|
|
1777
|
-
onScrollCompleted?: () => void;
|
|
1778
|
-
hoveredAnnotationId?: string | null;
|
|
1779
|
-
/** User UI locale — stamped on the tagging body's `language` field. */
|
|
1780
|
-
locale?: string;
|
|
1781
|
-
/** BCP-47 tag of the resource being analyzed — fed into the prompt for source-aware analysis. */
|
|
1782
|
-
sourceLanguage?: string;
|
|
1783
|
-
}
|
|
1784
|
-
/**
|
|
1785
|
-
* Panel for managing tag annotations with schema-based annotation
|
|
1786
|
-
*
|
|
1787
|
-
* @emits annotate:detect-request - Start tag annotation. Payload: { motivation: 'tagging', options: { schemaId: string, categories: string[] } }
|
|
1788
|
-
* @emits mark:cancel-pending - Cancel pending tag annotation. Payload: undefined
|
|
1789
|
-
* @emits mark:create - Create new tag annotation. Payload: { motivation: 'tagging', selector: Selector | Selector[], body: Body[] }
|
|
1790
|
-
* @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
|
|
1791
|
-
*/
|
|
1792
|
-
declare function TaggingPanel({ annotations, annotateMode, isAssisting, progress, pendingAnnotation, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, locale, sourceLanguage, }: TaggingPanelProps): react_jsx_runtime.JSX.Element;
|
|
1793
|
-
|
|
1794
|
-
type JobProgress = components['schemas']['JobProgress'];
|
|
1795
|
-
|
|
1796
|
-
type Motivation = components['schemas']['Motivation'];
|
|
1797
|
-
type TabKey = 'statistics' | 'reference' | 'highlight' | 'assessment' | 'comment' | 'tag';
|
|
1798
|
-
interface PendingAnnotation {
|
|
1799
|
-
selector: Selector | Selector[];
|
|
1800
|
-
motivation: Motivation;
|
|
1801
|
-
}
|
|
1802
|
-
/**
|
|
1803
|
-
* Simplified UnifiedAnnotationsPanel using event-driven architecture
|
|
1804
|
-
*
|
|
1805
|
-
* Key simplifications:
|
|
1806
|
-
* - Single annotations array (grouped internally by motivation)
|
|
1807
|
-
* - Single focusedAnnotationId (motivation-agnostic)
|
|
1808
|
-
* - Hover state managed via event bus (no props needed)
|
|
1809
|
-
* - All operations managed via event bus (no callback props)
|
|
1810
|
-
*/
|
|
1811
|
-
interface UnifiedAnnotationsPanelProps {
|
|
1812
|
-
annotations: Annotation[];
|
|
1813
|
-
annotators: Record<string, Annotator>;
|
|
1814
|
-
annotateMode?: boolean;
|
|
1815
|
-
assistingMotivation?: Motivation | null;
|
|
1816
|
-
progress?: JobProgress | null;
|
|
1817
|
-
pendingAnnotation: PendingAnnotation | null;
|
|
1818
|
-
allEntityTypes?: string[];
|
|
1819
|
-
generatingReferenceId?: string | null;
|
|
1820
|
-
referencedBy?: any[];
|
|
1821
|
-
referencedByLoading?: boolean;
|
|
1822
|
-
resourceId?: string;
|
|
1823
|
-
initialTab?: TabKey;
|
|
1824
|
-
initialTabGeneration?: number;
|
|
1825
|
-
scrollToAnnotationId?: string | null;
|
|
1826
|
-
onScrollCompleted?: () => void;
|
|
1827
|
-
hoveredAnnotationId?: string | null;
|
|
1828
|
-
locale?: string;
|
|
1829
|
-
/**
|
|
1830
|
-
* BCP-47 tag of the resource being analyzed (source-resource locale).
|
|
1831
|
-
* Independent from `locale` — a German user can analyze a French source
|
|
1832
|
-
* and get German bodies back. Fed into detection prompts.
|
|
1833
|
-
*/
|
|
1834
|
-
sourceLanguage?: string;
|
|
1835
|
-
Link: React__default.ComponentType<LinkComponentProps>;
|
|
1836
|
-
routes: RouteBuilder;
|
|
1837
|
-
}
|
|
1838
|
-
declare function UnifiedAnnotationsPanel(props: UnifiedAnnotationsPanelProps): react_jsx_runtime.JSX.Element;
|
|
1839
|
-
|
|
1840
|
-
interface ImageViewerProps {
|
|
1841
|
-
imageUrl: string;
|
|
1842
|
-
mimeType: string;
|
|
1843
|
-
alt?: string;
|
|
1844
|
-
}
|
|
1845
|
-
declare function ImageViewer({ imageUrl, alt }: ImageViewerProps): react_jsx_runtime.JSX.Element;
|
|
1846
|
-
|
|
1847
|
-
type TranslateFn$3 = (key: string, params?: Record<string, any>) => string;
|
|
1848
|
-
interface FooterProps {
|
|
1849
|
-
Link: React__default.ComponentType<LinkComponentProps>;
|
|
1850
|
-
routes: RouteBuilder;
|
|
1851
|
-
t: TranslateFn$3;
|
|
1852
|
-
CookiePreferences?: React__default.ComponentType<{
|
|
1853
|
-
isOpen: boolean;
|
|
1854
|
-
onClose: () => void;
|
|
1855
|
-
}>;
|
|
1856
|
-
onOpenKeyboardHelp?: () => void;
|
|
1857
|
-
sourceCodeUrl?: string;
|
|
1858
|
-
/** Show About, Privacy Policy, Terms of Service, Cookie Preferences links. False for desktop apps. */
|
|
1859
|
-
showPolicyLinks?: boolean;
|
|
1860
|
-
}
|
|
1861
|
-
declare function Footer({ Link, routes, t, CookiePreferences, onOpenKeyboardHelp, sourceCodeUrl, showPolicyLinks, }: FooterProps): react_jsx_runtime.JSX.Element;
|
|
1862
|
-
|
|
1863
|
-
type TranslateFn$2 = (key: string, params?: Record<string, any>) => string;
|
|
1864
|
-
interface NavigationMenuProps {
|
|
1865
|
-
Link: React__default.ComponentType<LinkComponentProps>;
|
|
1866
|
-
routes: RouteBuilder;
|
|
1867
|
-
t: TranslateFn$2;
|
|
1868
|
-
isAdmin?: boolean;
|
|
1869
|
-
isModerator?: boolean;
|
|
1870
|
-
brandingLink?: string;
|
|
1871
|
-
onItemClick?: () => void;
|
|
1872
|
-
className?: string;
|
|
1873
|
-
currentPath?: string;
|
|
1874
|
-
}
|
|
1875
|
-
declare function NavigationMenu({ Link, routes, t, isAdmin, isModerator, onItemClick, className, currentPath }: NavigationMenuProps): react_jsx_runtime.JSX.Element;
|
|
1876
|
-
|
|
1877
|
-
/**
|
|
1878
|
-
* Props for ObservableLink component
|
|
1879
|
-
*
|
|
1880
|
-
* Accepts any props that a standard anchor element accepts,
|
|
1881
|
-
* plus optional navigation metadata for event emission.
|
|
1882
|
-
*/
|
|
1883
|
-
interface ObservableLinkProps extends React__default.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
1884
|
-
/** The URL to navigate to */
|
|
1885
|
-
href: string;
|
|
1886
|
-
/** Optional label for the link (used in event metadata) */
|
|
1887
|
-
label?: string;
|
|
1888
|
-
/** Children to render inside the link */
|
|
1889
|
-
children: React__default.ReactNode;
|
|
1890
|
-
}
|
|
1891
|
-
/**
|
|
1892
|
-
* Link component that emits navigation events for observability
|
|
1893
|
-
*
|
|
1894
|
-
* Use this instead of Next.js <Link> when you want link clicks to be
|
|
1895
|
-
* observable through the NavigationEventBus. This is useful for:
|
|
1896
|
-
* - Analytics tracking
|
|
1897
|
-
* - State coordination before navigation
|
|
1898
|
-
* - Logging navigation flows
|
|
1899
|
-
*
|
|
1900
|
-
* The component emits 'nav:link-clicked' event before allowing
|
|
1901
|
-
* the browser to follow the link.
|
|
1902
|
-
*
|
|
1903
|
-
* @example
|
|
1904
|
-
* ```typescript
|
|
1905
|
-
* <ObservableLink
|
|
1906
|
-
* href="/know/discover"
|
|
1907
|
-
* label="Discover"
|
|
1908
|
-
* >
|
|
1909
|
-
* Discover Resources
|
|
1910
|
-
* </ObservableLink>
|
|
1911
|
-
* ```
|
|
1912
|
-
*
|
|
1913
|
-
* @example With Next.js Link integration
|
|
1914
|
-
* ```typescript
|
|
1915
|
-
* import Link from 'next/link';
|
|
1916
|
-
*
|
|
1917
|
-
* <Link href="/know/discover" legacyBehavior passHref>
|
|
1918
|
-
* <ObservableLink label="Discover">
|
|
1919
|
-
* Discover Resources
|
|
1920
|
-
* </ObservableLink>
|
|
1921
|
-
* </Link>
|
|
1922
|
-
* ```
|
|
1923
|
-
*
|
|
1924
|
-
* @emits nav:link-clicked - Link clicked by user. Payload: { href: string, label?: string }
|
|
1925
|
-
*/
|
|
1926
|
-
declare function ObservableLink({ href, label, onClick, children, ...anchorProps }: ObservableLinkProps): react_jsx_runtime.JSX.Element;
|
|
1927
|
-
|
|
1928
|
-
interface SimpleNavigationItem$1 {
|
|
1929
|
-
name: string;
|
|
1930
|
-
href: string;
|
|
1931
|
-
icon: React__default.ComponentType<{
|
|
1932
|
-
className?: string;
|
|
1933
|
-
}>;
|
|
1934
|
-
description?: string;
|
|
1935
|
-
}
|
|
1936
|
-
interface SimpleNavigationProps$1 {
|
|
1937
|
-
title: string;
|
|
1938
|
-
items: SimpleNavigationItem$1[];
|
|
1939
|
-
currentPath: string;
|
|
1940
|
-
LinkComponent: React__default.ComponentType<any>;
|
|
1941
|
-
dropdownContent?: (onClose: () => void) => React__default.ReactNode;
|
|
1942
|
-
isCollapsed: boolean;
|
|
1943
|
-
icons: {
|
|
1944
|
-
chevronLeft: React__default.ComponentType<{
|
|
1945
|
-
className?: string;
|
|
1946
|
-
}>;
|
|
1947
|
-
bars: React__default.ComponentType<{
|
|
1948
|
-
className?: string;
|
|
1949
|
-
}>;
|
|
1950
|
-
};
|
|
1951
|
-
collapseSidebarLabel: string;
|
|
1952
|
-
expandSidebarLabel: string;
|
|
1953
|
-
}
|
|
1954
|
-
/**
|
|
1955
|
-
* Simple navigation component for Admin and Moderation modes.
|
|
1956
|
-
* Renders a section header with optional dropdown and static navigation tabs.
|
|
1957
|
-
*
|
|
1958
|
-
* @emits shell:sidebar-toggle - Toggle sidebar collapsed/expanded state. Payload: undefined
|
|
1959
|
-
*/
|
|
1960
|
-
declare function SimpleNavigation({ title, items, currentPath, LinkComponent, dropdownContent, isCollapsed, icons, collapseSidebarLabel, expandSidebarLabel }: SimpleNavigationProps$1): react_jsx_runtime.JSX.Element;
|
|
1961
|
-
|
|
1962
|
-
/**
|
|
1963
|
-
* Props for the sortable resource tab component
|
|
1964
|
-
*/
|
|
1965
|
-
interface SortableResourceTabProps {
|
|
1966
|
-
resource: OpenResource;
|
|
1967
|
-
isCollapsed: boolean;
|
|
1968
|
-
isActive: boolean;
|
|
1969
|
-
href: string;
|
|
1970
|
-
onClose: (id: string, e: React.MouseEvent) => void;
|
|
1971
|
-
onReorder?: (resourceId: string, direction: 'up' | 'down') => void;
|
|
1972
|
-
index?: number;
|
|
1973
|
-
totalCount?: number;
|
|
1974
|
-
LinkComponent: ComponentType<any>;
|
|
1975
|
-
dragHandleProps?: any;
|
|
1976
|
-
isDragging?: boolean;
|
|
1977
|
-
translations: {
|
|
1978
|
-
dragToReorder?: string;
|
|
1979
|
-
dragToReorderDoc?: string;
|
|
1980
|
-
closeResource?: string;
|
|
1981
|
-
moveUp?: string;
|
|
1982
|
-
moveDown?: string;
|
|
1983
|
-
};
|
|
1984
|
-
}
|
|
1985
|
-
/**
|
|
1986
|
-
* Props for the collapsible resource navigation component
|
|
1987
|
-
*/
|
|
1988
|
-
interface CollapsibleResourceNavigationProps {
|
|
1989
|
-
fixedItems: Array<{
|
|
1990
|
-
name: string;
|
|
1991
|
-
href: string;
|
|
1992
|
-
icon: ComponentType<any>;
|
|
1993
|
-
description?: string;
|
|
1994
|
-
}>;
|
|
1995
|
-
resources: OpenResource[];
|
|
1996
|
-
isCollapsed: boolean;
|
|
1997
|
-
currentPath: string;
|
|
1998
|
-
LinkComponent: ComponentType<any>;
|
|
1999
|
-
onNavigate?: (path: string) => void;
|
|
2000
|
-
getResourceHref: (resourceId: string) => string;
|
|
2001
|
-
className?: string;
|
|
2002
|
-
translations: {
|
|
2003
|
-
title?: string;
|
|
2004
|
-
collapseSidebar?: string;
|
|
2005
|
-
expandSidebar?: string;
|
|
2006
|
-
dragToReorder?: string;
|
|
2007
|
-
dragToReorderDoc?: string;
|
|
2008
|
-
closeResource?: string;
|
|
2009
|
-
dragInstructions?: string;
|
|
2010
|
-
};
|
|
2011
|
-
icons: {
|
|
2012
|
-
chevronLeft: ComponentType<any>;
|
|
2013
|
-
bars: ComponentType<any>;
|
|
2014
|
-
close: ComponentType<any>;
|
|
2015
|
-
};
|
|
2016
|
-
navigationMenu?: ((onClose: () => void) => ReactNode) | undefined;
|
|
2017
|
-
}
|
|
2018
|
-
|
|
2019
|
-
/**
|
|
2020
|
-
* A comprehensive collapsible navigation component with fixed items and dynamic resource tabs.
|
|
2021
|
-
* Supports drag and drop for resource reordering when expanded.
|
|
2022
|
-
* Platform-agnostic design for use across different React environments.
|
|
2023
|
-
*
|
|
2024
|
-
* @emits tabs:reorder - Resource tab reordered. Payload: { oldIndex: number, newIndex: number }
|
|
2025
|
-
* @emits tabs:close - Resource tab closed. Payload: { resourceId: string }
|
|
2026
|
-
* @emits shell:sidebar-toggle - Toggle sidebar collapsed/expanded state. Payload: undefined
|
|
2027
|
-
*/
|
|
2028
|
-
declare function CollapsibleResourceNavigation({ fixedItems, resources, isCollapsed, currentPath, LinkComponent, onNavigate, getResourceHref, className, translations, icons, navigationMenu }: CollapsibleResourceNavigationProps): react_jsx_runtime.JSX.Element;
|
|
2029
|
-
|
|
2030
|
-
/**
|
|
2031
|
-
* A sortable tab for an open resource in the navigation sidebar.
|
|
2032
|
-
* Supports drag and drop when expanded, and compact icon-only view when collapsed.
|
|
2033
|
-
*/
|
|
2034
|
-
declare function SortableResourceTab({ resource, isCollapsed, isActive, href, onClose, onReorder, index, totalCount, LinkComponent, translations, isDragging }: SortableResourceTabProps): react_jsx_runtime.JSX.Element;
|
|
2035
|
-
|
|
2036
|
-
interface SimpleNavigationItem {
|
|
2037
|
-
name: string;
|
|
2038
|
-
href: string;
|
|
2039
|
-
icon: React.ComponentType<any>;
|
|
2040
|
-
description?: string;
|
|
2041
|
-
}
|
|
2042
|
-
interface SimpleNavigationProps {
|
|
2043
|
-
title: string;
|
|
2044
|
-
items: SimpleNavigationItem[];
|
|
2045
|
-
currentPath: string;
|
|
2046
|
-
LinkComponent: React.ComponentType<any>;
|
|
2047
|
-
dropdownContent?: ((onClose: () => void) => ReactNode) | undefined;
|
|
2048
|
-
}
|
|
2049
|
-
|
|
2050
|
-
interface GenerationConfig {
|
|
2051
|
-
title: string;
|
|
2052
|
-
storagePath: string;
|
|
2053
|
-
prompt?: string;
|
|
2054
|
-
language: string;
|
|
2055
|
-
temperature: number;
|
|
2056
|
-
maxTokens: number;
|
|
2057
|
-
context: GatheredContext;
|
|
2058
|
-
}
|
|
2059
|
-
|
|
2060
|
-
interface ReferenceWizardModalProps {
|
|
2061
|
-
isOpen: boolean;
|
|
2062
|
-
onClose: () => void;
|
|
2063
|
-
/** The annotation being resolved */
|
|
2064
|
-
annotationId: string | null;
|
|
2065
|
-
/** The resource containing the annotation */
|
|
2066
|
-
resourceId: string | null;
|
|
2067
|
-
/** Default title (selected text) */
|
|
2068
|
-
defaultTitle: string;
|
|
2069
|
-
/** Entity types from the annotation */
|
|
2070
|
-
entityTypes: string[];
|
|
2071
|
-
/** Current locale for generation defaults */
|
|
2072
|
-
locale: string;
|
|
2073
|
-
/** Gathered context state */
|
|
2074
|
-
context: GatheredContext | null;
|
|
2075
|
-
contextLoading: boolean;
|
|
2076
|
-
contextError: Error | null;
|
|
2077
|
-
/** Callbacks */
|
|
2078
|
-
onGenerateSubmit: (referenceId: string, config: GenerationConfig) => void;
|
|
2079
|
-
onLinkResource: (referenceId: string, targetResourceId: string) => void;
|
|
2080
|
-
onComposeNavigate: (context: GatheredContext, annotationId: string, resourceId: string, title: string, entityTypes: string[]) => void;
|
|
2081
|
-
/** Translation strings */
|
|
2082
|
-
translations: {
|
|
2083
|
-
gatherTitle: string;
|
|
2084
|
-
configureGenerationTitle: string;
|
|
2085
|
-
configureSearchTitle: string;
|
|
2086
|
-
searchResultsTitle: string;
|
|
2087
|
-
sourceContextLabel: string;
|
|
2088
|
-
connectionsLabel: string;
|
|
2089
|
-
citedByLabel: string;
|
|
2090
|
-
userHintLabel: string;
|
|
2091
|
-
userHintPlaceholder: string;
|
|
2092
|
-
loadingContext: string;
|
|
2093
|
-
failedContext: string;
|
|
2094
|
-
cancel: string;
|
|
2095
|
-
search: string;
|
|
2096
|
-
searching: string;
|
|
2097
|
-
generate: string;
|
|
2098
|
-
compose: string;
|
|
2099
|
-
resolutionStrategyLabel: string;
|
|
2100
|
-
back: string;
|
|
2101
|
-
link: string;
|
|
2102
|
-
score: string;
|
|
2103
|
-
noResults: string;
|
|
2104
|
-
resourceTitle: string;
|
|
2105
|
-
resourceTitlePlaceholder: string;
|
|
2106
|
-
additionalInstructions: string;
|
|
2107
|
-
additionalInstructionsPlaceholder: string;
|
|
2108
|
-
language: string;
|
|
2109
|
-
languageHelp: string;
|
|
2110
|
-
creativity: string;
|
|
2111
|
-
creativityFocused: string;
|
|
2112
|
-
creativityCreative: string;
|
|
2113
|
-
maxLength: string;
|
|
2114
|
-
maxLengthHelp: string;
|
|
2115
|
-
maxResults: string;
|
|
2116
|
-
semanticScoring: string;
|
|
2117
|
-
semanticScoringHelp: string;
|
|
2118
|
-
};
|
|
2119
|
-
}
|
|
2120
|
-
declare function ReferenceWizardModal({ isOpen, onClose, annotationId, resourceId, defaultTitle, entityTypes, locale, context, contextLoading, contextError, onGenerateSubmit, onLinkResource, onComposeNavigate, translations: t, }: ReferenceWizardModalProps): react_jsx_runtime.JSX.Element;
|
|
2121
|
-
|
|
2122
|
-
interface SearchModalProps$1 {
|
|
2123
|
-
isOpen: boolean;
|
|
2124
|
-
onClose: () => void;
|
|
2125
|
-
onNavigate: (type: 'resource' | 'entity', id: string) => void;
|
|
2126
|
-
translations?: {
|
|
2127
|
-
placeholder?: string;
|
|
2128
|
-
searching?: string;
|
|
2129
|
-
noResults?: string;
|
|
2130
|
-
startTyping?: string;
|
|
2131
|
-
navigate?: string;
|
|
2132
|
-
select?: string;
|
|
2133
|
-
close?: string;
|
|
2134
|
-
enter?: string;
|
|
2135
|
-
esc?: string;
|
|
2136
|
-
};
|
|
2137
|
-
}
|
|
2138
|
-
declare function SearchModal({ isOpen, onClose, onNavigate, translations }: SearchModalProps$1): react_jsx_runtime.JSX.Element;
|
|
2139
|
-
|
|
2140
|
-
interface ResourceSearchModalProps$1 {
|
|
2141
|
-
isOpen: boolean;
|
|
2142
|
-
onClose: () => void;
|
|
2143
|
-
onSelect: (resourceId: string) => void;
|
|
2144
|
-
searchTerm?: string;
|
|
2145
|
-
translations?: {
|
|
2146
|
-
title?: string;
|
|
2147
|
-
placeholder?: string;
|
|
2148
|
-
searching?: string;
|
|
2149
|
-
noResults?: string;
|
|
2150
|
-
close?: string;
|
|
2151
|
-
};
|
|
2152
|
-
}
|
|
2153
|
-
declare function ResourceSearchModal({ isOpen, onClose, onSelect, searchTerm, translations }: ResourceSearchModalProps$1): react_jsx_runtime.JSX.Element;
|
|
2154
|
-
|
|
2155
|
-
/**
|
|
2156
|
-
* Base modal props that all modals share
|
|
2157
|
-
*/
|
|
2158
|
-
interface BaseModalProps {
|
|
2159
|
-
/** Whether the modal is open */
|
|
2160
|
-
isOpen: boolean;
|
|
2161
|
-
/** Callback when the modal should close */
|
|
2162
|
-
onClose: () => void;
|
|
2163
|
-
/** Optional CSS class name */
|
|
2164
|
-
className?: string;
|
|
2165
|
-
}
|
|
2166
|
-
/**
|
|
2167
|
-
* Props for modals that navigate
|
|
2168
|
-
*/
|
|
2169
|
-
interface NavigableModalProps {
|
|
2170
|
-
/** Navigation function */
|
|
2171
|
-
onNavigate: (path: string) => void;
|
|
2172
|
-
}
|
|
2173
|
-
/**
|
|
2174
|
-
* Search modal specific props
|
|
2175
|
-
*/
|
|
2176
|
-
interface SearchModalProps extends BaseModalProps, NavigableModalProps {
|
|
2177
|
-
/** Optional translation support */
|
|
2178
|
-
translations?: {
|
|
2179
|
-
placeholder?: string;
|
|
2180
|
-
searching?: string;
|
|
2181
|
-
noResults?: string;
|
|
2182
|
-
startTyping?: string;
|
|
2183
|
-
navigate?: string;
|
|
2184
|
-
select?: string;
|
|
2185
|
-
close?: string;
|
|
2186
|
-
};
|
|
2187
|
-
}
|
|
2188
|
-
/**
|
|
2189
|
-
* Resource search modal props
|
|
2190
|
-
*/
|
|
2191
|
-
interface ResourceSearchModalProps extends BaseModalProps {
|
|
2192
|
-
/** Callback when a resource is selected */
|
|
2193
|
-
onSelect: (resourceId: string) => void;
|
|
2194
|
-
/** Initial search term */
|
|
2195
|
-
searchTerm?: string;
|
|
2196
|
-
/** Optional translation support */
|
|
2197
|
-
translations?: {
|
|
2198
|
-
title?: string;
|
|
2199
|
-
placeholder?: string;
|
|
2200
|
-
searching?: string;
|
|
2201
|
-
noResults?: string;
|
|
2202
|
-
};
|
|
2203
|
-
}
|
|
2204
|
-
|
|
2205
|
-
/**
|
|
2206
|
-
* Skip links for keyboard navigation accessibility
|
|
2207
|
-
* These links are visually hidden but become visible when focused
|
|
2208
|
-
* They allow keyboard users to quickly jump to main content areas
|
|
2209
|
-
*/
|
|
2210
|
-
declare function SkipLinks(): react_jsx_runtime.JSX.Element;
|
|
2211
|
-
|
|
2212
|
-
interface StatusDisplayProps {
|
|
2213
|
-
isFullyAuthenticated?: boolean;
|
|
2214
|
-
isAuthenticated?: boolean;
|
|
2215
|
-
hasValidBackendToken?: boolean;
|
|
2216
|
-
}
|
|
2217
|
-
declare function StatusDisplay({ isFullyAuthenticated, isAuthenticated, hasValidBackendToken }: StatusDisplayProps): react_jsx_runtime.JSX.Element;
|
|
2218
|
-
|
|
2219
|
-
declare function SessionTimer(): react_jsx_runtime.JSX.Element | null;
|
|
2220
|
-
|
|
2221
|
-
declare function SessionExpiryBanner(): react_jsx_runtime.JSX.Element | null;
|
|
2222
|
-
|
|
2223
|
-
declare function UserMenuSkeleton(): react_jsx_runtime.JSX.Element;
|
|
2224
|
-
|
|
2225
|
-
type TranslateFn$1 = (key: string) => string;
|
|
2226
|
-
interface SemiontBrandingProps {
|
|
2227
|
-
t: TranslateFn$1;
|
|
2228
|
-
className?: string;
|
|
2229
|
-
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
2230
|
-
showTagline?: boolean;
|
|
2231
|
-
animated?: boolean;
|
|
2232
|
-
compactTagline?: boolean;
|
|
2233
|
-
}
|
|
2234
|
-
declare function SemiontBranding({ t, className, size, showTagline, animated, compactTagline }: SemiontBrandingProps): react_jsx_runtime.JSX.Element;
|
|
2235
|
-
|
|
2236
|
-
/**
|
|
2237
|
-
* Translation function type for framework-agnostic components
|
|
2238
|
-
*/
|
|
2239
|
-
type TranslateFn = (key: string, params?: Record<string, any>) => string;
|
|
2240
|
-
|
|
2241
|
-
interface UnifiedHeaderProps {
|
|
2242
|
-
Link: React__default.ComponentType<LinkComponentProps>;
|
|
2243
|
-
routes: RouteBuilder;
|
|
2244
|
-
t: TranslateFn;
|
|
2245
|
-
tHome: TranslateFn;
|
|
2246
|
-
showBranding?: boolean;
|
|
2247
|
-
showAuthLinks?: boolean;
|
|
2248
|
-
brandingLink?: string;
|
|
2249
|
-
variant?: 'standalone' | 'embedded' | 'floating';
|
|
2250
|
-
isAuthenticated?: boolean;
|
|
2251
|
-
isAdmin?: boolean;
|
|
2252
|
-
isModerator?: boolean;
|
|
2253
|
-
currentPath?: string;
|
|
2254
|
-
}
|
|
2255
|
-
declare function UnifiedHeader({ Link, routes, t, tHome, showBranding, brandingLink, variant, isAuthenticated, isAdmin, isModerator, currentPath }: UnifiedHeaderProps): react_jsx_runtime.JSX.Element;
|
|
2256
|
-
|
|
2257
|
-
interface NavigationMenuHelper {
|
|
2258
|
-
(onClose: () => void): React__default.ReactNode;
|
|
2259
|
-
}
|
|
2260
|
-
interface LeftSidebarProps {
|
|
2261
|
-
Link: React__default.ComponentType<LinkComponentProps>;
|
|
2262
|
-
routes: RouteBuilder;
|
|
2263
|
-
t: TranslateFn;
|
|
2264
|
-
tHome: TranslateFn;
|
|
2265
|
-
children: React__default.ReactNode | ((isCollapsed: boolean, toggleCollapsed: () => void, navigationMenu: NavigationMenuHelper) => React__default.ReactNode);
|
|
2266
|
-
brandingLink?: string;
|
|
2267
|
-
collapsible?: boolean;
|
|
2268
|
-
storageKey?: string;
|
|
2269
|
-
isAuthenticated?: boolean;
|
|
2270
|
-
isAdmin?: boolean;
|
|
2271
|
-
isModerator?: boolean;
|
|
2272
|
-
currentPath?: string;
|
|
2273
|
-
}
|
|
2274
|
-
declare function LeftSidebar({ Link, routes, t, tHome, children, brandingLink, collapsible, storageKey, isAdmin, isModerator, currentPath }: LeftSidebarProps): react_jsx_runtime.JSX.Element;
|
|
2275
|
-
|
|
2276
|
-
interface PageLayoutProps {
|
|
2277
|
-
Link: React__default.ComponentType<LinkComponentProps>;
|
|
2278
|
-
routes: RouteBuilder;
|
|
2279
|
-
t: TranslateFn;
|
|
2280
|
-
tNav: TranslateFn;
|
|
2281
|
-
tHome: TranslateFn;
|
|
2282
|
-
children: React__default.ReactNode;
|
|
2283
|
-
className?: string;
|
|
2284
|
-
showAuthLinks?: boolean;
|
|
2285
|
-
CookiePreferences?: React__default.ComponentType<{
|
|
2286
|
-
isOpen: boolean;
|
|
2287
|
-
onClose: () => void;
|
|
2288
|
-
}>;
|
|
2289
|
-
onOpenKeyboardHelp?: () => void;
|
|
2290
|
-
}
|
|
2291
|
-
declare function PageLayout({ Link, routes, t, tNav, tHome, children, className, showAuthLinks, CookiePreferences, onOpenKeyboardHelp }: PageLayoutProps): react_jsx_runtime.JSX.Element;
|
|
2292
|
-
|
|
2293
|
-
interface SemiontFaviconProps {
|
|
2294
|
-
size?: number;
|
|
2295
|
-
className?: string;
|
|
2296
|
-
variant?: 'gradient' | 'solid' | 'outline';
|
|
2297
|
-
background?: boolean;
|
|
2298
|
-
}
|
|
2299
|
-
declare function SemiontFavicon({ size, className, variant, background }: SemiontFaviconProps): react_jsx_runtime.JSX.Element;
|
|
2300
|
-
|
|
2301
|
-
declare const faviconPaths: {
|
|
2302
|
-
readonly ico: "/favicons/favicon.ico";
|
|
2303
|
-
readonly svg: "/favicons/favicon.svg";
|
|
2304
|
-
readonly appleTouchIcon: "/favicons/apple-touch-icon.png";
|
|
2305
|
-
readonly favicon32: "/favicons/favicon-32x32.png";
|
|
2306
|
-
readonly favicon16: "/favicons/favicon-16x16.png";
|
|
2307
|
-
readonly androidChrome192: "/favicons/android-chrome-192x192.png";
|
|
2308
|
-
readonly androidChrome512: "/favicons/android-chrome-512x512.png";
|
|
2309
|
-
readonly manifest: "/favicons/site.webmanifest";
|
|
2310
|
-
};
|
|
2311
|
-
|
|
2312
|
-
interface ButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
2313
|
-
/**
|
|
2314
|
-
* Ref forwarded to the underlying button element
|
|
2315
|
-
*/
|
|
2316
|
-
ref?: React__default.Ref<HTMLButtonElement>;
|
|
2317
|
-
/**
|
|
2318
|
-
* The visual variant of the button
|
|
2319
|
-
*/
|
|
2320
|
-
variant?: 'primary' | 'secondary' | 'tertiary' | 'danger' | 'warning' | 'ghost';
|
|
2321
|
-
/**
|
|
2322
|
-
* The size of the button
|
|
2323
|
-
*/
|
|
2324
|
-
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
2325
|
-
/**
|
|
2326
|
-
* Whether the button should take full width of its container
|
|
2327
|
-
*/
|
|
2328
|
-
fullWidth?: boolean;
|
|
2329
|
-
/**
|
|
2330
|
-
* Whether the button is in a loading state
|
|
2331
|
-
*/
|
|
2332
|
-
loading?: boolean;
|
|
2333
|
-
/**
|
|
2334
|
-
* Icon to display before the button text
|
|
2335
|
-
*/
|
|
2336
|
-
leftIcon?: React__default.ReactNode;
|
|
2337
|
-
/**
|
|
2338
|
-
* Icon to display after the button text
|
|
2339
|
-
*/
|
|
2340
|
-
rightIcon?: React__default.ReactNode;
|
|
2341
|
-
/**
|
|
2342
|
-
* Whether the button should only show an icon (no text padding)
|
|
2343
|
-
*/
|
|
2344
|
-
iconOnly?: boolean;
|
|
2345
|
-
/**
|
|
2346
|
-
* Whether to show the button in an active/pressed state
|
|
2347
|
-
*/
|
|
2348
|
-
active?: boolean;
|
|
2349
|
-
}
|
|
2350
|
-
declare function Button({ variant, size, fullWidth, loading, leftIcon, rightIcon, iconOnly, active, className, disabled, children, type, ref, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
|
|
2351
|
-
/**
|
|
2352
|
-
* Button Group Component
|
|
2353
|
-
*
|
|
2354
|
-
* Groups multiple buttons together
|
|
2355
|
-
*/
|
|
2356
|
-
interface ButtonGroupProps {
|
|
2357
|
-
children: React__default.ReactNode;
|
|
2358
|
-
/**
|
|
2359
|
-
* How to arrange the buttons
|
|
2360
|
-
*/
|
|
2361
|
-
orientation?: 'horizontal' | 'vertical';
|
|
2362
|
-
/**
|
|
2363
|
-
* Whether buttons should be connected (no gap between them)
|
|
2364
|
-
*/
|
|
2365
|
-
attached?: boolean;
|
|
2366
|
-
/**
|
|
2367
|
-
* Size of the gap between buttons (when not attached)
|
|
2368
|
-
*/
|
|
2369
|
-
spacing?: 'xs' | 'sm' | 'md' | 'lg';
|
|
2370
|
-
className?: string;
|
|
2371
|
-
}
|
|
2372
|
-
declare const ButtonGroup: React__default.FC<ButtonGroupProps>;
|
|
2373
|
-
|
|
2374
|
-
/**
|
|
2375
|
-
* Semiont Design Tokens
|
|
2376
|
-
*
|
|
2377
|
-
* Core design tokens for the Semiont design system.
|
|
2378
|
-
* These tokens provide the foundation for all component styling
|
|
2379
|
-
* and can be consumed via JavaScript or CSS variables.
|
|
2380
|
-
*/
|
|
2381
|
-
declare const tokens: {
|
|
2382
|
-
colors: {
|
|
2383
|
-
primary: {
|
|
2384
|
-
50: string;
|
|
2385
|
-
100: string;
|
|
2386
|
-
200: string;
|
|
2387
|
-
300: string;
|
|
2388
|
-
400: string;
|
|
2389
|
-
500: string;
|
|
2390
|
-
600: string;
|
|
2391
|
-
700: string;
|
|
2392
|
-
800: string;
|
|
2393
|
-
900: string;
|
|
2394
|
-
};
|
|
2395
|
-
secondary: {
|
|
2396
|
-
50: string;
|
|
2397
|
-
100: string;
|
|
2398
|
-
200: string;
|
|
2399
|
-
300: string;
|
|
2400
|
-
400: string;
|
|
2401
|
-
500: string;
|
|
2402
|
-
600: string;
|
|
2403
|
-
700: string;
|
|
2404
|
-
800: string;
|
|
2405
|
-
900: string;
|
|
2406
|
-
};
|
|
2407
|
-
semantic: {
|
|
2408
|
-
error: string;
|
|
2409
|
-
errorLight: string;
|
|
2410
|
-
errorDark: string;
|
|
2411
|
-
warning: string;
|
|
2412
|
-
warningLight: string;
|
|
2413
|
-
warningDark: string;
|
|
2414
|
-
success: string;
|
|
2415
|
-
successLight: string;
|
|
2416
|
-
successDark: string;
|
|
2417
|
-
info: string;
|
|
2418
|
-
infoLight: string;
|
|
2419
|
-
infoDark: string;
|
|
2420
|
-
};
|
|
2421
|
-
neutral: {
|
|
2422
|
-
0: string;
|
|
2423
|
-
50: string;
|
|
2424
|
-
100: string;
|
|
2425
|
-
200: string;
|
|
2426
|
-
300: string;
|
|
2427
|
-
400: string;
|
|
2428
|
-
500: string;
|
|
2429
|
-
600: string;
|
|
2430
|
-
700: string;
|
|
2431
|
-
800: string;
|
|
2432
|
-
900: string;
|
|
2433
|
-
950: string;
|
|
2434
|
-
1000: string;
|
|
2435
|
-
};
|
|
2436
|
-
background: {
|
|
2437
|
-
primary: string;
|
|
2438
|
-
secondary: string;
|
|
2439
|
-
tertiary: string;
|
|
2440
|
-
inverse: string;
|
|
2441
|
-
};
|
|
2442
|
-
text: {
|
|
2443
|
-
primary: string;
|
|
2444
|
-
secondary: string;
|
|
2445
|
-
tertiary: string;
|
|
2446
|
-
disabled: string;
|
|
2447
|
-
inverse: string;
|
|
2448
|
-
};
|
|
2449
|
-
};
|
|
2450
|
-
spacing: {
|
|
2451
|
-
0: string;
|
|
2452
|
-
xs: string;
|
|
2453
|
-
sm: string;
|
|
2454
|
-
md: string;
|
|
2455
|
-
lg: string;
|
|
2456
|
-
xl: string;
|
|
2457
|
-
'2xl': string;
|
|
2458
|
-
'3xl': string;
|
|
2459
|
-
'4xl': string;
|
|
2460
|
-
'5xl': string;
|
|
2461
|
-
};
|
|
2462
|
-
typography: {
|
|
2463
|
-
fontFamily: {
|
|
2464
|
-
sans: string;
|
|
2465
|
-
mono: string;
|
|
2466
|
-
};
|
|
2467
|
-
fontSize: {
|
|
2468
|
-
xs: string;
|
|
2469
|
-
sm: string;
|
|
2470
|
-
base: string;
|
|
2471
|
-
lg: string;
|
|
2472
|
-
xl: string;
|
|
2473
|
-
'2xl': string;
|
|
2474
|
-
'3xl': string;
|
|
2475
|
-
'4xl': string;
|
|
2476
|
-
'5xl': string;
|
|
2477
|
-
};
|
|
2478
|
-
fontWeight: {
|
|
2479
|
-
thin: number;
|
|
2480
|
-
light: number;
|
|
2481
|
-
normal: number;
|
|
2482
|
-
medium: number;
|
|
2483
|
-
semibold: number;
|
|
2484
|
-
bold: number;
|
|
2485
|
-
black: number;
|
|
2486
|
-
};
|
|
2487
|
-
lineHeight: {
|
|
2488
|
-
none: number;
|
|
2489
|
-
tight: number;
|
|
2490
|
-
snug: number;
|
|
2491
|
-
normal: number;
|
|
2492
|
-
relaxed: number;
|
|
2493
|
-
loose: number;
|
|
2494
|
-
};
|
|
2495
|
-
};
|
|
2496
|
-
borderRadius: {
|
|
2497
|
-
none: string;
|
|
2498
|
-
sm: string;
|
|
2499
|
-
base: string;
|
|
2500
|
-
md: string;
|
|
2501
|
-
lg: string;
|
|
2502
|
-
xl: string;
|
|
2503
|
-
'2xl': string;
|
|
2504
|
-
'3xl': string;
|
|
2505
|
-
full: string;
|
|
2506
|
-
};
|
|
2507
|
-
shadows: {
|
|
2508
|
-
none: string;
|
|
2509
|
-
xs: string;
|
|
2510
|
-
sm: string;
|
|
2511
|
-
base: string;
|
|
2512
|
-
md: string;
|
|
2513
|
-
lg: string;
|
|
2514
|
-
xl: string;
|
|
2515
|
-
inner: string;
|
|
2516
|
-
};
|
|
2517
|
-
transitions: {
|
|
2518
|
-
duration: {
|
|
2519
|
-
fast: string;
|
|
2520
|
-
base: string;
|
|
2521
|
-
slow: string;
|
|
2522
|
-
slower: string;
|
|
2523
|
-
};
|
|
2524
|
-
timing: {
|
|
2525
|
-
linear: string;
|
|
2526
|
-
ease: string;
|
|
2527
|
-
easeIn: string;
|
|
2528
|
-
easeOut: string;
|
|
2529
|
-
easeInOut: string;
|
|
2530
|
-
};
|
|
2531
|
-
};
|
|
2532
|
-
breakpoints: {
|
|
2533
|
-
sm: string;
|
|
2534
|
-
md: string;
|
|
2535
|
-
lg: string;
|
|
2536
|
-
xl: string;
|
|
2537
|
-
'2xl': string;
|
|
2538
|
-
};
|
|
2539
|
-
};
|
|
2540
|
-
/**
|
|
2541
|
-
* Generate CSS custom properties from design tokens
|
|
2542
|
-
*/
|
|
2543
|
-
declare function generateCSSVariables(): string;
|
|
2544
|
-
declare const cssVariables: string;
|
|
2545
|
-
type ColorToken = keyof typeof tokens.colors;
|
|
2546
|
-
type SpacingToken = keyof typeof tokens.spacing;
|
|
2547
|
-
type TypographyToken = keyof typeof tokens.typography;
|
|
2548
|
-
type BorderRadiusToken = keyof typeof tokens.borderRadius;
|
|
2549
|
-
type ShadowToken = keyof typeof tokens.shadows;
|
|
2550
|
-
type TransitionToken = keyof typeof tokens.transitions;
|
|
2551
|
-
|
|
2552
|
-
/**
|
|
2553
|
-
* ComposeLoadingState Component
|
|
2554
|
-
*
|
|
2555
|
-
* Simple loading state display for the compose page.
|
|
2556
|
-
*/
|
|
2557
|
-
interface ComposeLoadingStateProps {
|
|
2558
|
-
message: string;
|
|
2559
|
-
}
|
|
2560
|
-
declare function ComposeLoadingState({ message }: ComposeLoadingStateProps): react_jsx_runtime.JSX.Element;
|
|
2561
|
-
|
|
2562
|
-
/**
|
|
2563
|
-
* ResourceLoadingState - Loading state component for resource viewer
|
|
2564
|
-
*
|
|
2565
|
-
* Pure React component - no Next.js dependencies.
|
|
2566
|
-
*/
|
|
2567
|
-
declare function ResourceLoadingState(): react_jsx_runtime.JSX.Element;
|
|
2568
|
-
|
|
2569
|
-
/**
|
|
2570
|
-
* ResourceErrorState - Error state component for resource viewer
|
|
2571
|
-
*
|
|
2572
|
-
* Pure React component - no Next.js dependencies.
|
|
2573
|
-
*/
|
|
2574
|
-
interface ResourceErrorStateProps {
|
|
2575
|
-
error: unknown;
|
|
2576
|
-
onRetry: () => void;
|
|
2577
|
-
}
|
|
2578
|
-
declare function ResourceErrorState({ error, onRetry }: ResourceErrorStateProps): react_jsx_runtime.JSX.Element;
|
|
2579
|
-
|
|
2580
|
-
interface DevOpsFeature {
|
|
2581
|
-
title: string;
|
|
2582
|
-
description: string;
|
|
2583
|
-
icon: React__default.ComponentType<any>;
|
|
2584
|
-
available: string;
|
|
2585
|
-
}
|
|
2586
|
-
interface AdminDevOpsPageProps {
|
|
2587
|
-
suggestedFeatures: DevOpsFeature[];
|
|
2588
|
-
theme: 'light' | 'dark' | 'system';
|
|
2589
|
-
showLineNumbers: boolean;
|
|
2590
|
-
activePanel: string | null;
|
|
2591
|
-
translations: {
|
|
2592
|
-
title: string;
|
|
2593
|
-
subtitle: string;
|
|
2594
|
-
systemStatus: string;
|
|
2595
|
-
cliOperations: string;
|
|
2596
|
-
cliOperationsDescription: string;
|
|
2597
|
-
cliTitle: string;
|
|
2598
|
-
cliDescription: string;
|
|
2599
|
-
};
|
|
2600
|
-
StatusDisplay: React__default.ComponentType<any>;
|
|
2601
|
-
ToolbarPanels: React__default.ComponentType<any>;
|
|
2602
|
-
Toolbar: React__default.ComponentType<any>;
|
|
2603
|
-
}
|
|
2604
|
-
declare function AdminDevOpsPage({ suggestedFeatures, theme, showLineNumbers, activePanel, translations: t, StatusDisplay, ToolbarPanels, Toolbar, }: AdminDevOpsPageProps): react_jsx_runtime.JSX.Element;
|
|
2605
|
-
|
|
2606
|
-
/**
|
|
2607
|
-
* ExportCard — Backup trigger
|
|
2608
|
-
*
|
|
2609
|
-
* Pure React component. All state and handlers passed as props.
|
|
2610
|
-
*/
|
|
2611
|
-
interface ExportCardTranslations {
|
|
2612
|
-
title: string;
|
|
2613
|
-
description: string;
|
|
2614
|
-
exportButton: string;
|
|
2615
|
-
exporting: string;
|
|
2616
|
-
}
|
|
2617
|
-
interface ExportCardProps {
|
|
2618
|
-
onExport: () => void;
|
|
2619
|
-
isExporting: boolean;
|
|
2620
|
-
translations: ExportCardTranslations;
|
|
2621
|
-
}
|
|
2622
|
-
declare function ExportCard({ onExport, isExporting, translations: t }: ExportCardProps): react_jsx_runtime.JSX.Element;
|
|
2623
|
-
|
|
2624
|
-
/**
|
|
2625
|
-
* ShellStateUnit — app-shell state: which toolbar panel is open, tab-bar
|
|
2626
|
-
* coordination helpers, scroll-to-annotation signals. Lives on
|
|
2627
|
-
* `SemiontBrowser`'s app-scoped bus (not the per-session client bus)
|
|
2628
|
-
* because panel toggles and shell chrome must work regardless of
|
|
2629
|
-
* whether a KB session is active.
|
|
2630
|
-
*
|
|
2631
|
-
* Channels: `panel:toggle`, `panel:open`, `panel:close`.
|
|
2632
|
-
*/
|
|
2633
|
-
|
|
2634
|
-
type ToolbarPanelType = 'history' | 'info' | 'annotations' | 'settings' | 'collaboration' | 'user' | 'jsonld' | 'knowledge-base';
|
|
2635
|
-
declare const COMMON_PANELS: readonly ToolbarPanelType[];
|
|
2636
|
-
declare const RESOURCE_PANELS: readonly ToolbarPanelType[];
|
|
2637
|
-
interface ShellStateUnit extends StateUnit {
|
|
2638
|
-
activePanel$: Observable<ToolbarPanelType | null>;
|
|
2639
|
-
scrollToAnnotationId$: Observable<string | null>;
|
|
2640
|
-
panelInitialTab$: Observable<{
|
|
2641
|
-
tab: string;
|
|
2642
|
-
generation: number;
|
|
2643
|
-
} | null>;
|
|
2644
|
-
openPanel(panel: string): void;
|
|
2645
|
-
closePanel(): void;
|
|
2646
|
-
togglePanel(panel: string): void;
|
|
2647
|
-
onScrollCompleted(): void;
|
|
2648
|
-
}
|
|
2649
|
-
interface ShellStateUnitOptions {
|
|
2650
|
-
initialPanel?: ToolbarPanelType | null;
|
|
2651
|
-
onPanelChange?: (panel: ToolbarPanelType | null) => void;
|
|
2652
|
-
}
|
|
2653
|
-
declare function createShellStateUnit(browser: SemiontBrowser, options?: ShellStateUnitOptions): ShellStateUnit;
|
|
2654
|
-
|
|
2655
|
-
interface ImportPreview {
|
|
2656
|
-
format: string;
|
|
2657
|
-
version: number;
|
|
2658
|
-
sourceUrl: string;
|
|
2659
|
-
stats: Record<string, number>;
|
|
2660
|
-
}
|
|
2661
|
-
interface ExchangeStateUnit extends StateUnit {
|
|
2662
|
-
browse: ShellStateUnit;
|
|
2663
|
-
selectedFile$: Observable<File | null>;
|
|
2664
|
-
preview$: Observable<ImportPreview | null>;
|
|
2665
|
-
importPhase$: Observable<string | null>;
|
|
2666
|
-
importMessage$: Observable<string | undefined>;
|
|
2667
|
-
importResult$: Observable<Record<string, unknown> | undefined>;
|
|
2668
|
-
isExporting$: Observable<boolean>;
|
|
2669
|
-
isImporting$: Observable<boolean>;
|
|
2670
|
-
selectFile(file: File): void;
|
|
2671
|
-
cancelImport(): void;
|
|
2672
|
-
doExport(): Promise<{
|
|
2673
|
-
blob: Blob;
|
|
2674
|
-
filename: string;
|
|
2675
|
-
}>;
|
|
2676
|
-
doImport(): Promise<void>;
|
|
2677
|
-
}
|
|
2678
|
-
declare function createExchangeStateUnit(browse: ShellStateUnit, exportFn: (params?: {
|
|
2679
|
-
includeArchived?: boolean;
|
|
2680
|
-
}) => Promise<BackendDownload>, importFn: (file: File) => Observable<ProgressEvent>): ExchangeStateUnit;
|
|
2681
|
-
|
|
2682
|
-
interface ImportCardTranslations {
|
|
2683
|
-
title: string;
|
|
2684
|
-
description: string;
|
|
2685
|
-
dropzoneLabel: string;
|
|
2686
|
-
dropzoneActive: string;
|
|
2687
|
-
detectedFormat: string;
|
|
2688
|
-
statsPreview: string;
|
|
2689
|
-
importButton: string;
|
|
2690
|
-
importing: string;
|
|
2691
|
-
importConfirmTitle: string;
|
|
2692
|
-
importConfirmMessage: string;
|
|
2693
|
-
confirmImport: string;
|
|
2694
|
-
cancelImport: string;
|
|
2695
|
-
}
|
|
2696
|
-
interface ImportCardProps {
|
|
2697
|
-
onFileSelected: (file: File) => void;
|
|
2698
|
-
onImport: () => void;
|
|
2699
|
-
onCancel: () => void;
|
|
2700
|
-
selectedFile: File | null;
|
|
2701
|
-
preview: ImportPreview | null;
|
|
2702
|
-
isImporting: boolean;
|
|
2703
|
-
translations: ImportCardTranslations;
|
|
2704
|
-
}
|
|
2705
|
-
declare function ImportCard({ onFileSelected, onImport, onCancel, selectedFile, preview, isImporting, translations: t, }: ImportCardProps): react_jsx_runtime.JSX.Element;
|
|
2706
|
-
|
|
2707
|
-
/**
|
|
2708
|
-
* ImportProgress — Shows SSE-driven progress during restore
|
|
2709
|
-
*
|
|
2710
|
-
* Pure React component. All state passed as props.
|
|
2711
|
-
*/
|
|
2712
|
-
interface ImportProgressTranslations {
|
|
2713
|
-
phaseStarted: string;
|
|
2714
|
-
phaseEntityTypes: string;
|
|
2715
|
-
phaseResources: string;
|
|
2716
|
-
phaseAnnotations: string;
|
|
2717
|
-
phaseComplete: string;
|
|
2718
|
-
phaseError: string;
|
|
2719
|
-
hashChainValid: string;
|
|
2720
|
-
hashChainInvalid: string;
|
|
2721
|
-
streams: string;
|
|
2722
|
-
events: string;
|
|
2723
|
-
blobs: string;
|
|
2724
|
-
}
|
|
2725
|
-
interface ImportProgressProps {
|
|
2726
|
-
phase: string;
|
|
2727
|
-
message?: string;
|
|
2728
|
-
result?: Record<string, unknown>;
|
|
2729
|
-
translations: ImportProgressTranslations;
|
|
2730
|
-
}
|
|
2731
|
-
declare function ImportProgress({ phase, message, result, translations: t }: ImportProgressProps): react_jsx_runtime.JSX.Element;
|
|
2732
|
-
|
|
2733
|
-
interface AdminExchangePageTranslations {
|
|
2734
|
-
title: string;
|
|
2735
|
-
subtitle: string;
|
|
2736
|
-
export: ExportCardTranslations;
|
|
2737
|
-
import: ImportCardTranslations;
|
|
2738
|
-
progress: ImportProgressTranslations;
|
|
2739
|
-
}
|
|
2740
|
-
interface AdminExchangePageProps {
|
|
2741
|
-
onExport: () => void;
|
|
2742
|
-
isExporting: boolean;
|
|
2743
|
-
onFileSelected: (file: File) => void;
|
|
2744
|
-
onImport: () => void;
|
|
2745
|
-
onCancelImport: () => void;
|
|
2746
|
-
selectedFile: File | null;
|
|
2747
|
-
preview: ImportCardProps['preview'];
|
|
2748
|
-
isImporting: boolean;
|
|
2749
|
-
importPhase: string | null;
|
|
2750
|
-
importMessage?: string | undefined;
|
|
2751
|
-
importResult?: Record<string, unknown> | undefined;
|
|
2752
|
-
theme: 'light' | 'dark' | 'system';
|
|
2753
|
-
showLineNumbers: boolean;
|
|
2754
|
-
activePanel: string | null;
|
|
2755
|
-
translations: AdminExchangePageTranslations;
|
|
2756
|
-
ToolbarPanels: React__default.ComponentType<any>;
|
|
2757
|
-
Toolbar: React__default.ComponentType<any>;
|
|
2758
|
-
}
|
|
2759
|
-
declare function AdminExchangePage({ onExport, isExporting, onFileSelected, onImport, onCancelImport, selectedFile, preview, isImporting, importPhase, importMessage, importResult, theme, showLineNumbers, activePanel, translations: t, ToolbarPanels, Toolbar, }: AdminExchangePageProps): react_jsx_runtime.JSX.Element;
|
|
2760
|
-
|
|
2761
|
-
interface OAuthProvider {
|
|
2762
|
-
name: string;
|
|
2763
|
-
clientId?: string;
|
|
2764
|
-
}
|
|
2765
|
-
interface AdminSecurityPageProps {
|
|
2766
|
-
providers: OAuthProvider[];
|
|
2767
|
-
allowedDomains: string[];
|
|
2768
|
-
isLoading: boolean;
|
|
2769
|
-
theme: 'light' | 'dark' | 'system';
|
|
2770
|
-
showLineNumbers: boolean;
|
|
2771
|
-
activePanel: string | null;
|
|
2772
|
-
translations: {
|
|
2773
|
-
title: string;
|
|
2774
|
-
subtitle: string;
|
|
2775
|
-
oauthProviders: string;
|
|
2776
|
-
oauthProvidersDescription: string;
|
|
2777
|
-
clientId: string;
|
|
2778
|
-
configured: string;
|
|
2779
|
-
noProvidersConfigured: string;
|
|
2780
|
-
allowedDomains: string;
|
|
2781
|
-
allowedDomainsDescription: string;
|
|
2782
|
-
noDomainsConfigured: string;
|
|
2783
|
-
configManagementTitle: string;
|
|
2784
|
-
configManagementDescription: string;
|
|
2785
|
-
configLocalDev: string;
|
|
2786
|
-
configCloudDeploy: string;
|
|
2787
|
-
configCloudDeployCommand: string;
|
|
2788
|
-
configCloudDeployEnd: string;
|
|
2789
|
-
configAWS: string;
|
|
2790
|
-
};
|
|
2791
|
-
ToolbarPanels: React__default.ComponentType<any>;
|
|
2792
|
-
Toolbar: React__default.ComponentType<any>;
|
|
2793
|
-
}
|
|
2794
|
-
declare function AdminSecurityPage({ providers, allowedDomains, isLoading, theme, showLineNumbers, activePanel, translations: t, ToolbarPanels, Toolbar, }: AdminSecurityPageProps): react_jsx_runtime.JSX.Element;
|
|
2795
|
-
|
|
2796
|
-
interface LinkedDataPageTranslations {
|
|
2797
|
-
title: string;
|
|
2798
|
-
subtitle: string;
|
|
2799
|
-
export: ExportCardTranslations;
|
|
2800
|
-
import: ImportCardTranslations;
|
|
2801
|
-
progress: ImportProgressTranslations;
|
|
2802
|
-
}
|
|
2803
|
-
interface LinkedDataPageProps {
|
|
2804
|
-
onExport: () => void;
|
|
2805
|
-
isExporting: boolean;
|
|
2806
|
-
onFileSelected: (file: File) => void;
|
|
2807
|
-
onImport: () => void;
|
|
2808
|
-
onCancelImport: () => void;
|
|
2809
|
-
selectedFile: File | null;
|
|
2810
|
-
preview: ImportCardProps['preview'];
|
|
2811
|
-
isImporting: boolean;
|
|
2812
|
-
importPhase: string | null;
|
|
2813
|
-
importMessage?: string | undefined;
|
|
2814
|
-
importResult?: Record<string, unknown> | undefined;
|
|
2815
|
-
theme: 'light' | 'dark' | 'system';
|
|
2816
|
-
showLineNumbers: boolean;
|
|
2817
|
-
activePanel: string | null;
|
|
2818
|
-
translations: LinkedDataPageTranslations;
|
|
2819
|
-
ToolbarPanels: React__default.ComponentType<any>;
|
|
2820
|
-
Toolbar: React__default.ComponentType<any>;
|
|
2821
|
-
}
|
|
2822
|
-
declare function LinkedDataPage({ onExport, isExporting, onFileSelected, onImport, onCancelImport, selectedFile, preview, isImporting, importPhase, importMessage, importResult, theme, showLineNumbers, activePanel, translations: t, ToolbarPanels, Toolbar, }: LinkedDataPageProps): react_jsx_runtime.JSX.Element;
|
|
2823
|
-
|
|
2824
|
-
interface AdminUser {
|
|
2825
|
-
id: string;
|
|
2826
|
-
email: string;
|
|
2827
|
-
name?: string | null;
|
|
2828
|
-
domain: string;
|
|
2829
|
-
isAdmin: boolean;
|
|
2830
|
-
isActive: boolean;
|
|
2831
|
-
lastLogin?: string | null;
|
|
2832
|
-
created: string;
|
|
2833
|
-
}
|
|
2834
|
-
interface AdminUserStats {
|
|
2835
|
-
totalUsers: number;
|
|
2836
|
-
activeUsers: number;
|
|
2837
|
-
adminUsers: number;
|
|
2838
|
-
recentSignups: string[];
|
|
2839
|
-
}
|
|
2840
|
-
interface AdminUsersPageProps {
|
|
2841
|
-
users: AdminUser[];
|
|
2842
|
-
userStats: AdminUserStats | null;
|
|
2843
|
-
isLoadingUsers: boolean;
|
|
2844
|
-
isLoadingStats: boolean;
|
|
2845
|
-
onUpdateUser: (id: string, data: {
|
|
2846
|
-
isAdmin?: boolean;
|
|
2847
|
-
isActive?: boolean;
|
|
2848
|
-
}) => void;
|
|
2849
|
-
onDeleteUser: (id: string) => void;
|
|
2850
|
-
onAddUser: () => void;
|
|
2851
|
-
onExportUsers: () => void;
|
|
2852
|
-
theme: 'light' | 'dark' | 'system';
|
|
2853
|
-
showLineNumbers: boolean;
|
|
2854
|
-
activePanel: string | null;
|
|
2855
|
-
translations: {
|
|
2856
|
-
title: string;
|
|
2857
|
-
subtitle: string;
|
|
2858
|
-
addUser: string;
|
|
2859
|
-
totalUsers: string;
|
|
2860
|
-
activeUsers: string;
|
|
2861
|
-
administrators: string;
|
|
2862
|
-
recentUsers: string;
|
|
2863
|
-
searchUsers: string;
|
|
2864
|
-
searchPlaceholder: string;
|
|
2865
|
-
role: string;
|
|
2866
|
-
allRoles: string;
|
|
2867
|
-
admin: string;
|
|
2868
|
-
user: string;
|
|
2869
|
-
status: string;
|
|
2870
|
-
allStatus: string;
|
|
2871
|
-
active: string;
|
|
2872
|
-
inactive: string;
|
|
2873
|
-
exportUsers: string;
|
|
2874
|
-
loadingUsers: string;
|
|
2875
|
-
userColumn: string;
|
|
2876
|
-
domainColumn: string;
|
|
2877
|
-
roleColumn: string;
|
|
2878
|
-
statusColumn: string;
|
|
2879
|
-
lastLoginColumn: string;
|
|
2880
|
-
joinedColumn: string;
|
|
2881
|
-
actionsColumn: string;
|
|
2882
|
-
noUsersFound: string;
|
|
2883
|
-
noUsersFoundDescription: string;
|
|
2884
|
-
noName: string;
|
|
2885
|
-
never: string;
|
|
2886
|
-
removeAdmin: string;
|
|
2887
|
-
makeAdmin: string;
|
|
2888
|
-
deactivateUser: string;
|
|
2889
|
-
activateUser: string;
|
|
2890
|
-
deleteUser: string;
|
|
2891
|
-
};
|
|
2892
|
-
ToolbarPanels: React__default.ComponentType<any>;
|
|
2893
|
-
Toolbar: React__default.ComponentType<any>;
|
|
2894
|
-
buttonStyles: {
|
|
2895
|
-
primary: {
|
|
2896
|
-
base: string;
|
|
2897
|
-
};
|
|
2898
|
-
secondary: {
|
|
2899
|
-
base: string;
|
|
2900
|
-
};
|
|
2901
|
-
};
|
|
2902
|
-
}
|
|
2903
|
-
declare function AdminUsersPage({ users, userStats, isLoadingUsers, isLoadingStats, onUpdateUser, onDeleteUser, onAddUser, onExportUsers, theme, showLineNumbers, activePanel, translations: t, ToolbarPanels, Toolbar, buttonStyles, }: AdminUsersPageProps): react_jsx_runtime.JSX.Element;
|
|
2904
|
-
|
|
2905
|
-
interface SignInFormProps {
|
|
2906
|
-
/**
|
|
2907
|
-
* Callback when user clicks Google sign-in.
|
|
2908
|
-
* Receives the backend URL (either the locked one or what the user typed).
|
|
2909
|
-
*/
|
|
2910
|
-
onGoogleSignIn: (backendUrl: string) => Promise<void>;
|
|
2911
|
-
/**
|
|
2912
|
-
* Callback when user submits email/password credentials.
|
|
2913
|
-
* Receives the backend URL along with email and password.
|
|
2914
|
-
*/
|
|
2915
|
-
onCredentialsSignIn?: ((backendUrl: string, email: string, password: string) => Promise<void>) | undefined;
|
|
2916
|
-
/**
|
|
2917
|
-
* Pre-filled backend URL. When provided the field is read-only (re-auth to known workspace).
|
|
2918
|
-
* When omitted the user enters the URL themselves (new connection).
|
|
2919
|
-
*/
|
|
2920
|
-
backendUrl?: string;
|
|
2921
|
-
/**
|
|
2922
|
-
* Error message to display (if any)
|
|
2923
|
-
*/
|
|
2924
|
-
error?: string | null;
|
|
2925
|
-
/**
|
|
2926
|
-
* Whether to show email/password auth form
|
|
2927
|
-
*/
|
|
2928
|
-
showCredentialsAuth?: boolean;
|
|
2929
|
-
/**
|
|
2930
|
-
* Whether the auth providers are still loading
|
|
2931
|
-
*/
|
|
2932
|
-
isLoading?: boolean;
|
|
2933
|
-
/**
|
|
2934
|
-
* Link component for routing - passed from parent
|
|
2935
|
-
*/
|
|
2936
|
-
Link: React__default.ComponentType<any>;
|
|
2937
|
-
/**
|
|
2938
|
-
* Translation strings
|
|
2939
|
-
*/
|
|
2940
|
-
translations: {
|
|
2941
|
-
pageTitle: string;
|
|
2942
|
-
welcomeBack: string;
|
|
2943
|
-
signInPrompt: string;
|
|
2944
|
-
continueWithGoogle: string;
|
|
2945
|
-
backendUrlLabel: string;
|
|
2946
|
-
backendUrlPlaceholder: string;
|
|
2947
|
-
emailLabel: string;
|
|
2948
|
-
emailPlaceholder: string;
|
|
2949
|
-
passwordLabel: string;
|
|
2950
|
-
passwordPlaceholder: string;
|
|
2951
|
-
signInWithCredentials: string;
|
|
2952
|
-
or: string;
|
|
2953
|
-
credentialsAuthEnabled: string;
|
|
2954
|
-
approvedDomainsOnly: string;
|
|
2955
|
-
backToHome: string;
|
|
2956
|
-
learnMore: string;
|
|
2957
|
-
signUpInstead: string;
|
|
2958
|
-
errorBackendUrlRequired: string;
|
|
2959
|
-
errorBackendUrlInvalid: string;
|
|
2960
|
-
errorBackendUrlUnreachable: string;
|
|
2961
|
-
errorEmailRequired: string;
|
|
2962
|
-
errorPasswordRequired: string;
|
|
2963
|
-
tagline: string;
|
|
2964
|
-
};
|
|
2965
|
-
}
|
|
2966
|
-
/**
|
|
2967
|
-
* SignInForm - Main sign-in / connect component.
|
|
2968
|
-
*
|
|
2969
|
-
* When backendUrl is provided (re-auth to known workspace) the URL field is locked.
|
|
2970
|
-
* When backendUrl is omitted (new connection) the user enters the URL themselves.
|
|
2971
|
-
*/
|
|
2972
|
-
declare function SignInForm({ onGoogleSignIn, onCredentialsSignIn, backendUrl, error, showCredentialsAuth, isLoading, translations: t, }: SignInFormProps): react_jsx_runtime.JSX.Element;
|
|
2973
|
-
|
|
2974
|
-
interface SignUpFormProps {
|
|
2975
|
-
/**
|
|
2976
|
-
* Link component for routing - passed from parent
|
|
2977
|
-
*/
|
|
2978
|
-
Link: React__default.ComponentType<any>;
|
|
2979
|
-
/**
|
|
2980
|
-
* Callback when user clicks the Google sign-up button
|
|
2981
|
-
*/
|
|
2982
|
-
onSignUp: () => Promise<void>;
|
|
2983
|
-
/**
|
|
2984
|
-
* Translation strings for the form
|
|
2985
|
-
*/
|
|
2986
|
-
translations: {
|
|
2987
|
-
pageTitle: string;
|
|
2988
|
-
signUpPrompt: string;
|
|
2989
|
-
signUpWithGoogle: string;
|
|
2990
|
-
creatingAccount: string;
|
|
2991
|
-
approvedDomainsInfo: string;
|
|
2992
|
-
termsAgreement: string;
|
|
2993
|
-
alreadyHaveAccount: string;
|
|
2994
|
-
tagline: string;
|
|
2995
|
-
backToHome: string;
|
|
2996
|
-
};
|
|
2997
|
-
}
|
|
2998
|
-
/**
|
|
2999
|
-
* SignUpForm component
|
|
3000
|
-
*
|
|
3001
|
-
* Renders the sign-up form with Google OAuth button.
|
|
3002
|
-
* Manages loading state internally.
|
|
3003
|
-
*/
|
|
3004
|
-
declare function SignUpForm({ onSignUp, Link, translations: t }: SignUpFormProps): react_jsx_runtime.JSX.Element;
|
|
3005
|
-
|
|
3006
|
-
interface AuthErrorDisplayProps {
|
|
3007
|
-
/**
|
|
3008
|
-
* Link component for routing - passed from parent
|
|
3009
|
-
*/
|
|
3010
|
-
Link: React__default.ComponentType<any>;
|
|
3011
|
-
/**
|
|
3012
|
-
* Error type from URL parameter
|
|
3013
|
-
*/
|
|
3014
|
-
errorType: string | null;
|
|
3015
|
-
/**
|
|
3016
|
-
* Translation strings
|
|
3017
|
-
*/
|
|
3018
|
-
translations: {
|
|
3019
|
-
pageTitle: string;
|
|
3020
|
-
tryAgain: string;
|
|
3021
|
-
errorConfiguration: string;
|
|
3022
|
-
errorAccessDenied: string;
|
|
3023
|
-
errorVerification: string;
|
|
3024
|
-
errorGeneric: string;
|
|
3025
|
-
};
|
|
3026
|
-
}
|
|
3027
|
-
/**
|
|
3028
|
-
* AuthErrorDisplay component
|
|
3029
|
-
*
|
|
3030
|
-
* Displays authentication error messages with a link to try again.
|
|
3031
|
-
*/
|
|
3032
|
-
declare function AuthErrorDisplay({ errorType, Link, translations: t }: AuthErrorDisplayProps): react_jsx_runtime.JSX.Element;
|
|
3033
|
-
|
|
3034
|
-
interface WelcomePageProps {
|
|
3035
|
-
userName?: string;
|
|
3036
|
-
termsAcceptedAt?: string | null;
|
|
3037
|
-
isNewUser?: boolean;
|
|
3038
|
-
status: 'loading' | 'accepted' | 'form';
|
|
3039
|
-
isProcessing: boolean;
|
|
3040
|
-
onAccept: () => void;
|
|
3041
|
-
onDecline: () => void;
|
|
3042
|
-
translations: {
|
|
3043
|
-
loading: string;
|
|
3044
|
-
welcomeTitle: string;
|
|
3045
|
-
thanksForAccepting: string;
|
|
3046
|
-
welcomeUser: string;
|
|
3047
|
-
reviewTermsPrompt: string;
|
|
3048
|
-
termsSummaryTitle: string;
|
|
3049
|
-
termsSummaryIntro: string;
|
|
3050
|
-
acceptableUseTitle: string;
|
|
3051
|
-
acceptableUseResponsible: string;
|
|
3052
|
-
acceptableUseRespect: string;
|
|
3053
|
-
acceptableUseConduct: string;
|
|
3054
|
-
prohibitedContentTitle: string;
|
|
3055
|
-
prohibitedContentIntro: string;
|
|
3056
|
-
prohibitedIllegal: string;
|
|
3057
|
-
prohibitedAdult: string;
|
|
3058
|
-
prohibitedHate: string;
|
|
3059
|
-
prohibitedViolence: string;
|
|
3060
|
-
prohibitedMisinformation: string;
|
|
3061
|
-
prohibitedPrivacy: string;
|
|
3062
|
-
prohibitedCopyright: string;
|
|
3063
|
-
prohibitedMalware: string;
|
|
3064
|
-
prohibitedSpam: string;
|
|
3065
|
-
conductTitle: string;
|
|
3066
|
-
conductDescription: string;
|
|
3067
|
-
conductLink: string;
|
|
3068
|
-
conductPromotion: string;
|
|
3069
|
-
responsibilitiesTitle: string;
|
|
3070
|
-
responsibilitiesSecure: string;
|
|
3071
|
-
responsibilitiesReport: string;
|
|
3072
|
-
responsibilitiesAccurate: string;
|
|
3073
|
-
responsibilitiesComply: string;
|
|
3074
|
-
violationsWarning: string;
|
|
3075
|
-
readFullTerms: string;
|
|
3076
|
-
termsOfService: string;
|
|
3077
|
-
and: string;
|
|
3078
|
-
privacyPolicy: string;
|
|
3079
|
-
declineAndSignOut: string;
|
|
3080
|
-
acceptAndContinue: string;
|
|
3081
|
-
processing: string;
|
|
3082
|
-
legallyBound: string;
|
|
3083
|
-
};
|
|
3084
|
-
PageLayout: React__default.ComponentType<any>;
|
|
3085
|
-
Link: React__default.ComponentType<any>;
|
|
3086
|
-
}
|
|
3087
|
-
declare function WelcomePage({ userName, status, isProcessing, onAccept, onDecline, translations: t, PageLayout, Link, }: WelcomePageProps): react_jsx_runtime.JSX.Element;
|
|
3088
|
-
|
|
3089
|
-
interface EntityTagsPageProps {
|
|
3090
|
-
entityTypes: string[];
|
|
3091
|
-
isLoading: boolean;
|
|
3092
|
-
error: string;
|
|
3093
|
-
newTag: string;
|
|
3094
|
-
onNewTagChange: (value: string) => void;
|
|
3095
|
-
onAddTag: () => void;
|
|
3096
|
-
isAddingTag: boolean;
|
|
3097
|
-
theme: 'light' | 'dark' | 'system';
|
|
3098
|
-
showLineNumbers: boolean;
|
|
3099
|
-
activePanel: string | null;
|
|
3100
|
-
translations: {
|
|
3101
|
-
pageTitle: string;
|
|
3102
|
-
pageDescription: string;
|
|
3103
|
-
sectionTitle: string;
|
|
3104
|
-
sectionDescription: string;
|
|
3105
|
-
inputPlaceholder: string;
|
|
3106
|
-
addTag: string;
|
|
3107
|
-
adding: string;
|
|
3108
|
-
};
|
|
3109
|
-
ToolbarPanels: React__default.ComponentType<any>;
|
|
3110
|
-
Toolbar: React__default.ComponentType<any>;
|
|
3111
|
-
}
|
|
3112
|
-
declare function EntityTagsPage({ entityTypes, error, newTag, onNewTagChange, onAddTag, isAddingTag, theme, showLineNumbers, activePanel, translations: t, ToolbarPanels, Toolbar, }: EntityTagsPageProps): react_jsx_runtime.JSX.Element;
|
|
3113
|
-
|
|
3114
|
-
interface RecentDocumentsPageProps {
|
|
3115
|
-
hasDocuments: boolean;
|
|
3116
|
-
isLoading: boolean;
|
|
3117
|
-
theme: 'light' | 'dark' | 'system';
|
|
3118
|
-
showLineNumbers: boolean;
|
|
3119
|
-
activePanel: string | null;
|
|
3120
|
-
translations: {
|
|
3121
|
-
pageTitle: string;
|
|
3122
|
-
pageDescription: string;
|
|
3123
|
-
sectionTitle: string;
|
|
3124
|
-
sectionDescription: string;
|
|
3125
|
-
noDocuments: string;
|
|
3126
|
-
activityWillAppear: string;
|
|
3127
|
-
loading: string;
|
|
3128
|
-
};
|
|
3129
|
-
ToolbarPanels: React__default.ComponentType<any>;
|
|
3130
|
-
Toolbar: React__default.ComponentType<any>;
|
|
3131
|
-
}
|
|
3132
|
-
declare function RecentDocumentsPage({ isLoading, theme, showLineNumbers, activePanel, translations: t, ToolbarPanels, Toolbar, }: RecentDocumentsPageProps): react_jsx_runtime.JSX.Element;
|
|
3133
|
-
|
|
3134
|
-
interface TagSchemasPageProps {
|
|
3135
|
-
schemas: TagSchema[];
|
|
3136
|
-
isLoading: boolean;
|
|
3137
|
-
theme: 'light' | 'dark' | 'system';
|
|
3138
|
-
showLineNumbers: boolean;
|
|
3139
|
-
activePanel: string | null;
|
|
3140
|
-
translations: {
|
|
3141
|
-
pageTitle: string;
|
|
3142
|
-
pageDescription: string;
|
|
3143
|
-
categories: string;
|
|
3144
|
-
loading: string;
|
|
3145
|
-
};
|
|
3146
|
-
ToolbarPanels: React__default.ComponentType<any>;
|
|
3147
|
-
Toolbar: React__default.ComponentType<any>;
|
|
3148
|
-
}
|
|
3149
|
-
declare function TagSchemasPage({ schemas, isLoading, theme, showLineNumbers, activePanel, translations: t, ToolbarPanels, Toolbar, }: TagSchemasPageProps): react_jsx_runtime.JSX.Element;
|
|
3150
|
-
|
|
3151
|
-
type ComposeMode = 'new' | 'clone' | 'reference';
|
|
3152
|
-
interface ComposeParams {
|
|
3153
|
-
mode?: string | undefined;
|
|
3154
|
-
token?: string | undefined;
|
|
3155
|
-
annotationUri?: string | undefined;
|
|
3156
|
-
sourceDocumentId?: string | undefined;
|
|
3157
|
-
name?: string | undefined;
|
|
3158
|
-
entityTypes?: string | undefined;
|
|
3159
|
-
storedContext?: string | undefined;
|
|
3160
|
-
}
|
|
3161
|
-
interface CloneData {
|
|
3162
|
-
sourceResource: ResourceDescriptor;
|
|
3163
|
-
sourceContent: string;
|
|
3164
|
-
}
|
|
3165
|
-
interface ReferenceData {
|
|
3166
|
-
annotationUri: string;
|
|
3167
|
-
sourceDocumentId: string;
|
|
3168
|
-
name: string;
|
|
3169
|
-
entityTypes: string[];
|
|
3170
|
-
}
|
|
3171
|
-
interface SaveResourceParams$1 {
|
|
3172
|
-
mode: ComposeMode;
|
|
3173
|
-
name: string;
|
|
3174
|
-
storageUri: string;
|
|
3175
|
-
content?: string;
|
|
3176
|
-
file?: File;
|
|
3177
|
-
format?: string;
|
|
3178
|
-
charset?: string;
|
|
3179
|
-
entityTypes?: string[];
|
|
3180
|
-
language: string;
|
|
3181
|
-
archiveOriginal?: boolean;
|
|
3182
|
-
annotationUri?: string;
|
|
3183
|
-
sourceDocumentId?: string;
|
|
3184
|
-
}
|
|
3185
|
-
interface ComposePageStateUnit extends StateUnit {
|
|
3186
|
-
browse: ShellStateUnit;
|
|
3187
|
-
mode$: Observable<ComposeMode>;
|
|
3188
|
-
loading$: Observable<boolean>;
|
|
3189
|
-
cloneData$: Observable<CloneData | null>;
|
|
3190
|
-
referenceData$: Observable<ReferenceData | null>;
|
|
3191
|
-
gatheredContext$: Observable<GatheredContext | null>;
|
|
3192
|
-
entityTypes$: Observable<string[]>;
|
|
3193
|
-
/**
|
|
3194
|
-
* Live upload-progress for the in-flight `save(...)` call. Emits the
|
|
3195
|
-
* full `UploadProgress` lifecycle (started → finished) while a save is
|
|
3196
|
-
* underway; resets to `null` between saves and after completion. UI
|
|
3197
|
-
* components can subscribe to render an upload-in-progress indicator.
|
|
3198
|
-
*/
|
|
3199
|
-
uploadProgress$: Observable<UploadProgress | null>;
|
|
3200
|
-
save(params: SaveResourceParams$1): Promise<string>;
|
|
3201
|
-
}
|
|
3202
|
-
declare function createComposePageStateUnit(client: SemiontClient, browse: ShellStateUnit, params: ComposeParams, auth?: AccessToken): ComposePageStateUnit;
|
|
3203
|
-
|
|
3204
|
-
interface ResourceComposePageProps {
|
|
3205
|
-
mode: 'new' | 'clone' | 'reference';
|
|
3206
|
-
cloneData?: CloneData | null;
|
|
3207
|
-
referenceData?: ReferenceData | null;
|
|
3208
|
-
gatheredContext?: GatheredContext | null;
|
|
3209
|
-
availableEntityTypes: string[];
|
|
3210
|
-
initialLocale: string;
|
|
3211
|
-
theme: 'light' | 'dark';
|
|
3212
|
-
showLineNumbers: boolean;
|
|
3213
|
-
hoverDelayMs: number;
|
|
3214
|
-
activePanel: string | null;
|
|
3215
|
-
onSaveResource: (params: SaveResourceParams) => Promise<void>;
|
|
3216
|
-
onCancel: () => void;
|
|
3217
|
-
/**
|
|
3218
|
-
* Live upload-progress for the in-flight save. Resolved by the route
|
|
3219
|
-
* shell from `composeVM.uploadProgress$`. `null` between saves and
|
|
3220
|
-
* after completion. When non-null, the form disables Save and the
|
|
3221
|
-
* inline `<UploadProgressBar />` below the action buttons renders.
|
|
3222
|
-
*/
|
|
3223
|
-
uploadProgress?: UploadProgress | null;
|
|
3224
|
-
translations: {
|
|
3225
|
-
title: string;
|
|
3226
|
-
titleEditClone: string;
|
|
3227
|
-
titleCompleteReference: string;
|
|
3228
|
-
subtitleClone: string;
|
|
3229
|
-
subtitleReference: string;
|
|
3230
|
-
linkedNoticePrefix: string;
|
|
3231
|
-
resourceName: string;
|
|
3232
|
-
resourceNamePlaceholder: string;
|
|
3233
|
-
entityTypes: string;
|
|
3234
|
-
language: string;
|
|
3235
|
-
contentSource: string;
|
|
3236
|
-
uploadFile: string;
|
|
3237
|
-
uploadFileDescription: string;
|
|
3238
|
-
writeContent: string;
|
|
3239
|
-
writeContentDescription: string;
|
|
3240
|
-
dropFileOrClick: string;
|
|
3241
|
-
supportedFormats: string;
|
|
3242
|
-
mediaType: string;
|
|
3243
|
-
autoDetected: string;
|
|
3244
|
-
format: string;
|
|
3245
|
-
content: string;
|
|
3246
|
-
resourceContent: string;
|
|
3247
|
-
encoding: string;
|
|
3248
|
-
archiveOriginal: string;
|
|
3249
|
-
cancel: string;
|
|
3250
|
-
saving: string;
|
|
3251
|
-
creating: string;
|
|
3252
|
-
creatingAndLinking: string;
|
|
3253
|
-
saveClonedResource: string;
|
|
3254
|
-
createAndLinkResource: string;
|
|
3255
|
-
createResource: string;
|
|
3256
|
-
};
|
|
3257
|
-
ToolbarPanels: React__default.ComponentType<any>;
|
|
3258
|
-
Toolbar: React__default.ComponentType<any>;
|
|
3259
|
-
}
|
|
3260
|
-
interface SaveResourceParams {
|
|
3261
|
-
mode: 'new' | 'clone' | 'reference';
|
|
3262
|
-
name: string;
|
|
3263
|
-
storageUri: string;
|
|
3264
|
-
content?: string;
|
|
3265
|
-
file?: File;
|
|
3266
|
-
format?: string;
|
|
3267
|
-
charset?: string;
|
|
3268
|
-
entityTypes?: string[];
|
|
3269
|
-
language: string;
|
|
3270
|
-
archiveOriginal?: boolean;
|
|
3271
|
-
annotationUri?: string;
|
|
3272
|
-
sourceDocumentId?: string;
|
|
3273
|
-
}
|
|
3274
|
-
declare function ResourceComposePage({ mode, cloneData, referenceData, gatheredContext, availableEntityTypes, initialLocale, theme, showLineNumbers, hoverDelayMs, activePanel, onSaveResource, onCancel, uploadProgress, translations: t, ToolbarPanels, Toolbar, }: ResourceComposePageProps): react_jsx_runtime.JSX.Element;
|
|
3275
|
-
|
|
3276
|
-
/**
|
|
3277
|
-
* Inline upload-progress affordance for the compose page.
|
|
3278
|
-
*
|
|
3279
|
-
* Subscribes (via prop) to a `UploadProgress | null` value derived from
|
|
3280
|
-
* `composeVM.uploadProgress$`. Renders nothing when null; renders an
|
|
3281
|
-
* indeterminate state on `started`; renders a labeled bar with byte
|
|
3282
|
-
* counts on `progress`; renders a brief "Uploaded" success state on
|
|
3283
|
-
* `finished` (cleared by the state unit's `null` push on complete).
|
|
3284
|
-
*
|
|
3285
|
-
* Designed to live below the Save button in the compose form so the
|
|
3286
|
-
* visual association with the action that triggered the upload is
|
|
3287
|
-
* direct. Uses the existing `.semiont-progress` styles in
|
|
3288
|
-
* `packages/react-ui/src/styles/core/progress.css`.
|
|
3289
|
-
*/
|
|
3290
|
-
|
|
3291
|
-
interface UploadProgressBarProps {
|
|
3292
|
-
progress: UploadProgress | null;
|
|
3293
|
-
/** Optional label for the "starting" / "uploaded" lines. Defaults to "Upload". */
|
|
3294
|
-
label?: string;
|
|
3295
|
-
}
|
|
3296
|
-
declare function UploadProgressBar({ progress, label }: UploadProgressBarProps): React__default.ReactElement | null;
|
|
3297
|
-
|
|
3298
|
-
interface ResourceDiscoveryPageProps {
|
|
3299
|
-
recentDocuments: ResourceDescriptor[];
|
|
3300
|
-
searchDocuments: ResourceDescriptor[];
|
|
3301
|
-
entityTypes: string[];
|
|
3302
|
-
isLoadingRecent: boolean;
|
|
3303
|
-
isSearching: boolean;
|
|
3304
|
-
searchQuery: string;
|
|
3305
|
-
onSearchQueryChange: (query: string) => void;
|
|
3306
|
-
theme: 'light' | 'dark';
|
|
3307
|
-
showLineNumbers: boolean;
|
|
3308
|
-
activePanel: string | null;
|
|
3309
|
-
onNavigateToResource: (resourceId: string) => void;
|
|
3310
|
-
onNavigateToCompose: () => void;
|
|
3311
|
-
translations: {
|
|
3312
|
-
title: string;
|
|
3313
|
-
subtitle: string;
|
|
3314
|
-
searchPlaceholder: string;
|
|
3315
|
-
searchButton: string;
|
|
3316
|
-
searching: string;
|
|
3317
|
-
filterByEntityType: string;
|
|
3318
|
-
all: string;
|
|
3319
|
-
recentResources: string;
|
|
3320
|
-
searchResults: (count: number) => string;
|
|
3321
|
-
documentsTaggedWith: (entityType: string) => string;
|
|
3322
|
-
noResultsFound: (query: string) => string;
|
|
3323
|
-
noResourcesAvailable: string;
|
|
3324
|
-
composeFirstResource: string;
|
|
3325
|
-
archived: string;
|
|
3326
|
-
created: string;
|
|
3327
|
-
loadingKnowledgeBase: string;
|
|
3328
|
-
};
|
|
3329
|
-
ToolbarPanels: React__default.ComponentType<any>;
|
|
3330
|
-
}
|
|
3331
|
-
declare function ResourceDiscoveryPage({ recentDocuments, searchDocuments, entityTypes, isLoadingRecent, isSearching, searchQuery, onSearchQueryChange, theme, showLineNumbers, activePanel, onNavigateToResource, onNavigateToCompose, translations: t, ToolbarPanels, }: ResourceDiscoveryPageProps): react_jsx_runtime.JSX.Element;
|
|
3332
|
-
|
|
3333
|
-
interface ResourceCardProps {
|
|
3334
|
-
resource: ResourceDescriptor;
|
|
3335
|
-
onOpen: (resource: ResourceDescriptor) => void;
|
|
3336
|
-
tabIndex?: number;
|
|
3337
|
-
archivedLabel: string;
|
|
3338
|
-
createdLabel: string;
|
|
3339
|
-
}
|
|
3340
|
-
declare const ResourceCard: React__default.MemoExoticComponent<({ resource, onOpen, tabIndex, archivedLabel, createdLabel }: ResourceCardProps) => react_jsx_runtime.JSX.Element>;
|
|
3341
|
-
|
|
3342
|
-
type SemiontResource = ResourceDescriptor;
|
|
3343
|
-
interface ResourceViewerPageProps {
|
|
3344
|
-
/**
|
|
3345
|
-
* The resource to display
|
|
3346
|
-
*/
|
|
3347
|
-
resource: SemiontResource;
|
|
3348
|
-
/**
|
|
3349
|
-
* Resource URI
|
|
3350
|
-
*/
|
|
3351
|
-
rUri: ResourceId;
|
|
3352
|
-
/**
|
|
3353
|
-
* Current locale
|
|
3354
|
-
*/
|
|
3355
|
-
locale: string;
|
|
3356
|
-
/**
|
|
3357
|
-
* Link component for routing
|
|
3358
|
-
*/
|
|
3359
|
-
Link: React__default.ComponentType<any>;
|
|
3360
|
-
/**
|
|
3361
|
-
* Routes configuration
|
|
3362
|
-
*/
|
|
3363
|
-
routes: any;
|
|
3364
|
-
/**
|
|
3365
|
-
* Component dependencies - passed from framework layer
|
|
3366
|
-
*/
|
|
3367
|
-
ToolbarPanels: React__default.ComponentType<any>;
|
|
3368
|
-
/**
|
|
3369
|
-
* Callback to refetch document from parent
|
|
3370
|
-
*/
|
|
3371
|
-
refetchDocument: () => Promise<unknown>;
|
|
3372
|
-
/**
|
|
3373
|
-
* Bus connection state for the active workspace. Six-valued state
|
|
3374
|
-
* machine from `actor.state$`; CollaborationPanel maps it to the
|
|
3375
|
-
* "Live" / "Disconnected" visual.
|
|
3376
|
-
*/
|
|
3377
|
-
streamStatus: ConnectionState;
|
|
3378
|
-
/**
|
|
3379
|
-
* Name of the active knowledge base (for display in panels)
|
|
3380
|
-
*/
|
|
3381
|
-
knowledgeBaseName?: string | undefined;
|
|
3382
|
-
}
|
|
3383
|
-
/**
|
|
3384
|
-
* ResourceViewerPage - Main component
|
|
3385
|
-
*
|
|
3386
|
-
* Uses hooks directly (NO containers, NO render props, NO ResourceViewerPageContent wrapper)
|
|
3387
|
-
*
|
|
3388
|
-
* @emits nav:push - Navigate to a resource or filtered view
|
|
3389
|
-
* @emits beckon:sparkle - Trigger sparkle animation on an annotation
|
|
3390
|
-
* @emits bind:update-body - Update annotation body content
|
|
3391
|
-
* @subscribes mark:archive - Archive the current resource
|
|
3392
|
-
* @subscribes mark:unarchive - Unarchive the current resource
|
|
3393
|
-
* @subscribes yield:clone - Clone the current resource
|
|
3394
|
-
* @subscribes beckon:sparkle - Trigger sparkle animation
|
|
3395
|
-
* @subscribes mark:added - Annotation was created
|
|
3396
|
-
* @subscribes mark:removed - Annotation was deleted
|
|
3397
|
-
* @subscribes mark:create-failed - Annotation creation failed
|
|
3398
|
-
* @subscribes mark:delete-failed - Annotation deletion failed
|
|
3399
|
-
* @subscribes mark:body-updated - Annotation body was updated
|
|
3400
|
-
* @subscribes annotate:body-update-failed - Annotation body update failed
|
|
3401
|
-
* @subscribes settings:theme-changed - UI theme changed
|
|
3402
|
-
* @subscribes settings:line-numbers-toggled - Line numbers display toggled
|
|
3403
|
-
* @subscribes detection:complete - Detection completed
|
|
3404
|
-
* @subscribes detection:failed - Detection failed
|
|
3405
|
-
* @subscribes generation:complete - Generation completed
|
|
3406
|
-
* @subscribes generation:failed - Generation failed
|
|
3407
|
-
* @subscribes browse:reference-navigate - Navigate to a referenced document
|
|
3408
|
-
* @subscribes browse:entity-type-clicked - Navigate filtered by entity type
|
|
3409
|
-
*/
|
|
3410
|
-
declare function ResourceViewerPage({ resource, rUri, locale, Link, routes, ToolbarPanels, refetchDocument, streamStatus, knowledgeBaseName, }: ResourceViewerPageProps): react_jsx_runtime.JSX.Element;
|
|
3411
|
-
|
|
3412
|
-
interface HoverEmitterProps {
|
|
3413
|
-
onMouseEnter: () => void;
|
|
3414
|
-
onMouseLeave: () => void;
|
|
3415
|
-
}
|
|
3416
|
-
declare function useHoverEmitter(annotationId: AnnotationId, hoverDelayMs?: number): HoverEmitterProps;
|
|
3417
|
-
|
|
3418
|
-
interface SessionStateUnit extends StateUnit {
|
|
3419
|
-
isLoggingOut$: Observable<boolean>;
|
|
3420
|
-
logout(): Promise<void>;
|
|
3421
|
-
}
|
|
3422
|
-
declare function createSessionStateUnit(client: SemiontClient): SessionStateUnit;
|
|
3423
|
-
|
|
3424
|
-
interface AnnotationGroups {
|
|
3425
|
-
highlights: Annotation[];
|
|
3426
|
-
comments: Annotation[];
|
|
3427
|
-
assessments: Annotation[];
|
|
3428
|
-
references: Annotation[];
|
|
3429
|
-
tags: Annotation[];
|
|
3430
|
-
}
|
|
3431
|
-
type StoredEventResponse = components['schemas']['StoredEventResponse'];
|
|
3432
|
-
interface WizardState {
|
|
3433
|
-
open: boolean;
|
|
3434
|
-
annotationId: string | null;
|
|
3435
|
-
resourceId: string | null;
|
|
3436
|
-
defaultTitle: string;
|
|
3437
|
-
entityTypes: string[];
|
|
3438
|
-
}
|
|
3439
|
-
interface ResourceViewerPageStateUnit extends StateUnit {
|
|
3440
|
-
beckon: BeckonStateUnit;
|
|
3441
|
-
browse: ShellStateUnit;
|
|
3442
|
-
mark: MarkStateUnit;
|
|
3443
|
-
gather: GatherStateUnit;
|
|
3444
|
-
yield: YieldStateUnit;
|
|
3445
|
-
annotations$: Observable<Annotation[]>;
|
|
3446
|
-
annotationGroups$: Observable<AnnotationGroups>;
|
|
3447
|
-
entityTypes$: Observable<string[]>;
|
|
3448
|
-
events$: Observable<StoredEventResponse[]>;
|
|
3449
|
-
referencedBy$: Observable<ReferencedByEntry[]>;
|
|
3450
|
-
content$: Observable<string>;
|
|
3451
|
-
contentLoading$: Observable<boolean>;
|
|
3452
|
-
mediaToken$: Observable<string | null>;
|
|
3453
|
-
wizard$: Observable<WizardState>;
|
|
3454
|
-
closeWizard(): void;
|
|
3455
|
-
}
|
|
3456
|
-
declare function createResourceViewerPageStateUnit(client: SemiontClient, resourceId: ResourceId, locale: string, browse: ShellStateUnit, options?: {
|
|
3457
|
-
mediaType?: string;
|
|
3458
|
-
}): ResourceViewerPageStateUnit;
|
|
3459
|
-
|
|
3460
|
-
interface ResourceLoaderStateUnit extends StateUnit {
|
|
3461
|
-
resource$: Observable<ResourceDescriptor | undefined>;
|
|
3462
|
-
isLoading$: Observable<boolean>;
|
|
3463
|
-
invalidate(): void;
|
|
3464
|
-
}
|
|
3465
|
-
declare function createResourceLoaderStateUnit(client: SemiontClient, resourceId: ResourceId): ResourceLoaderStateUnit;
|
|
3466
|
-
|
|
3467
|
-
interface AdminUsersStateUnit extends StateUnit {
|
|
3468
|
-
browse: ShellStateUnit;
|
|
3469
|
-
users$: Observable<unknown[]>;
|
|
3470
|
-
stats$: Observable<unknown | null>;
|
|
3471
|
-
usersLoading$: Observable<boolean>;
|
|
3472
|
-
statsLoading$: Observable<boolean>;
|
|
3473
|
-
updateUser(id: string, data: {
|
|
3474
|
-
isAdmin?: boolean;
|
|
3475
|
-
isActive?: boolean;
|
|
3476
|
-
}): Promise<void>;
|
|
3477
|
-
}
|
|
3478
|
-
declare function createAdminUsersStateUnit(client: SemiontClient, browse: ShellStateUnit): AdminUsersStateUnit;
|
|
3479
|
-
|
|
3480
|
-
interface AdminSecurityStateUnit extends StateUnit {
|
|
3481
|
-
browse: ShellStateUnit;
|
|
3482
|
-
providers$: Observable<unknown[]>;
|
|
3483
|
-
allowedDomains$: Observable<string[]>;
|
|
3484
|
-
isLoading$: Observable<boolean>;
|
|
3485
|
-
}
|
|
3486
|
-
declare function createAdminSecurityStateUnit(client: SemiontClient, browse: ShellStateUnit): AdminSecurityStateUnit;
|
|
3487
|
-
|
|
3488
|
-
interface WelcomeStateUnit extends StateUnit {
|
|
3489
|
-
userData$: Observable<{
|
|
3490
|
-
termsAcceptedAt?: string;
|
|
3491
|
-
} | null>;
|
|
3492
|
-
isProcessing$: Observable<boolean>;
|
|
3493
|
-
acceptTerms(): Promise<void>;
|
|
3494
|
-
}
|
|
3495
|
-
declare function createWelcomeStateUnit(client: SemiontClient): WelcomeStateUnit;
|
|
3496
|
-
|
|
3497
|
-
interface DiscoverStateUnit extends StateUnit {
|
|
3498
|
-
browse: ShellStateUnit;
|
|
3499
|
-
search: SearchPipeline<ResourceDescriptor>;
|
|
3500
|
-
recentResources$: Observable<ResourceDescriptor[]>;
|
|
3501
|
-
entityTypes$: Observable<string[]>;
|
|
3502
|
-
isLoadingRecent$: Observable<boolean>;
|
|
3503
|
-
}
|
|
3504
|
-
declare function createDiscoverStateUnit(client: SemiontClient, browse: ShellStateUnit): DiscoverStateUnit;
|
|
3505
|
-
|
|
3506
|
-
interface EntityTagsStateUnit extends StateUnit {
|
|
3507
|
-
browse: ShellStateUnit;
|
|
3508
|
-
entityTypes$: Observable<string[]>;
|
|
3509
|
-
isLoading$: Observable<boolean>;
|
|
3510
|
-
newTag$: Observable<string>;
|
|
3511
|
-
error$: Observable<string>;
|
|
3512
|
-
isAdding$: Observable<boolean>;
|
|
3513
|
-
setNewTag(value: string): void;
|
|
3514
|
-
addTag(): Promise<void>;
|
|
3515
|
-
}
|
|
3516
|
-
declare function createEntityTagsStateUnit(client: SemiontClient, browse: ShellStateUnit): EntityTagsStateUnit;
|
|
3517
|
-
|
|
3518
|
-
/**
|
|
3519
|
-
* `ShellStateUnit` is app-scoped — it owns toolbar panel state and lives on
|
|
3520
|
-
* the `SemiontBrowser`'s own bus. Unlike session-scoped VMs, this hook
|
|
3521
|
-
* does not need to wait for an active KB session; `useSemiont()`
|
|
3522
|
-
* always returns the module-scoped `SemiontBrowser` singleton.
|
|
3523
|
-
*/
|
|
3524
|
-
declare function useShellStateUnit(): ShellStateUnit;
|
|
3525
|
-
|
|
3526
|
-
/**
|
|
3527
|
-
* Subscribe to an RxJS Observable and return its current value as React state.
|
|
3528
|
-
*
|
|
3529
|
-
* - For a `BehaviorSubject` (or anything with a `getValue()` method), returns
|
|
3530
|
-
* its current value synchronously at the first render. This matters for
|
|
3531
|
-
* callers that build derived objects in a `useState(factory)` initializer
|
|
3532
|
-
* at first render — they need the subject's value present immediately, not
|
|
3533
|
-
* after a second render triggered by the useEffect subscribe.
|
|
3534
|
-
*
|
|
3535
|
-
* We duck-type on `.getValue` rather than using `instanceof BehaviorSubject`
|
|
3536
|
-
* because rxjs can be loaded through multiple module realms in tests (e.g.
|
|
3537
|
-
* a bundled CJS copy inside `@semiont/react-ui/dist` vs a fresh ESM import
|
|
3538
|
-
* in the test file), which makes `instanceof` unreliable.
|
|
3539
|
-
* - For non-BehaviorSubject Observables, starts at `undefined` and emits
|
|
3540
|
-
* asynchronously after the subscribe.
|
|
3541
|
-
* - Accepts `undefined`/`null` for cases where the observable's source isn't
|
|
3542
|
-
* ready yet (e.g. `semiont?.browse.events(rUri)` when the active session is
|
|
3543
|
-
* still loading). In that case the hook is a no-op and returns undefined.
|
|
3544
|
-
* - Unsubscribes automatically on unmount or when `obs$` changes.
|
|
3545
|
-
*/
|
|
3546
|
-
declare function useObservable<T>(obs$: Observable<T> | null | undefined): T | undefined;
|
|
3547
|
-
|
|
3548
|
-
export { ANNOTATORS, AVAILABLE_LOCALES, AdminDevOpsPage, type AdminDevOpsPageProps, AdminExchangePage, type AdminExchangePageProps, type AdminExchangePageTranslations, AdminSecurityPage, type AdminSecurityPageProps, type AdminSecurityStateUnit, type AdminUser, type AdminUserStats, AdminUsersPage, type AdminUsersPageProps, type AdminUsersStateUnit, AnnotateReferencesProgressWidget, AnnotateToolbar, AnnotateView, type AnnotationConfig, type AnnotationCreationHandler, type AnnotationGroups, type AnnotationHandlers, AnnotationHistory, type AnnotationManager, AnnotationOverlay, AnnotationProvider, type AnnotationProviderProps, type AnnotationUIState, type AnnotationsCollection, type Annotator, AssessmentEntry, AssessmentPanel, AssistSection, AsyncErrorBoundary, AuthErrorDisplay, type AuthErrorDisplayProps, type AvailableLocale, type BorderRadiusToken, BrowseView, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, COMMON_PANELS, type ClickAction, type CloneData, CodeMirrorRenderer, CollaborationPanel, CollapsibleResourceNavigation, type CollapsibleResourceNavigationProps, type ColorToken, CommentEntry, CommentsPanel, ComposeLoadingState, type ComposeLoadingStateProps, type ComposeMode, type ComposePageStateUnit, type ComposeParams, type CreateAnnotationParams, type CreateConfig, type DeleteAnnotationParams, type DetectionConfig, type DevOpsFeature, type DiscoverStateUnit, type DrawingMode, EntityTagsPage, type EntityTagsPageProps, type EntityTagsStateUnit, EntityTypeBadges, ErrorBoundary, type ExchangeStateUnit, ExportCard, type ExportCardProps, type ExportCardTranslations, Footer, HighlightEntry, HighlightPanel, HistoryEvent, type HoverEmitterProps, ImageURLSchema, ImageViewer, ImportCard, type ImportCardProps, type ImportCardTranslations, type ImportPreview, ImportProgress, type ImportProgressProps, type ImportProgressTranslations, JsonLdPanel, JsonLdView, type KeyboardShortcut, KeyboardShortcutsHelpModal, LeftSidebar, type LinkComponentProps, LinkedDataPage, type LinkedDataPageProps, type LinkedDataPageTranslations, LiveRegionProvider, type Motivation$8 as Motivation, type NavigationItem, NavigationMenu, type NavigationMenuHelper, type NavigationProps, type OAuthProvider, type OAuthUser, OAuthUserSchema, ObservableLink, type ObservableLinkProps, type OverlayAnnotation, PageLayout, PanelHeader, PermissionDeniedModal, PopupContainer, PopupHeader, ProtectedErrorBoundary, RESOURCE_PANELS, RecentDocumentsPage, type RecentDocumentsPageProps, type ReferenceData, ReferenceEntry, ReferenceResolutionWidget, ReferenceWizardModal, type ReferenceWizardModalProps, ReferencesPanel, ResizeHandle, type ResolvedTheme, ResourceAnnotationsProvider, ResourceCard, type ResourceCardProps, ResourceComposePage, type ResourceComposePageProps, ResourceDiscoveryPage, type ResourceDiscoveryPageProps, ResourceErrorState, type ResourceErrorStateProps, ResourceInfoPanel, type ResourceLoaderStateUnit, ResourceLoadingState, ResourceSearchModal, type ResourceSearchModalProps, ResourceTagsInline, ResourceViewer, ResourceViewerPage, type ResourceViewerPageProps, type ResourceViewerPageStateUnit, type RouteBuilder, type SaveResourceParams$1 as SaveResourceParams, SearchModal, type SearchModalProps, SelectedTextDisplay, type SelectionMotivation, type SelectorType, SemiontBranding, SemiontFavicon, SemiontProvider, type SemiontProviderProps, type SemiontResource$2 as SemiontResource, SessionExpiredModal, SessionExpiryBanner, type SessionStateUnit, SessionTimer, SettingsPanel, type ShadowToken, type ShapeType, type ShellStateUnit, type ShellStateUnitOptions, SignInForm, type SignInFormProps, SignUpForm, type SignUpFormProps, SimpleNavigation, type SimpleNavigationItem, type SimpleNavigationProps, SkipLinks, SortableResourceTab, type SortableResourceTabProps, type SpacingToken, StatisticsPanel, StatusDisplay, SvgDrawingCanvas, TagEntry, TagSchemasPage, type TagSchemasPageProps, TaggingPanel, type TextSegment, type TextSelection, type Theme, ThemeProvider, ToastContainer, type ToastMessage, ToastProvider, type ToastType, Toolbar, type ToolbarPanelType, type TransitionToken, TranslationManager, TranslationProvider, type TranslationProviderProps, type TypographyToken, type UICreateAnnotationParams, UnifiedAnnotationsPanel, UnifiedHeader, UploadProgressBar, type UploadProgressBarProps, type UseResourceContentResult, UserMenuSkeleton, WebBrowserStorage, WelcomePage, type WelcomePageProps, type WelcomeStateUnit, type WizardState, applyHighlights, buildSourceToRenderedMap, buildTextNodeIndex, buttonStyles, clearHighlights, createAdminSecurityStateUnit, createAdminUsersStateUnit, createComposePageStateUnit, createDiscoverStateUnit, createEntityTagsStateUnit, createExchangeStateUnit, createResourceLoaderStateUnit, createResourceViewerPageStateUnit, createSessionStateUnit, createShellStateUnit, createWelcomeStateUnit, cssVariables, faviconPaths, formatTime, generateCSSVariables, getResourceIcon, getSelectedShapeForSelectorType, getSelectorType, getShortcutDisplay, getSupportedShapes, hideWidgetPreview, isShapeSupported, jsonLightHighlightStyle, jsonLightTheme, resolveAnnotationRanges, sanitizeImageURL, saveSelectedShapeForSelectorType, showWidgetPreview, supportsDetection, toOverlayAnnotations, tokens, useAnnotationManager, useDebounce, useDebouncedCallback, useDocumentAnnouncements, useDoubleKeyPress, useDropdown, useEventSubscription, useEventSubscriptions, useFormAnnouncements, useHoverDelay, useHoverEmitter, useIsTyping, useKeyboardShortcuts, useLanguageChangeAnnouncements, useLineNumbers, useLiveRegion, useLoadingState, useLocalStorage, useObservable, useObservableExternalNavigation, useObservableRouter, usePanelWidth, usePreloadTranslations, useResourceAnnotations, useResourceContent, useResourceLoadingAnnouncements, useRovingTabIndex, useSearchAnnouncements, useSemiont, useSessionExpiry, useShellStateUnit, useStateUnit, useTheme, useToast, useTranslations };
|