@semiont/react-ui 0.2.33-build.79 → 0.2.33-build.80
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/EventBusContext-7GvDyO0d.d.mts +414 -0
- package/dist/{PdfAnnotationCanvas.client-ADC4FFSE.mjs → PdfAnnotationCanvas.client-RAJRPQLU.mjs} +42 -27
- package/dist/PdfAnnotationCanvas.client-RAJRPQLU.mjs.map +1 -0
- package/dist/{ar-EMHEHPCJ.mjs → ar-4ZEORRW2.mjs} +7 -4
- package/dist/ar-4ZEORRW2.mjs.map +1 -0
- package/dist/{bn-OVCI4F6X.mjs → bn-SEDE5BQJ.mjs} +7 -4
- package/dist/bn-SEDE5BQJ.mjs.map +1 -0
- package/dist/{chunk-LIHZTECW.mjs → chunk-D7NBW4RV.mjs} +7 -4
- package/dist/chunk-D7NBW4RV.mjs.map +1 -0
- package/dist/{chunk-JZIO2A3B.mjs → chunk-ZR4ZV2LY.mjs} +206 -146
- package/dist/chunk-ZR4ZV2LY.mjs.map +1 -0
- package/dist/{cs-FAN66Q2F.mjs → cs-7W4WF5WD.mjs} +7 -4
- package/dist/cs-7W4WF5WD.mjs.map +1 -0
- package/dist/{da-YBBIHI2O.mjs → da-75XGBCBK.mjs} +7 -4
- package/dist/da-75XGBCBK.mjs.map +1 -0
- package/dist/{de-MAYU33LB.mjs → de-ODJVFLHM.mjs} +7 -4
- package/dist/de-ODJVFLHM.mjs.map +1 -0
- package/dist/{el-MKGSWN4O.mjs → el-C4PM4WB3.mjs} +7 -4
- package/dist/el-C4PM4WB3.mjs.map +1 -0
- package/dist/{en-DDLIXJCU.mjs → en-KJCJQ4OO.mjs} +2 -2
- package/dist/{es-52LHUWJD.mjs → es-WD33R7QL.mjs} +7 -4
- package/dist/es-WD33R7QL.mjs.map +1 -0
- package/dist/{fa-FJICRANB.mjs → fa-2BP6V56P.mjs} +7 -4
- package/dist/fa-2BP6V56P.mjs.map +1 -0
- package/dist/{fi-O455XFCR.mjs → fi-USRRW24J.mjs} +7 -4
- package/dist/fi-USRRW24J.mjs.map +1 -0
- package/dist/{fr-TXIXHOOE.mjs → fr-EC5S6WVF.mjs} +7 -4
- package/dist/fr-EC5S6WVF.mjs.map +1 -0
- package/dist/{he-JBSOX5IN.mjs → he-7TBVIKAA.mjs} +7 -4
- package/dist/he-7TBVIKAA.mjs.map +1 -0
- package/dist/{hi-KGHI3XVT.mjs → hi-FO4VIZLA.mjs} +7 -4
- package/dist/hi-FO4VIZLA.mjs.map +1 -0
- package/dist/{id-5OCPPZLO.mjs → id-7U7GGVWY.mjs} +7 -4
- package/dist/id-7U7GGVWY.mjs.map +1 -0
- package/dist/index.css +123 -85
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +645 -471
- package/dist/index.mjs +3461 -3025
- package/dist/index.mjs.map +1 -1
- package/dist/{it-PNBBZSM2.mjs → it-Y4OPL6I2.mjs} +7 -4
- package/dist/it-Y4OPL6I2.mjs.map +1 -0
- package/dist/{ja-LDD7R3TJ.mjs → ja-PK7SQL55.mjs} +7 -4
- package/dist/ja-PK7SQL55.mjs.map +1 -0
- package/dist/{ko-F47ZDEY3.mjs → ko-L25PXMYD.mjs} +7 -4
- package/dist/ko-L25PXMYD.mjs.map +1 -0
- package/dist/{ms-Z7LMXJWL.mjs → ms-STH777QM.mjs} +7 -4
- package/dist/ms-STH777QM.mjs.map +1 -0
- package/dist/{nl-6SJFBPJ3.mjs → nl-Y7LECDDR.mjs} +7 -4
- package/dist/nl-Y7LECDDR.mjs.map +1 -0
- package/dist/{no-YXPBPSGF.mjs → no-KEKCEWU6.mjs} +7 -4
- package/dist/no-KEKCEWU6.mjs.map +1 -0
- package/dist/{pl-P4AZ2QME.mjs → pl-7A7OC75O.mjs} +7 -4
- package/dist/pl-7A7OC75O.mjs.map +1 -0
- package/dist/{pt-LHWUS6U6.mjs → pt-35HTM7RA.mjs} +7 -4
- package/dist/pt-35HTM7RA.mjs.map +1 -0
- package/dist/{ro-EA5J2ZON.mjs → ro-VAWL5KQA.mjs} +7 -4
- package/dist/ro-VAWL5KQA.mjs.map +1 -0
- package/dist/{sv-DATBS3UQ.mjs → sv-7ZK5EQEB.mjs} +7 -4
- package/dist/sv-7ZK5EQEB.mjs.map +1 -0
- package/dist/test-utils.d.mts +18 -8
- package/dist/test-utils.mjs +36 -14
- package/dist/test-utils.mjs.map +1 -1
- package/dist/{th-WTFJRWPT.mjs → th-UDWZ4X34.mjs} +7 -4
- package/dist/th-UDWZ4X34.mjs.map +1 -0
- package/dist/{tr-IKO3RXOX.mjs → tr-4WMPK3UX.mjs} +7 -4
- package/dist/tr-4WMPK3UX.mjs.map +1 -0
- package/dist/{uk-CF6CTTRK.mjs → uk-SSLASQYJ.mjs} +7 -4
- package/dist/uk-SSLASQYJ.mjs.map +1 -0
- package/dist/{vi-AJLTXPZQ.mjs → vi-IF42Z5PU.mjs} +7 -4
- package/dist/vi-IF42Z5PU.mjs.map +1 -0
- package/dist/{zh-U3ORHHYH.mjs → zh-HRQTNTAI.mjs} +7 -4
- package/dist/zh-HRQTNTAI.mjs.map +1 -0
- package/package.json +3 -1
- package/src/components/CodeMirrorRenderer.tsx +66 -93
- package/src/components/DetectionProgressWidget.tsx +16 -5
- package/src/components/LiveRegion.tsx +18 -18
- package/src/components/ResizeHandle.tsx +10 -4
- package/src/components/SessionTimer.tsx +2 -2
- package/src/components/Toolbar.tsx +18 -9
- package/src/components/__tests__/SessionTimer.test.tsx +9 -9
- package/src/components/annotation/AnnotateToolbar.tsx +17 -15
- package/src/components/annotation/__tests__/AnnotateToolbar.test.tsx +165 -63
- package/src/components/annotation/annotation-entries.css +10 -0
- package/src/components/annotation-popups/JsonLdView.tsx +8 -2
- package/src/components/image-annotation/AnnotationOverlay.tsx +42 -22
- package/src/components/image-annotation/SvgDrawingCanvas.tsx +27 -30
- package/src/components/layout/__tests__/LeftSidebar.test.tsx +12 -33
- package/src/components/layout/__tests__/PageLayout.test.tsx +37 -32
- package/src/components/layout/__tests__/UnifiedHeader.test.tsx +21 -40
- package/src/components/modals/ResourceSearchModal.tsx +2 -2
- package/src/components/modals/SearchModal.tsx +1 -1
- package/src/components/navigation/CollapsibleResourceNavigation.tsx +14 -9
- package/src/components/navigation/NavigationTabs.css +36 -24
- package/src/components/navigation/ObservableLink.tsx +91 -0
- package/src/components/navigation/SimpleNavigation.tsx +20 -16
- package/src/components/navigation/SortableResourceTab.tsx +11 -5
- package/src/components/pdf-annotation/PdfAnnotationCanvas.tsx +51 -26
- package/src/components/pdf-annotation/__tests__/PdfAnnotationCanvas.test.tsx +28 -22
- package/src/components/resource/AnnotateView.tsx +64 -134
- package/src/components/resource/BrowseView.tsx +86 -166
- package/src/components/resource/HistoryEvent.tsx +13 -7
- package/src/components/resource/ResourceViewer.tsx +122 -264
- package/src/components/resource/__tests__/BrowseView.test.tsx +631 -0
- package/src/components/resource/__tests__/ResourceViewer.mode-switch.test.tsx +231 -0
- package/src/components/resource/panels/AssessmentEntry.tsx +25 -33
- package/src/components/resource/panels/AssessmentPanel.tsx +106 -28
- package/src/components/resource/panels/CommentEntry.tsx +38 -32
- package/src/components/resource/panels/CommentsPanel.tsx +121 -28
- package/src/components/resource/panels/DetectSection.css +36 -1
- package/src/components/resource/panels/DetectSection.tsx +38 -10
- package/src/components/resource/panels/HighlightEntry.tsx +25 -33
- package/src/components/resource/panels/HighlightPanel.tsx +100 -25
- package/src/components/resource/panels/ReferenceEntry.tsx +61 -75
- package/src/components/resource/panels/ReferencesPanel.tsx +134 -42
- package/src/components/resource/panels/ResourceInfoPanel.tsx +47 -48
- package/src/components/resource/panels/TagEntry.tsx +25 -33
- package/src/components/resource/panels/TaggingPanel.tsx +119 -30
- package/src/components/resource/panels/UnifiedAnnotationsPanel.tsx +30 -92
- package/src/components/resource/panels/__tests__/AssessmentPanel.test.tsx +129 -110
- package/src/components/resource/panels/__tests__/CommentEntry.test.tsx +86 -78
- package/src/components/resource/panels/__tests__/CommentsPanel.test.tsx +144 -149
- package/src/components/resource/panels/__tests__/DetectSection.test.tsx +480 -0
- package/src/components/resource/panels/__tests__/HighlightPanel.detectionProgress.test.tsx +362 -0
- package/src/components/resource/panels/__tests__/ReferencesPanel.test.tsx +226 -111
- package/src/components/resource/panels/__tests__/ResourceInfoPanel.test.tsx +117 -61
- package/src/components/resource/panels/__tests__/TaggingPanel.test.tsx +128 -106
- package/src/components/settings/SettingsPanel.tsx +15 -12
- package/src/features/admin-devops/__tests__/AdminDevOpsPage.test.tsx +1 -46
- package/src/features/admin-devops/components/AdminDevOpsPage.tsx +0 -9
- package/src/features/admin-security/__tests__/AdminSecurityPage.test.tsx +0 -3
- package/src/features/admin-security/components/AdminSecurityPage.tsx +0 -9
- package/src/features/admin-users/__tests__/AdminUsersPage.test.tsx +0 -3
- package/src/features/admin-users/components/AdminUsersPage.tsx +0 -9
- package/src/features/moderate-entity-tags/__tests__/EntityTagsPage.test.tsx +0 -3
- package/src/features/moderate-entity-tags/components/EntityTagsPage.tsx +1 -9
- package/src/features/moderate-recent/__tests__/RecentDocumentsPage.test.tsx +0 -32
- package/src/features/moderate-recent/components/RecentDocumentsPage.tsx +1 -9
- package/src/features/moderate-tag-schemas/__tests__/TagSchemasPage.test.tsx +0 -32
- package/src/features/moderate-tag-schemas/components/TagSchemasPage.tsx +1 -9
- package/src/features/resource-compose/__tests__/ResourceComposePage.test.tsx +51 -54
- package/src/features/resource-compose/components/ResourceComposePage.tsx +3 -13
- package/src/features/resource-discovery/__tests__/ResourceDiscoveryPage.test.tsx +39 -45
- package/src/features/resource-discovery/components/ResourceDiscoveryPage.tsx +9 -13
- package/src/features/resource-viewer/__tests__/AnnotationDeletionIntegration.test.tsx +231 -0
- package/src/features/resource-viewer/__tests__/DetectionFlowBug.test.tsx +234 -0
- package/src/features/resource-viewer/__tests__/DetectionFlowIntegration.test.tsx +388 -0
- package/src/features/resource-viewer/__tests__/DetectionProgressDismissal.test.tsx +318 -0
- package/src/features/resource-viewer/__tests__/GenerationFlowIntegration.test.tsx +504 -0
- package/src/features/resource-viewer/__tests__/ResourceViewerPage.test.tsx +135 -88
- package/src/features/resource-viewer/__tests__/detection-progress-flow.test.tsx +322 -0
- package/src/features/resource-viewer/components/ResourceViewerPage.tsx +308 -528
- package/translations/ar.json +6 -3
- package/translations/bn.json +6 -3
- package/translations/cs.json +6 -3
- package/translations/da.json +6 -3
- package/translations/de.json +6 -3
- package/translations/el.json +6 -3
- package/translations/en.json +6 -3
- package/translations/es.json +6 -3
- package/translations/fa.json +6 -3
- package/translations/fi.json +6 -3
- package/translations/fr.json +6 -3
- package/translations/he.json +6 -3
- package/translations/hi.json +6 -3
- package/translations/id.json +6 -3
- package/translations/it.json +6 -3
- package/translations/ja.json +6 -3
- package/translations/ko.json +6 -3
- package/translations/ms.json +6 -3
- package/translations/nl.json +6 -3
- package/translations/no.json +6 -3
- package/translations/pl.json +6 -3
- package/translations/pt.json +6 -3
- package/translations/ro.json +6 -3
- package/translations/sv.json +6 -3
- package/translations/th.json +6 -3
- package/translations/tr.json +6 -3
- package/translations/uk.json +6 -3
- package/translations/vi.json +6 -3
- package/translations/zh.json +6 -3
- package/dist/PdfAnnotationCanvas.client-ADC4FFSE.mjs.map +0 -1
- package/dist/TranslationManager-Co_5fSxl.d.mts +0 -118
- package/dist/ar-EMHEHPCJ.mjs.map +0 -1
- package/dist/bn-OVCI4F6X.mjs.map +0 -1
- package/dist/chunk-JZIO2A3B.mjs.map +0 -1
- package/dist/chunk-LIHZTECW.mjs.map +0 -1
- package/dist/cs-FAN66Q2F.mjs.map +0 -1
- package/dist/da-YBBIHI2O.mjs.map +0 -1
- package/dist/de-MAYU33LB.mjs.map +0 -1
- package/dist/el-MKGSWN4O.mjs.map +0 -1
- package/dist/es-52LHUWJD.mjs.map +0 -1
- package/dist/fa-FJICRANB.mjs.map +0 -1
- package/dist/fi-O455XFCR.mjs.map +0 -1
- package/dist/fr-TXIXHOOE.mjs.map +0 -1
- package/dist/he-JBSOX5IN.mjs.map +0 -1
- package/dist/hi-KGHI3XVT.mjs.map +0 -1
- package/dist/id-5OCPPZLO.mjs.map +0 -1
- package/dist/it-PNBBZSM2.mjs.map +0 -1
- package/dist/ja-LDD7R3TJ.mjs.map +0 -1
- package/dist/ko-F47ZDEY3.mjs.map +0 -1
- package/dist/ms-Z7LMXJWL.mjs.map +0 -1
- package/dist/nl-6SJFBPJ3.mjs.map +0 -1
- package/dist/no-YXPBPSGF.mjs.map +0 -1
- package/dist/pl-P4AZ2QME.mjs.map +0 -1
- package/dist/pt-LHWUS6U6.mjs.map +0 -1
- package/dist/ro-EA5J2ZON.mjs.map +0 -1
- package/dist/sv-DATBS3UQ.mjs.map +0 -1
- package/dist/th-WTFJRWPT.mjs.map +0 -1
- package/dist/tr-IKO3RXOX.mjs.map +0 -1
- package/dist/uk-CF6CTTRK.mjs.map +0 -1
- package/dist/vi-AJLTXPZQ.mjs.map +0 -1
- package/dist/zh-U3ORHHYH.mjs.map +0 -1
- /package/dist/{en-DDLIXJCU.mjs.map → en-KJCJQ4OO.mjs.map} +0 -0
package/dist/index.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as _semiont_api_client from '@semiont/api-client';
|
|
2
|
-
import { components, ResourceUri, Selector, SemiontApiClient, AnnotationUri, ResourceAnnotationUri, ValidationResult,
|
|
2
|
+
import { components, ResourceUri, Selector, DetectionProgress as DetectionProgress$1, GenerationProgress as GenerationProgress$1, SemiontApiClient, AnnotationUri, ResourceAnnotationUri, ValidationResult, paths, Motivation as Motivation$9, GenerationContext } from '@semiont/api-client';
|
|
3
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
4
|
import * as React$1 from 'react';
|
|
5
5
|
import React__default, { ComponentType, ReactNode, MutableRefObject, KeyboardEvent as KeyboardEvent$1, Component, ErrorInfo } from 'react';
|
|
6
|
-
import {
|
|
7
|
-
export {
|
|
6
|
+
import { E as EventBus, a as EventMap, O as OpenResourcesManager, S as SessionManager, T as TranslationManager } from './EventBusContext-7GvDyO0d.mjs';
|
|
7
|
+
export { e as EventBusProvider, d as EventBusProviderProps, b as OpenResourceFromManager, c as SessionState, r as resetEventBusForTesting, u as useEventBus } from './EventBusContext-7GvDyO0d.mjs';
|
|
8
8
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
9
9
|
import { UseQueryOptions } from '@tanstack/react-query';
|
|
10
10
|
import * as _codemirror_state from '@codemirror/state';
|
|
@@ -16,19 +16,19 @@ import { VFile } from 'vfile';
|
|
|
16
16
|
import { TagSchema } from '@semiont/ontology';
|
|
17
17
|
export { TAG_SCHEMAS, TagCategory, TagSchema, getAllTagSchemas, getSchemaCategory as getTagCategory, getTagSchema, getTagSchemasByDomain, isValidCategory } from '@semiont/ontology';
|
|
18
18
|
import { ResourceEvent, StoredEvent } from '@semiont/core';
|
|
19
|
-
import
|
|
19
|
+
import { Emitter } from 'mitt';
|
|
20
20
|
|
|
21
|
-
type Annotation$
|
|
21
|
+
type Annotation$m = components['schemas']['Annotation'];
|
|
22
22
|
/**
|
|
23
23
|
* Collection of all annotation types for a resource.
|
|
24
24
|
* Replaces separate highlights, references, assessments, comments, tags props.
|
|
25
25
|
*/
|
|
26
26
|
interface AnnotationsCollection {
|
|
27
|
-
highlights: Annotation$
|
|
28
|
-
references: Annotation$
|
|
29
|
-
assessments: Annotation$
|
|
30
|
-
comments: Annotation$
|
|
31
|
-
tags: Annotation$
|
|
27
|
+
highlights: Annotation$m[];
|
|
28
|
+
references: Annotation$m[];
|
|
29
|
+
assessments: Annotation$m[];
|
|
30
|
+
comments: Annotation$m[];
|
|
31
|
+
tags: Annotation$m[];
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Event handlers for annotation interactions.
|
|
@@ -36,7 +36,7 @@ interface AnnotationsCollection {
|
|
|
36
36
|
*/
|
|
37
37
|
interface AnnotationHandlers {
|
|
38
38
|
/** Unified click handler - routes based on annotation type and current mode */
|
|
39
|
-
onClick?: (annotation: Annotation$
|
|
39
|
+
onClick?: (annotation: Annotation$m, event?: React.MouseEvent) => void;
|
|
40
40
|
/** Unified hover handler for all annotation types */
|
|
41
41
|
onHover?: (annotationId: string | null) => void;
|
|
42
42
|
/** Hover handler specifically for comment panel highlighting */
|
|
@@ -85,7 +85,7 @@ interface UICreateAnnotationParams {
|
|
|
85
85
|
* - linking: Shows Quick Reference popup FIRST, creates when user confirms
|
|
86
86
|
*/
|
|
87
87
|
interface AnnotationCreationHandler {
|
|
88
|
-
onCreate?: (params: UICreateAnnotationParams) => void | Promise<void> | Promise<Annotation$
|
|
88
|
+
onCreate?: (params: UICreateAnnotationParams) => void | Promise<void> | Promise<Annotation$m | undefined>;
|
|
89
89
|
}
|
|
90
90
|
/**
|
|
91
91
|
* UI state for annotation toolbar and interactions.
|
|
@@ -120,7 +120,7 @@ interface AnnotationConfig {
|
|
|
120
120
|
annotateMode?: boolean;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
type Annotation$
|
|
123
|
+
type Annotation$l = components['schemas']['Annotation'];
|
|
124
124
|
/**
|
|
125
125
|
* Parameters for creating an annotation
|
|
126
126
|
*/
|
|
@@ -167,7 +167,7 @@ interface AnnotationManager {
|
|
|
167
167
|
* @param params - Creation parameters (rUri, motivation, selector, body)
|
|
168
168
|
* @returns Promise resolving to the created annotation, or undefined if creation fails
|
|
169
169
|
*/
|
|
170
|
-
createAnnotation: (params: CreateAnnotationParams) => Promise<Annotation$
|
|
170
|
+
createAnnotation: (params: CreateAnnotationParams) => Promise<Annotation$l | undefined>;
|
|
171
171
|
/**
|
|
172
172
|
* Delete an annotation
|
|
173
173
|
* @param params - Deletion parameters (annotationId, rUri)
|
|
@@ -270,9 +270,9 @@ interface NavigationProps {
|
|
|
270
270
|
* Type definitions for resource viewer feature
|
|
271
271
|
*/
|
|
272
272
|
|
|
273
|
-
type SemiontResource$
|
|
274
|
-
type Annotation$
|
|
275
|
-
type Motivation$
|
|
273
|
+
type SemiontResource$4 = components['schemas']['ResourceDescriptor'];
|
|
274
|
+
type Annotation$k = components['schemas']['Annotation'];
|
|
275
|
+
type Motivation$8 = components['schemas']['Motivation'];
|
|
276
276
|
/**
|
|
277
277
|
* Selection for creating annotations
|
|
278
278
|
*/
|
|
@@ -285,6 +285,24 @@ interface TextSelection {
|
|
|
285
285
|
svgSelector?: string;
|
|
286
286
|
}
|
|
287
287
|
|
|
288
|
+
/**
|
|
289
|
+
* Progress type definitions for detection and generation flows
|
|
290
|
+
*/
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Detection progress type with frontend-specific extensions
|
|
294
|
+
*/
|
|
295
|
+
interface DetectionProgress extends DetectionProgress$1 {
|
|
296
|
+
completedEntityTypes?: Array<{
|
|
297
|
+
entityType: string;
|
|
298
|
+
foundCount: number;
|
|
299
|
+
}>;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Generation progress type (no extensions needed, re-export API type)
|
|
303
|
+
*/
|
|
304
|
+
type GenerationProgress = GenerationProgress$1;
|
|
305
|
+
|
|
288
306
|
/**
|
|
289
307
|
* Centralized annotation type registry
|
|
290
308
|
*
|
|
@@ -299,8 +317,8 @@ interface TextSelection {
|
|
|
299
317
|
* No aliasing, wrappers, or compatibility layers elsewhere.
|
|
300
318
|
*/
|
|
301
319
|
|
|
302
|
-
type Annotation$
|
|
303
|
-
type Motivation$
|
|
320
|
+
type Annotation$j = components['schemas']['Annotation'];
|
|
321
|
+
type Motivation$7 = components['schemas']['Motivation'];
|
|
304
322
|
/**
|
|
305
323
|
* Detection configuration for SSE-based annotation detection
|
|
306
324
|
*/
|
|
@@ -327,7 +345,7 @@ interface CreateConfig {
|
|
|
327
345
|
* Handles clicks, hovers, detection, and other operations for one annotation type
|
|
328
346
|
*/
|
|
329
347
|
interface Annotator {
|
|
330
|
-
motivation: Motivation$
|
|
348
|
+
motivation: Motivation$7;
|
|
331
349
|
internalType: string;
|
|
332
350
|
displayName: string;
|
|
333
351
|
description: string;
|
|
@@ -336,7 +354,7 @@ interface Annotator {
|
|
|
336
354
|
isClickable: boolean;
|
|
337
355
|
hasHoverInteraction: boolean;
|
|
338
356
|
hasSidePanel: boolean;
|
|
339
|
-
matchesAnnotation: (annotation: Annotation$
|
|
357
|
+
matchesAnnotation: (annotation: Annotation$j) => boolean;
|
|
340
358
|
announceOnCreate: string;
|
|
341
359
|
detection?: DetectionConfig;
|
|
342
360
|
create: CreateConfig;
|
|
@@ -355,7 +373,7 @@ declare const ANNOTATORS: Record<string, Annotator>;
|
|
|
355
373
|
declare function createDetectionHandler(annotator: Annotator, context: {
|
|
356
374
|
client: any;
|
|
357
375
|
rUri: any;
|
|
358
|
-
setDetectingMotivation: (motivation: Motivation$
|
|
376
|
+
setDetectingMotivation: (motivation: Motivation$7 | null) => void;
|
|
359
377
|
setMotivationDetectionProgress: (progress: any) => void;
|
|
360
378
|
detectionStreamRef: MutableRefObject<any>;
|
|
361
379
|
cacheManager: CacheManager;
|
|
@@ -368,7 +386,7 @@ declare function createDetectionHandler(annotator: Annotator, context: {
|
|
|
368
386
|
*/
|
|
369
387
|
declare function createCancelDetectionHandler(context: {
|
|
370
388
|
detectionStreamRef: MutableRefObject<any>;
|
|
371
|
-
setDetectingMotivation: (motivation: Motivation$
|
|
389
|
+
setDetectingMotivation: (motivation: Motivation$7 | null) => void;
|
|
372
390
|
setMotivationDetectionProgress: (progress: any) => void;
|
|
373
391
|
}): () => void;
|
|
374
392
|
|
|
@@ -448,7 +466,7 @@ declare function useResources(): {
|
|
|
448
466
|
}, Error, ResourceUri, unknown>;
|
|
449
467
|
};
|
|
450
468
|
getByToken: {
|
|
451
|
-
useQuery: (
|
|
469
|
+
useQuery: (cloneTokenStr: string) => _tanstack_react_query.UseQueryResult<{
|
|
452
470
|
sourceResource: _semiont_api_client.components["schemas"]["ResourceDescriptor"];
|
|
453
471
|
expiresAt: string;
|
|
454
472
|
}, Error>;
|
|
@@ -540,7 +558,10 @@ declare function useAnnotations(): {
|
|
|
540
558
|
}, unknown>;
|
|
541
559
|
};
|
|
542
560
|
delete: {
|
|
543
|
-
useMutation: () => _tanstack_react_query.UseMutationResult<void, Error,
|
|
561
|
+
useMutation: () => _tanstack_react_query.UseMutationResult<void, Error, {
|
|
562
|
+
annotationUri: ResourceAnnotationUri;
|
|
563
|
+
resourceUri: ResourceUri;
|
|
564
|
+
}, unknown>;
|
|
544
565
|
};
|
|
545
566
|
updateBody: {
|
|
546
567
|
useMutation: () => _tanstack_react_query.UseMutationResult<{
|
|
@@ -815,18 +836,17 @@ declare const jsonLightHighlightStyle: HighlightStyle;
|
|
|
815
836
|
* - Entity type badges
|
|
816
837
|
*/
|
|
817
838
|
|
|
818
|
-
type Annotation$
|
|
839
|
+
type Annotation$i = components['schemas']['Annotation'];
|
|
819
840
|
/**
|
|
820
841
|
* Reference Resolution Widget
|
|
821
842
|
* Shows a small indicator next to references with hover preview
|
|
822
843
|
*/
|
|
823
844
|
declare class ReferenceResolutionWidget extends WidgetType {
|
|
824
|
-
readonly annotation: Annotation$
|
|
845
|
+
readonly annotation: Annotation$i;
|
|
825
846
|
readonly targetDocumentName?: string | undefined;
|
|
826
|
-
readonly
|
|
827
|
-
readonly onUnresolvedClick?: ((annotation: Annotation$l) => void) | undefined;
|
|
847
|
+
readonly eventBus?: EventBus | undefined;
|
|
828
848
|
readonly isGenerating?: boolean | undefined;
|
|
829
|
-
constructor(annotation: Annotation$
|
|
849
|
+
constructor(annotation: Annotation$i, targetDocumentName?: string | undefined, eventBus?: EventBus | undefined, isGenerating?: boolean | undefined);
|
|
830
850
|
eq(other: ReferenceResolutionWidget): boolean;
|
|
831
851
|
toDOM(): HTMLSpanElement;
|
|
832
852
|
private showPreview;
|
|
@@ -840,19 +860,23 @@ type ShapeType = 'rectangle' | 'circle' | 'polygon';
|
|
|
840
860
|
interface AnnotateToolbarProps {
|
|
841
861
|
selectedMotivation: SelectionMotivation | null;
|
|
842
862
|
selectedClick: ClickAction;
|
|
843
|
-
onSelectionChange: (motivation: SelectionMotivation | null) => void;
|
|
844
|
-
onClickChange: (motivation: ClickAction) => void;
|
|
845
863
|
showSelectionGroup?: boolean;
|
|
846
864
|
showDeleteButton?: boolean;
|
|
847
865
|
showShapeGroup?: boolean;
|
|
848
866
|
selectedShape?: ShapeType;
|
|
849
|
-
onShapeChange?: (shape: ShapeType) => void;
|
|
850
867
|
mediaType?: string | null;
|
|
851
868
|
annotateMode: boolean;
|
|
852
|
-
onAnnotateModeToggle: () => void;
|
|
853
869
|
annotators: Record<string, Annotator>;
|
|
854
870
|
}
|
|
855
|
-
|
|
871
|
+
/**
|
|
872
|
+
* Toolbar for annotation controls with mode, selection, click, and shape options
|
|
873
|
+
*
|
|
874
|
+
* @emits toolbar:selection-changed - Selection motivation changed. Payload: { motivation: SelectionMotivation | null }
|
|
875
|
+
* @emits toolbar:click-changed - Click action mode changed. Payload: { action: ClickAction }
|
|
876
|
+
* @emits toolbar:shape-changed - Drawing shape changed. Payload: { shape: ShapeType }
|
|
877
|
+
* @emits view:mode-toggled - View mode toggled between browse and annotate. Payload: undefined
|
|
878
|
+
*/
|
|
879
|
+
declare function AnnotateToolbar({ selectedMotivation, selectedClick, showSelectionGroup, showDeleteButton, showShapeGroup, selectedShape, mediaType, annotateMode, annotators }: AnnotateToolbarProps): react_jsx_runtime.JSX.Element;
|
|
856
880
|
|
|
857
881
|
/**
|
|
858
882
|
* Media Type Shape Support
|
|
@@ -1057,23 +1081,6 @@ declare const OAuthUserSchema: {
|
|
|
1057
1081
|
*/
|
|
1058
1082
|
declare function sanitizeImageURL(url: string): string | null;
|
|
1059
1083
|
|
|
1060
|
-
type Annotation$k = components['schemas']['Annotation'];
|
|
1061
|
-
/**
|
|
1062
|
-
* Shared logic for annotation panel components
|
|
1063
|
-
*
|
|
1064
|
-
* Handles:
|
|
1065
|
-
* - Sorting annotations by position in the resource
|
|
1066
|
-
* - Hover effects: scroll to annotation and pulse highlight
|
|
1067
|
-
* - Ref management for annotation elements
|
|
1068
|
-
*
|
|
1069
|
-
* Used by: HighlightPanel, AssessmentPanel, CommentsPanel, ReferencesPanel
|
|
1070
|
-
*/
|
|
1071
|
-
declare function useAnnotationPanel<T extends Annotation$k>(annotations: T[], hoveredId: string | null | undefined): {
|
|
1072
|
-
sortedAnnotations: T[];
|
|
1073
|
-
containerRef: React$1.RefObject<HTMLDivElement>;
|
|
1074
|
-
handleAnnotationRef: (id: string, el: HTMLElement | null) => void;
|
|
1075
|
-
};
|
|
1076
|
-
|
|
1077
1084
|
/**
|
|
1078
1085
|
* Creates a debounced version of a callback function
|
|
1079
1086
|
*
|
|
@@ -1103,25 +1110,6 @@ declare function useDebouncedCallback<T extends (...args: any[]) => any>(callbac
|
|
|
1103
1110
|
*/
|
|
1104
1111
|
declare function useDebounce<T>(value: T, delay: number): T;
|
|
1105
1112
|
|
|
1106
|
-
interface DetectionProgress extends DetectionProgress$1 {
|
|
1107
|
-
completedEntityTypes?: Array<{
|
|
1108
|
-
entityType: string;
|
|
1109
|
-
foundCount: number;
|
|
1110
|
-
}>;
|
|
1111
|
-
}
|
|
1112
|
-
interface UseDetectionProgressOptions {
|
|
1113
|
-
rUri: ResourceUri;
|
|
1114
|
-
onComplete?: (progress: DetectionProgress) => void;
|
|
1115
|
-
onError?: (error: string) => void;
|
|
1116
|
-
onProgress?: (progress: DetectionProgress) => void;
|
|
1117
|
-
}
|
|
1118
|
-
declare function useDetectionProgress({ rUri, onComplete, onError, onProgress }: UseDetectionProgressOptions): {
|
|
1119
|
-
isDetecting: boolean;
|
|
1120
|
-
progress: DetectionProgress | null;
|
|
1121
|
-
startDetection: (entityTypes: string[]) => Promise<void>;
|
|
1122
|
-
cancelDetection: () => void;
|
|
1123
|
-
};
|
|
1124
|
-
|
|
1125
1113
|
declare function useFormattedTime(milliseconds: number | null): string | null;
|
|
1126
1114
|
|
|
1127
1115
|
interface UseFormValidationOptions {
|
|
@@ -1156,24 +1144,20 @@ declare const validationRules: {
|
|
|
1156
1144
|
pattern: (regex: RegExp, message: string) => (value: string) => string | null;
|
|
1157
1145
|
};
|
|
1158
1146
|
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1147
|
+
/**
|
|
1148
|
+
* Hook for managing generation progress tracking via events
|
|
1149
|
+
*
|
|
1150
|
+
* Subscribes to generation events from useEventOperations (Service Layer).
|
|
1151
|
+
* No direct SSE stream creation - follows three-layer architecture:
|
|
1152
|
+
* Service (useEventOperations) → Hook (this) → Component
|
|
1153
|
+
*
|
|
1154
|
+
* @subscribes generation:progress - Progress update during generation
|
|
1155
|
+
* @subscribes generation:complete - Generation completed successfully
|
|
1156
|
+
* @subscribes generation:failed - Error during generation
|
|
1157
|
+
*/
|
|
1158
|
+
declare function useGenerationProgress(): {
|
|
1166
1159
|
isGenerating: boolean;
|
|
1167
|
-
progress: GenerationProgress
|
|
1168
|
-
startGeneration: (referenceId: AnnotationUri, resourceId: ResourceUri, options: {
|
|
1169
|
-
title?: string;
|
|
1170
|
-
prompt?: string;
|
|
1171
|
-
language?: string;
|
|
1172
|
-
context: GenerationContext;
|
|
1173
|
-
temperature?: number;
|
|
1174
|
-
maxTokens?: number;
|
|
1175
|
-
}) => Promise<void>;
|
|
1176
|
-
cancelGeneration: () => void;
|
|
1160
|
+
progress: _semiont_api_client.GenerationProgress | null;
|
|
1177
1161
|
clearProgress: () => void;
|
|
1178
1162
|
};
|
|
1179
1163
|
|
|
@@ -1214,6 +1198,74 @@ declare function useLineNumbers(): {
|
|
|
1214
1198
|
toggleLineNumbers: () => void;
|
|
1215
1199
|
};
|
|
1216
1200
|
|
|
1201
|
+
/**
|
|
1202
|
+
* Generic router interface - works with any router that has push/replace methods
|
|
1203
|
+
* (Next.js App Router, Next.js Pages Router, React Router, etc.)
|
|
1204
|
+
*/
|
|
1205
|
+
interface Router {
|
|
1206
|
+
push: (path: string) => void;
|
|
1207
|
+
replace?: (path: string) => void;
|
|
1208
|
+
[key: string]: any;
|
|
1209
|
+
}
|
|
1210
|
+
/**
|
|
1211
|
+
* Hook that wraps any router with event emission for observability
|
|
1212
|
+
*
|
|
1213
|
+
* Use this to wrap your router (Next.js, React Router, etc.) when you want
|
|
1214
|
+
* navigation actions to be observable through the NavigationEventBus.
|
|
1215
|
+
*
|
|
1216
|
+
* @emits navigation:router-push - Router navigation requested. Payload: { path: string, reason?: string }
|
|
1217
|
+
*
|
|
1218
|
+
* @example
|
|
1219
|
+
* ```typescript
|
|
1220
|
+
* // Next.js App Router
|
|
1221
|
+
* import { useRouter } from 'next/navigation';
|
|
1222
|
+
* const nextRouter = useRouter();
|
|
1223
|
+
* const router = useObservableRouter(nextRouter);
|
|
1224
|
+
* router.push('/know/discover', { reason: 'resource-closed' });
|
|
1225
|
+
*
|
|
1226
|
+
* // React Router
|
|
1227
|
+
* import { useNavigate } from 'react-router-dom';
|
|
1228
|
+
* const navigate = useNavigate();
|
|
1229
|
+
* const router = useObservableRouter({ push: navigate });
|
|
1230
|
+
* router.push('/know/discover', { reason: 'resource-closed' });
|
|
1231
|
+
* ```
|
|
1232
|
+
*/
|
|
1233
|
+
declare function useObservableRouter<T extends Router>(baseRouter: T): T;
|
|
1234
|
+
/**
|
|
1235
|
+
* Request navigation with event emission
|
|
1236
|
+
*
|
|
1237
|
+
* This hook emits a navigation request event. The app must subscribe to
|
|
1238
|
+
* 'navigation:external-navigate' and perform the actual navigation using
|
|
1239
|
+
* its router (Next.js, React Router, etc.) to enable client-side routing.
|
|
1240
|
+
*
|
|
1241
|
+
* If no subscriber handles the event, falls back to window.location.href
|
|
1242
|
+
* after a brief delay to allow for event handling.
|
|
1243
|
+
*
|
|
1244
|
+
* @emits navigation:external-navigate - External navigation requested. Payload: { url: string, context?: Record<string, unknown> }
|
|
1245
|
+
*
|
|
1246
|
+
* @example
|
|
1247
|
+
* ```typescript
|
|
1248
|
+
* // In component (react-ui package)
|
|
1249
|
+
* const navigate = useObservableExternalNavigation();
|
|
1250
|
+
* navigate('/know/resource/123', { resourceId: '123' });
|
|
1251
|
+
*
|
|
1252
|
+
* // In app (frontend package) - subscribe and handle with Next.js router
|
|
1253
|
+
* const router = useRouter();
|
|
1254
|
+
* const eventBus = useEventBus();
|
|
1255
|
+
*
|
|
1256
|
+
* useEffect(() => {
|
|
1257
|
+
* const handleNav = ({ url }) => {
|
|
1258
|
+
* router.push(url); // Client-side navigation
|
|
1259
|
+
* };
|
|
1260
|
+
* eventBus.on('navigation:external-navigate', handleNav);
|
|
1261
|
+
* return () => eventBus.off('navigation:external-navigate', handleNav);
|
|
1262
|
+
* }, []);
|
|
1263
|
+
* ```
|
|
1264
|
+
*/
|
|
1265
|
+
declare function useObservableExternalNavigation(): (url: string, metadata?: {
|
|
1266
|
+
resourceId?: string;
|
|
1267
|
+
}) => void;
|
|
1268
|
+
|
|
1217
1269
|
interface UsePanelWidthOptions {
|
|
1218
1270
|
defaultWidth?: number;
|
|
1219
1271
|
minWidth?: number;
|
|
@@ -1375,6 +1427,18 @@ declare function useLoadingState(minLoadingTime?: number): {
|
|
|
1375
1427
|
*/
|
|
1376
1428
|
declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((val: T) => T)) => void];
|
|
1377
1429
|
|
|
1430
|
+
type SemiontResource$3 = components['schemas']['ResourceDescriptor'];
|
|
1431
|
+
interface UseResourceContentResult {
|
|
1432
|
+
content: string;
|
|
1433
|
+
loading: boolean;
|
|
1434
|
+
}
|
|
1435
|
+
/**
|
|
1436
|
+
* Hook to load resource content (representation)
|
|
1437
|
+
*
|
|
1438
|
+
* Fetches the primary representation of a resource based on its media type.
|
|
1439
|
+
*/
|
|
1440
|
+
declare function useResourceContent(rUri: ResourceUri, resource: SemiontResource$3): UseResourceContentResult;
|
|
1441
|
+
|
|
1378
1442
|
interface AnnotationProviderProps {
|
|
1379
1443
|
annotationManager: AnnotationManager;
|
|
1380
1444
|
children: React__default.ReactNode;
|
|
@@ -1388,6 +1452,8 @@ interface AnnotationProviderProps {
|
|
|
1388
1452
|
* Example usage:
|
|
1389
1453
|
* ```typescript
|
|
1390
1454
|
* // In app (apps/frontend/src/hooks/useAnnotationManager.ts)
|
|
1455
|
+
* import { uriToAnnotationIdOrPassthrough } from '@semiont/core';
|
|
1456
|
+
*
|
|
1391
1457
|
* function useAnnotationManager(): AnnotationManager {
|
|
1392
1458
|
* const annotations = useAnnotations();
|
|
1393
1459
|
* const createMutation = annotations.create.useMutation();
|
|
@@ -1402,7 +1468,7 @@ interface AnnotationProviderProps {
|
|
|
1402
1468
|
* return result.annotation;
|
|
1403
1469
|
* },
|
|
1404
1470
|
* deleteAnnotation: async (params) => {
|
|
1405
|
-
* const annotationIdSegment = params.annotationId
|
|
1471
|
+
* const annotationIdSegment = uriToAnnotationIdOrPassthrough(params.annotationId);
|
|
1406
1472
|
* await deleteMutation.mutateAsync(resourceAnnotationUri(`${params.rUri}/annotations/${annotationIdSegment}`));
|
|
1407
1473
|
* }
|
|
1408
1474
|
* };
|
|
@@ -1455,20 +1521,41 @@ declare function AnnotationUIProvider({ children }: AnnotationUIProviderProps):
|
|
|
1455
1521
|
declare function useAnnotationUI(): AnnotationUIContextType;
|
|
1456
1522
|
|
|
1457
1523
|
interface ApiClientProviderProps {
|
|
1458
|
-
|
|
1524
|
+
baseUrl: string;
|
|
1459
1525
|
children: ReactNode;
|
|
1460
1526
|
}
|
|
1461
1527
|
/**
|
|
1462
|
-
* Provider for API client
|
|
1463
|
-
*
|
|
1528
|
+
* Provider for API client - creates a stateless singleton client
|
|
1529
|
+
* The client instance never changes (no token dependency)
|
|
1530
|
+
* Auth tokens are passed per-request via useAuthToken() in calling code
|
|
1464
1531
|
*/
|
|
1465
|
-
declare function ApiClientProvider({
|
|
1532
|
+
declare function ApiClientProvider({ baseUrl: url, children, }: ApiClientProviderProps): react_jsx_runtime.JSX.Element;
|
|
1466
1533
|
/**
|
|
1467
|
-
* Hook to access the API client
|
|
1534
|
+
* Hook to access the stateless API client singleton
|
|
1468
1535
|
* Must be used within an ApiClientProvider
|
|
1469
|
-
* @returns
|
|
1536
|
+
* @returns Stateless SemiontApiClient instance
|
|
1537
|
+
*/
|
|
1538
|
+
declare function useApiClient(): SemiontApiClient;
|
|
1539
|
+
|
|
1540
|
+
interface AuthTokenProviderProps {
|
|
1541
|
+
token: string | null;
|
|
1542
|
+
children: ReactNode;
|
|
1543
|
+
}
|
|
1544
|
+
/**
|
|
1545
|
+
* Provider for auth token
|
|
1546
|
+
* Pass the current token value - React handles the rest
|
|
1547
|
+
*/
|
|
1548
|
+
declare function AuthTokenProvider({ token, children, }: AuthTokenProviderProps): react_jsx_runtime.JSX.Element;
|
|
1549
|
+
/**
|
|
1550
|
+
* Hook to get current auth token
|
|
1551
|
+
*
|
|
1552
|
+
* Returns the current token value from context.
|
|
1553
|
+
* Re-renders automatically when token changes (normal React behavior).
|
|
1554
|
+
*
|
|
1555
|
+
* @returns Current access token (null if not authenticated)
|
|
1556
|
+
* @throws Error if used outside AuthTokenProvider
|
|
1470
1557
|
*/
|
|
1471
|
-
declare function
|
|
1558
|
+
declare function useAuthToken(): string | null;
|
|
1472
1559
|
|
|
1473
1560
|
interface CacheProviderProps {
|
|
1474
1561
|
cacheManager: CacheManager;
|
|
@@ -1512,60 +1599,50 @@ declare function CacheProvider({ cacheManager, children }: CacheProviderProps):
|
|
|
1512
1599
|
*/
|
|
1513
1600
|
declare function useCacheManager(): CacheManager;
|
|
1514
1601
|
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
interface SelectionData {
|
|
1519
|
-
exact: string;
|
|
1520
|
-
start: number;
|
|
1521
|
-
end: number;
|
|
1522
|
-
svgSelector?: string;
|
|
1523
|
-
fragmentSelector?: string;
|
|
1524
|
-
conformsTo?: string;
|
|
1525
|
-
prefix?: string;
|
|
1526
|
-
suffix?: string;
|
|
1527
|
-
}
|
|
1528
|
-
type EventBus = ReturnType<typeof mitt<MakeMeaningEventMap>>;
|
|
1529
|
-
interface MakeMeaningEventBusProviderProps {
|
|
1530
|
-
rUri: ResourceUri;
|
|
1531
|
-
children: ReactNode;
|
|
1602
|
+
interface EventOperationsConfig {
|
|
1603
|
+
client: SemiontApiClient;
|
|
1604
|
+
resourceUri: ResourceUri;
|
|
1532
1605
|
}
|
|
1533
1606
|
/**
|
|
1534
|
-
*
|
|
1607
|
+
* Hook that subscribes to operation events and coordinates API calls
|
|
1535
1608
|
*
|
|
1536
|
-
*
|
|
1537
|
-
* UI
|
|
1609
|
+
* This hook implements the event-driven architecture by listening to events
|
|
1610
|
+
* emitted by UI components and translating them into API operations.
|
|
1538
1611
|
*
|
|
1539
|
-
*
|
|
1540
|
-
*
|
|
1541
|
-
* 2. Other components to react to those events
|
|
1542
|
-
* 3. Backend events to flow through the same bus
|
|
1543
|
-
* 4. Foundation for peer-to-peer real-time collaboration
|
|
1612
|
+
* @param emitter - The mitt event bus instance
|
|
1613
|
+
* @param config - Configuration including API client and callbacks
|
|
1544
1614
|
*/
|
|
1545
|
-
declare function
|
|
1615
|
+
declare function useEventOperations(emitter: Emitter<EventMap>, config: EventOperationsConfig): void;
|
|
1616
|
+
|
|
1546
1617
|
/**
|
|
1547
|
-
*
|
|
1618
|
+
* Subscribe to an event bus event with automatic cleanup.
|
|
1548
1619
|
*
|
|
1549
|
-
*
|
|
1550
|
-
*
|
|
1620
|
+
* This hook solves the "stale closure" problem by always using the latest
|
|
1621
|
+
* version of the handler without re-subscribing.
|
|
1551
1622
|
*
|
|
1552
1623
|
* @example
|
|
1553
|
-
* ```
|
|
1554
|
-
*
|
|
1555
|
-
*
|
|
1556
|
-
*
|
|
1557
|
-
*
|
|
1558
|
-
*
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1624
|
+
* ```tsx
|
|
1625
|
+
* useEventSubscription('annotation:created', ({ annotation }) => {
|
|
1626
|
+
* // This always uses the latest props/state
|
|
1627
|
+
* triggerSparkleAnimation(annotation.id);
|
|
1628
|
+
* });
|
|
1629
|
+
* ```
|
|
1630
|
+
*/
|
|
1631
|
+
declare function useEventSubscription<K extends keyof EventMap>(eventName: K, handler: (payload: EventMap[K]) => void): void;
|
|
1632
|
+
/**
|
|
1633
|
+
* Subscribe to multiple events at once.
|
|
1562
1634
|
*
|
|
1563
|
-
*
|
|
1564
|
-
*
|
|
1565
|
-
*
|
|
1635
|
+
* @example
|
|
1636
|
+
* ```tsx
|
|
1637
|
+
* useEventSubscriptions({
|
|
1638
|
+
* 'annotation:created': ({ annotation }) => setNewAnnotation(annotation),
|
|
1639
|
+
* 'annotation:deleted': ({ annotationId }) => removeAnnotation(annotationId),
|
|
1640
|
+
* });
|
|
1566
1641
|
* ```
|
|
1567
1642
|
*/
|
|
1568
|
-
declare function
|
|
1643
|
+
declare function useEventSubscriptions(subscriptions: {
|
|
1644
|
+
[K in keyof EventMap]?: (payload: EventMap[K]) => void;
|
|
1645
|
+
}): void;
|
|
1569
1646
|
|
|
1570
1647
|
/**
|
|
1571
1648
|
* Provider Pattern: Accepts OpenResourcesManager implementation as prop
|
|
@@ -1594,11 +1671,10 @@ declare function OpenResourcesProvider({ openResourcesManager, children }: {
|
|
|
1594
1671
|
*/
|
|
1595
1672
|
declare function useOpenResources(): OpenResourcesManager;
|
|
1596
1673
|
|
|
1597
|
-
type Annotation$
|
|
1674
|
+
type Annotation$h = components['schemas']['Annotation'];
|
|
1598
1675
|
interface ResourceAnnotationsContextType {
|
|
1599
1676
|
newAnnotationIds: Set<string>;
|
|
1600
|
-
createAnnotation: (rUri: ResourceUri, motivation: 'highlighting' | 'linking' | 'assessing' | 'commenting' | 'tagging', selector: Selector | Selector[], body?: any[]) => Promise<Annotation$
|
|
1601
|
-
deleteAnnotation: (annotationId: string, rUri: ResourceUri) => Promise<void>;
|
|
1677
|
+
createAnnotation: (rUri: ResourceUri, motivation: 'highlighting' | 'linking' | 'assessing' | 'commenting' | 'tagging', selector: Selector | Selector[], body?: any[]) => Promise<Annotation$h | undefined>;
|
|
1602
1678
|
clearNewAnnotationId: (id: AnnotationUri) => void;
|
|
1603
1679
|
triggerSparkleAnimation: (annotationId: string) => void;
|
|
1604
1680
|
}
|
|
@@ -1741,18 +1817,16 @@ declare function usePreloadTranslations(): {
|
|
|
1741
1817
|
isLoaded: (locale: string) => boolean;
|
|
1742
1818
|
};
|
|
1743
1819
|
|
|
1744
|
-
type Annotation$
|
|
1820
|
+
type Annotation$g = components['schemas']['Annotation'];
|
|
1745
1821
|
interface TextSegment {
|
|
1746
1822
|
exact: string;
|
|
1747
|
-
annotation?: Annotation$
|
|
1823
|
+
annotation?: Annotation$g;
|
|
1748
1824
|
start: number;
|
|
1749
1825
|
end: number;
|
|
1750
1826
|
}
|
|
1751
1827
|
interface Props$b {
|
|
1752
1828
|
content: string;
|
|
1753
|
-
segments
|
|
1754
|
-
onAnnotationClick?: (annotation: Annotation$i) => void;
|
|
1755
|
-
onAnnotationHover?: (annotationId: string | null) => void;
|
|
1829
|
+
segments?: TextSegment[];
|
|
1756
1830
|
onTextSelect?: (exact: string, position: {
|
|
1757
1831
|
start: number;
|
|
1758
1832
|
end: number;
|
|
@@ -1766,23 +1840,23 @@ interface Props$b {
|
|
|
1766
1840
|
sourceView?: boolean;
|
|
1767
1841
|
showLineNumbers?: boolean;
|
|
1768
1842
|
enableWidgets?: boolean;
|
|
1769
|
-
|
|
1770
|
-
onReferenceNavigate?: (documentId: string) => void;
|
|
1771
|
-
onUnresolvedReferenceClick?: (annotation: Annotation$i) => void;
|
|
1843
|
+
eventBus?: EventBus;
|
|
1772
1844
|
getTargetDocumentName?: (documentId: string) => string | undefined;
|
|
1773
1845
|
generatingReferenceId?: string | null;
|
|
1774
|
-
onDeleteAnnotation?: (annotation: Annotation$i) => void;
|
|
1775
|
-
annotators: Record<string, Annotator>;
|
|
1776
1846
|
}
|
|
1777
|
-
declare function CodeMirrorRenderer({ content, segments,
|
|
1847
|
+
declare function CodeMirrorRenderer({ content, segments, onChange, editable, newAnnotationIds, hoveredAnnotationId, hoveredCommentId, scrollToAnnotationId, sourceView, showLineNumbers, enableWidgets, eventBus, getTargetDocumentName, generatingReferenceId }: Props$b): react_jsx_runtime.JSX.Element;
|
|
1778
1848
|
|
|
1779
|
-
type Motivation$
|
|
1849
|
+
type Motivation$6 = components['schemas']['Motivation'];
|
|
1780
1850
|
interface DetectionProgressWidgetProps {
|
|
1781
1851
|
progress: DetectionProgress | null;
|
|
1782
|
-
|
|
1783
|
-
annotationType?: Motivation$9 | 'reference';
|
|
1852
|
+
annotationType?: Motivation$6 | 'reference';
|
|
1784
1853
|
}
|
|
1785
|
-
|
|
1854
|
+
/**
|
|
1855
|
+
* Widget for displaying detection progress with cancel functionality
|
|
1856
|
+
*
|
|
1857
|
+
* @emits job:cancel-requested - User requested to cancel detection job. Payload: { jobType: string }
|
|
1858
|
+
*/
|
|
1859
|
+
declare function DetectionProgressWidget({ progress, annotationType }: DetectionProgressWidgetProps): react_jsx_runtime.JSX.Element | null;
|
|
1786
1860
|
|
|
1787
1861
|
interface Props$a {
|
|
1788
1862
|
children: ReactNode;
|
|
@@ -1812,7 +1886,7 @@ declare function AsyncErrorBoundary({ children }: {
|
|
|
1812
1886
|
children: ReactNode;
|
|
1813
1887
|
}): react_jsx_runtime.JSX.Element;
|
|
1814
1888
|
|
|
1815
|
-
type Annotation$
|
|
1889
|
+
type Annotation$f = components['schemas']['Annotation'];
|
|
1816
1890
|
interface LiveRegionContextType {
|
|
1817
1891
|
announce: (message: string, priority?: 'polite' | 'assertive') => void;
|
|
1818
1892
|
}
|
|
@@ -1828,9 +1902,9 @@ declare function useSearchAnnouncements(): {
|
|
|
1828
1902
|
declare function useDocumentAnnouncements(annotators?: Record<string, Annotator>): {
|
|
1829
1903
|
announceDocumentSaved: () => void;
|
|
1830
1904
|
announceDocumentDeleted: () => void;
|
|
1831
|
-
announceAnnotationCreated: (annotation: Annotation$
|
|
1905
|
+
announceAnnotationCreated: (annotation: Annotation$f) => void;
|
|
1832
1906
|
announceAnnotationDeleted: () => void;
|
|
1833
|
-
announceAnnotationUpdated: (annotation: Annotation$
|
|
1907
|
+
announceAnnotationUpdated: (annotation: Annotation$f) => void;
|
|
1834
1908
|
announceError: (message: string) => void;
|
|
1835
1909
|
};
|
|
1836
1910
|
declare function useResourceLoadingAnnouncements(): {
|
|
@@ -1924,25 +1998,33 @@ type ToolbarContext = 'document' | 'simple';
|
|
|
1924
1998
|
interface Props$9<T extends string = string> {
|
|
1925
1999
|
context: ToolbarContext;
|
|
1926
2000
|
activePanel: T | null;
|
|
1927
|
-
onPanelToggle: (panel: T) => void;
|
|
1928
2001
|
isArchived?: boolean;
|
|
1929
2002
|
}
|
|
1930
|
-
|
|
2003
|
+
/**
|
|
2004
|
+
* Toolbar component for panel navigation
|
|
2005
|
+
*
|
|
2006
|
+
* @emits panel:toggle - Toggle panel visibility. Payload: { panel: string }
|
|
2007
|
+
*/
|
|
2008
|
+
declare function Toolbar<T extends string = string>({ context, activePanel, isArchived }: Props$9<T>): react_jsx_runtime.JSX.Element;
|
|
1931
2009
|
|
|
1932
2010
|
interface SettingsPanelProps {
|
|
1933
2011
|
showLineNumbers: boolean;
|
|
1934
|
-
onLineNumbersToggle: () => void;
|
|
1935
2012
|
theme: 'light' | 'dark' | 'system';
|
|
1936
|
-
onThemeChange: (theme: 'light' | 'dark' | 'system') => void;
|
|
1937
2013
|
locale: string;
|
|
1938
|
-
onLocaleChange: (locale: string) => void;
|
|
1939
2014
|
isPendingLocaleChange?: boolean;
|
|
1940
2015
|
}
|
|
1941
|
-
|
|
2016
|
+
/**
|
|
2017
|
+
* Settings panel for application preferences
|
|
2018
|
+
*
|
|
2019
|
+
* @emits settings:locale-changed - Locale changed by user. Payload: { locale: string }
|
|
2020
|
+
* @emits settings:line-numbers-toggled - Line numbers toggled on/off. Payload: undefined
|
|
2021
|
+
* @emits settings:theme-changed - Theme changed by user. Payload: { theme: 'light' | 'dark' | 'system' }
|
|
2022
|
+
*/
|
|
2023
|
+
declare function SettingsPanel({ showLineNumbers, theme, locale, isPendingLocaleChange }: SettingsPanelProps): react_jsx_runtime.JSX.Element;
|
|
1942
2024
|
|
|
1943
|
-
type Annotation$
|
|
2025
|
+
type Annotation$e = components['schemas']['Annotation'];
|
|
1944
2026
|
interface JsonLdViewProps {
|
|
1945
|
-
annotation: Annotation$
|
|
2027
|
+
annotation: Annotation$e;
|
|
1946
2028
|
onBack: () => void;
|
|
1947
2029
|
}
|
|
1948
2030
|
declare function JsonLdView({ annotation, onBack }: JsonLdViewProps): react_jsx_runtime.JSX.Element;
|
|
@@ -1973,40 +2055,43 @@ interface PopupContainerProps {
|
|
|
1973
2055
|
}
|
|
1974
2056
|
declare function PopupContainer({ children, position, onClose, isOpen, wide }: PopupContainerProps): react_jsx_runtime.JSX.Element;
|
|
1975
2057
|
|
|
1976
|
-
type Annotation$
|
|
2058
|
+
type Annotation$d = components['schemas']['Annotation'];
|
|
1977
2059
|
interface AnnotationOverlayProps {
|
|
1978
|
-
annotations: Annotation$
|
|
2060
|
+
annotations: Annotation$d[];
|
|
1979
2061
|
imageWidth: number;
|
|
1980
2062
|
imageHeight: number;
|
|
1981
2063
|
displayWidth: number;
|
|
1982
2064
|
displayHeight: number;
|
|
1983
|
-
|
|
1984
|
-
onAnnotationHover?: (annotationId: string | null) => void;
|
|
2065
|
+
eventBus?: EventBus;
|
|
1985
2066
|
hoveredAnnotationId?: string | null;
|
|
1986
2067
|
selectedAnnotationId?: string | null;
|
|
1987
2068
|
}
|
|
1988
2069
|
/**
|
|
1989
2070
|
* Render annotation overlay - displays existing annotations as SVG shapes
|
|
2071
|
+
*
|
|
2072
|
+
* @emits annotation:hover - Annotation hovered or unhovered. Payload: { annotationId: string | null }
|
|
2073
|
+
* @emits annotation:click - Annotation clicked. Payload: { annotationId: string, motivation: Motivation }
|
|
1990
2074
|
*/
|
|
1991
|
-
declare function AnnotationOverlay({ annotations, imageWidth, imageHeight, displayWidth, displayHeight,
|
|
2075
|
+
declare function AnnotationOverlay({ annotations, imageWidth, imageHeight, displayWidth, displayHeight, eventBus, hoveredAnnotationId, selectedAnnotationId }: AnnotationOverlayProps): react_jsx_runtime.JSX.Element;
|
|
1992
2076
|
|
|
1993
|
-
type Annotation$
|
|
2077
|
+
type Annotation$c = components['schemas']['Annotation'];
|
|
1994
2078
|
type DrawingMode = 'rectangle' | 'polygon' | 'circle' | 'freeform' | null;
|
|
1995
2079
|
interface SvgDrawingCanvasProps {
|
|
1996
2080
|
resourceUri: ResourceUri;
|
|
1997
|
-
existingAnnotations?: Annotation$
|
|
2081
|
+
existingAnnotations?: Annotation$c[];
|
|
1998
2082
|
drawingMode: DrawingMode;
|
|
1999
2083
|
selectedMotivation?: SelectionMotivation | null;
|
|
2000
|
-
|
|
2001
|
-
x: number;
|
|
2002
|
-
y: number;
|
|
2003
|
-
}) => void;
|
|
2004
|
-
onAnnotationClick?: (annotation: Annotation$e) => void;
|
|
2005
|
-
onAnnotationHover?: (annotationId: string | null) => void;
|
|
2084
|
+
eventBus?: EventBus;
|
|
2006
2085
|
hoveredAnnotationId?: string | null;
|
|
2007
2086
|
selectedAnnotationId?: string | null;
|
|
2008
2087
|
}
|
|
2009
|
-
|
|
2088
|
+
/**
|
|
2089
|
+
* SVG-based drawing canvas for creating image annotations with shapes
|
|
2090
|
+
*
|
|
2091
|
+
* @emits annotation:click - Annotation clicked on canvas. Payload: { annotationId: string, motivation: Motivation }
|
|
2092
|
+
* @emits annotation:requested - New annotation drawn on canvas. Payload: { selector: SvgSelector, motivation: SelectionMotivation }
|
|
2093
|
+
*/
|
|
2094
|
+
declare function SvgDrawingCanvas({ resourceUri, existingAnnotations, drawingMode, selectedMotivation, eventBus, hoveredAnnotationId, selectedAnnotationId }: SvgDrawingCanvasProps): react_jsx_runtime.JSX.Element;
|
|
2010
2095
|
|
|
2011
2096
|
interface KeyboardShortcutsHelpModalProps {
|
|
2012
2097
|
isOpen: boolean;
|
|
@@ -2021,37 +2106,30 @@ interface ProposeEntitiesModalProps {
|
|
|
2021
2106
|
}
|
|
2022
2107
|
declare function ProposeEntitiesModal({ isOpen, onConfirm, onCancel }: ProposeEntitiesModalProps): react_jsx_runtime.JSX.Element;
|
|
2023
2108
|
|
|
2024
|
-
type Annotation$d = components['schemas']['Annotation'];
|
|
2025
|
-
type Motivation$8 = components['schemas']['Motivation'];
|
|
2026
|
-
interface PendingAnnotation$7 {
|
|
2027
|
-
selector: Selector | Selector[];
|
|
2028
|
-
motivation: Motivation$8;
|
|
2029
|
-
}
|
|
2030
|
-
|
|
2031
2109
|
interface Props$8 {
|
|
2032
2110
|
content: string;
|
|
2033
2111
|
mimeType?: string;
|
|
2034
2112
|
resourceUri?: string;
|
|
2035
2113
|
annotations: AnnotationsCollection;
|
|
2036
|
-
handlers?: AnnotationHandlers;
|
|
2037
|
-
creationHandler?: AnnotationCreationHandler;
|
|
2038
2114
|
uiState: AnnotationUIState;
|
|
2039
2115
|
onUIStateChange?: (state: Partial<AnnotationUIState>) => void;
|
|
2040
2116
|
editable?: boolean;
|
|
2041
2117
|
enableWidgets?: boolean;
|
|
2042
|
-
onEntityTypeClick?: (entityType: string) => void;
|
|
2043
|
-
onReferenceNavigate?: (documentId: string) => void;
|
|
2044
|
-
onUnresolvedReferenceClick?: (annotation: Annotation$d) => void;
|
|
2045
2118
|
getTargetDocumentName?: (documentId: string) => string | undefined;
|
|
2046
2119
|
generatingReferenceId?: string | null;
|
|
2047
|
-
onDeleteAnnotation?: (annotation: Annotation$d) => void;
|
|
2048
2120
|
showLineNumbers?: boolean;
|
|
2049
2121
|
annotateMode: boolean;
|
|
2050
|
-
onAnnotateModeToggle: () => void;
|
|
2051
|
-
onAnnotationRequested?: (pending: PendingAnnotation$7) => void;
|
|
2052
|
-
annotators: Record<string, Annotator>;
|
|
2053
2122
|
}
|
|
2054
|
-
|
|
2123
|
+
/**
|
|
2124
|
+
* View component for annotating resources with text selection and drawing
|
|
2125
|
+
*
|
|
2126
|
+
* @emits annotation:requested - User requested to create annotation. Payload: { selector: Selector | Selector[], motivation: SelectionMotivation }
|
|
2127
|
+
* @subscribes toolbar:selection-changed - Toolbar selection changed. Payload: { motivation: string | null }
|
|
2128
|
+
* @subscribes toolbar:click-changed - Toolbar click action changed. Payload: { action: string }
|
|
2129
|
+
* @subscribes toolbar:shape-changed - Toolbar shape changed. Payload: { shape: string }
|
|
2130
|
+
* @subscribes annotation:hover - Annotation hovered. Payload: { annotationId: string | null }
|
|
2131
|
+
*/
|
|
2132
|
+
declare function AnnotateView({ content, mimeType, resourceUri, annotations, uiState, onUIStateChange, enableWidgets, getTargetDocumentName, generatingReferenceId, showLineNumbers, annotateMode }: Props$8): react_jsx_runtime.JSX.Element;
|
|
2055
2133
|
|
|
2056
2134
|
interface Props$7 {
|
|
2057
2135
|
rUri: ResourceUri;
|
|
@@ -2068,16 +2146,21 @@ interface Props$6 {
|
|
|
2068
2146
|
mimeType: string;
|
|
2069
2147
|
resourceUri: string;
|
|
2070
2148
|
annotations: AnnotationsCollection;
|
|
2071
|
-
handlers?: AnnotationHandlers;
|
|
2072
2149
|
hoveredAnnotationId?: string | null;
|
|
2073
2150
|
hoveredCommentId?: string | null;
|
|
2074
2151
|
selectedClick?: ClickAction;
|
|
2075
|
-
onClickChange?: (motivation: ClickAction) => void;
|
|
2076
2152
|
annotateMode: boolean;
|
|
2077
|
-
onAnnotateModeToggle: () => void;
|
|
2078
|
-
annotators: Record<string, Annotator>;
|
|
2079
2153
|
}
|
|
2080
|
-
|
|
2154
|
+
/**
|
|
2155
|
+
* View component for browsing annotated resources in read-only mode
|
|
2156
|
+
*
|
|
2157
|
+
* @emits annotation:click - User clicked on annotation. Payload: { annotationId: string, motivation: Motivation }
|
|
2158
|
+
* @emits annotation:hover - User hovered over annotation. Payload: { annotationId: string | null }
|
|
2159
|
+
*
|
|
2160
|
+
* @subscribes annotation:hover - Highlight annotation on hover. Payload: { annotationId: string | null }
|
|
2161
|
+
* @subscribes annotation:focus - Scroll to and highlight annotation. Payload: { annotationId: string }
|
|
2162
|
+
*/
|
|
2163
|
+
declare function BrowseView({ content, mimeType, resourceUri, annotations, selectedClick, annotateMode }: Props$6): react_jsx_runtime.JSX.Element;
|
|
2081
2164
|
|
|
2082
2165
|
type TranslateFn$4 = (key: string, params?: Record<string, string | number>) => string;
|
|
2083
2166
|
interface Props$5 {
|
|
@@ -2095,11 +2178,6 @@ interface Props$5 {
|
|
|
2095
2178
|
declare function HistoryEvent({ event, annotations, allEvents, isRelated, t, Link, routes, onEventRef, onEventClick, onEventHover }: Props$5): react_jsx_runtime.JSX.Element;
|
|
2096
2179
|
|
|
2097
2180
|
type SemiontResource$2 = components['schemas']['ResourceDescriptor'];
|
|
2098
|
-
type Motivation$7 = components['schemas']['Motivation'];
|
|
2099
|
-
interface PendingAnnotation$6 {
|
|
2100
|
-
selector: Selector | Selector[];
|
|
2101
|
-
motivation: Motivation$7;
|
|
2102
|
-
}
|
|
2103
2181
|
/**
|
|
2104
2182
|
* ResourceViewer - Display and interact with resource content and annotations
|
|
2105
2183
|
*
|
|
@@ -2125,36 +2203,40 @@ interface Props$4 {
|
|
|
2125
2203
|
annotations: AnnotationsCollection;
|
|
2126
2204
|
generatingReferenceId?: string | null;
|
|
2127
2205
|
showLineNumbers?: boolean;
|
|
2128
|
-
|
|
2129
|
-
annotators: Record<string, Annotator>;
|
|
2206
|
+
hoveredAnnotationId?: string | null;
|
|
2130
2207
|
}
|
|
2131
|
-
|
|
2208
|
+
/**
|
|
2209
|
+
* @emits annotation:delete - User requested to delete annotation. Payload: { annotationId: string }
|
|
2210
|
+
* @emits panel:open - Request to open panel with annotation. Payload: { panel: string, scrollToAnnotationId?: string, motivation?: Motivation }
|
|
2211
|
+
*
|
|
2212
|
+
* @subscribes view:mode-toggled - Toggles between browse and annotate mode. Payload: { mode: 'browse' | 'annotate' }
|
|
2213
|
+
* @subscribes annotation:added - New annotation was added. Payload: { annotation: Annotation }
|
|
2214
|
+
* @subscribes annotation:removed - Annotation was removed. Payload: { annotationId: string }
|
|
2215
|
+
* @subscribes annotation:updated - Annotation was updated. Payload: { annotation: Annotation }
|
|
2216
|
+
* @subscribes toolbar:selection-changed - Text selection tool changed. Payload: { selection: boolean }
|
|
2217
|
+
* @subscribes toolbar:click-changed - Click annotation tool changed. Payload: { click: 'detail' | 'scroll' | null }
|
|
2218
|
+
* @subscribes toolbar:shape-changed - Drawing shape changed. Payload: { shape: string }
|
|
2219
|
+
* @subscribes annotation:click - User clicked on annotation. Payload: { annotationId: string }
|
|
2220
|
+
*/
|
|
2221
|
+
declare function ResourceViewer({ resource, annotations, generatingReferenceId, showLineNumbers, hoveredAnnotationId: hoveredAnnotationIdProp }: Props$4): react_jsx_runtime.JSX.Element;
|
|
2132
2222
|
|
|
2133
|
-
type Annotation$
|
|
2223
|
+
type Annotation$b = components['schemas']['Annotation'];
|
|
2134
2224
|
interface AssessmentEntryProps {
|
|
2135
|
-
assessment: Annotation$
|
|
2225
|
+
assessment: Annotation$b;
|
|
2136
2226
|
isFocused: boolean;
|
|
2137
|
-
|
|
2138
|
-
onAssessmentRef: (assessmentId: string, el: HTMLElement | null) => void;
|
|
2139
|
-
onAssessmentHover?: (assessmentId: string | null) => void;
|
|
2227
|
+
isHovered?: boolean;
|
|
2140
2228
|
}
|
|
2141
|
-
declare
|
|
2229
|
+
declare const AssessmentEntry: React$1.ForwardRefExoticComponent<AssessmentEntryProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2142
2230
|
|
|
2143
|
-
type Annotation$
|
|
2144
|
-
type Motivation$
|
|
2145
|
-
interface PendingAnnotation$
|
|
2231
|
+
type Annotation$a = components['schemas']['Annotation'];
|
|
2232
|
+
type Motivation$5 = components['schemas']['Motivation'];
|
|
2233
|
+
interface PendingAnnotation$6 {
|
|
2146
2234
|
selector: Selector | Selector[];
|
|
2147
|
-
motivation: Motivation$
|
|
2235
|
+
motivation: Motivation$5;
|
|
2148
2236
|
}
|
|
2149
2237
|
interface AssessmentPanelProps {
|
|
2150
|
-
annotations: Annotation$
|
|
2151
|
-
|
|
2152
|
-
focusedAnnotationId: string | null;
|
|
2153
|
-
hoveredAnnotationId?: string | null;
|
|
2154
|
-
onAnnotationHover?: (annotationId: string | null) => void;
|
|
2155
|
-
onCreate: (assessmentText: string) => void;
|
|
2156
|
-
pendingAnnotation: PendingAnnotation$5 | null;
|
|
2157
|
-
onDetect?: (instructions?: string) => void | Promise<void>;
|
|
2238
|
+
annotations: Annotation$a[];
|
|
2239
|
+
pendingAnnotation: PendingAnnotation$6 | null;
|
|
2158
2240
|
isDetecting?: boolean;
|
|
2159
2241
|
detectionProgress?: {
|
|
2160
2242
|
status: string;
|
|
@@ -2162,8 +2244,18 @@ interface AssessmentPanelProps {
|
|
|
2162
2244
|
message?: string;
|
|
2163
2245
|
} | null;
|
|
2164
2246
|
annotateMode?: boolean;
|
|
2247
|
+
scrollToAnnotationId?: string | null;
|
|
2248
|
+
onScrollCompleted?: () => void;
|
|
2249
|
+
hoveredAnnotationId?: string | null;
|
|
2165
2250
|
}
|
|
2166
|
-
|
|
2251
|
+
/**
|
|
2252
|
+
* Panel for managing assessment annotations with text input
|
|
2253
|
+
*
|
|
2254
|
+
* @emits annotation:create - Create new assessment annotation. Payload: { motivation: 'assessing', selector: Selector | Selector[], body: Body[] }
|
|
2255
|
+
* @emits annotation:cancel-pending - Cancel pending assessment annotation. Payload: undefined
|
|
2256
|
+
* @subscribes annotation:click - Annotation clicked. Payload: { annotationId: string }
|
|
2257
|
+
*/
|
|
2258
|
+
declare function AssessmentPanel({ annotations, pendingAnnotation, isDetecting, detectionProgress, annotateMode, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: AssessmentPanelProps): react_jsx_runtime.JSX.Element;
|
|
2167
2259
|
|
|
2168
2260
|
interface Props$3 {
|
|
2169
2261
|
isConnected: boolean;
|
|
@@ -2172,41 +2264,43 @@ interface Props$3 {
|
|
|
2172
2264
|
}
|
|
2173
2265
|
declare function CollaborationPanel({ isConnected, eventCount, lastEventTimestamp }: Props$3): react_jsx_runtime.JSX.Element;
|
|
2174
2266
|
|
|
2175
|
-
type Annotation$
|
|
2267
|
+
type Annotation$9 = components['schemas']['Annotation'];
|
|
2176
2268
|
interface CommentEntryProps {
|
|
2177
|
-
comment: Annotation$
|
|
2269
|
+
comment: Annotation$9;
|
|
2178
2270
|
isFocused: boolean;
|
|
2179
|
-
|
|
2180
|
-
onCommentRef: (commentId: string, el: HTMLElement | null) => void;
|
|
2181
|
-
onCommentHover?: (commentId: string | null) => void;
|
|
2271
|
+
isHovered?: boolean;
|
|
2182
2272
|
annotateMode?: boolean;
|
|
2183
2273
|
}
|
|
2184
|
-
declare
|
|
2274
|
+
declare const CommentEntry: React$1.ForwardRefExoticComponent<CommentEntryProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2185
2275
|
|
|
2186
|
-
type Annotation$
|
|
2187
|
-
type Motivation$
|
|
2188
|
-
interface PendingAnnotation$
|
|
2276
|
+
type Annotation$8 = components['schemas']['Annotation'];
|
|
2277
|
+
type Motivation$4 = components['schemas']['Motivation'];
|
|
2278
|
+
interface PendingAnnotation$5 {
|
|
2189
2279
|
selector: Selector | Selector[];
|
|
2190
|
-
motivation: Motivation$
|
|
2280
|
+
motivation: Motivation$4;
|
|
2191
2281
|
}
|
|
2192
2282
|
interface CommentsPanelProps {
|
|
2193
|
-
annotations: Annotation$
|
|
2194
|
-
|
|
2195
|
-
onCreate: (commentText: string) => void;
|
|
2196
|
-
focusedAnnotationId: string | null;
|
|
2197
|
-
hoveredAnnotationId?: string | null;
|
|
2198
|
-
onAnnotationHover?: (annotationId: string | null) => void;
|
|
2199
|
-
pendingAnnotation: PendingAnnotation$4 | null;
|
|
2283
|
+
annotations: Annotation$8[];
|
|
2284
|
+
pendingAnnotation: PendingAnnotation$5 | null;
|
|
2200
2285
|
annotateMode?: boolean;
|
|
2201
|
-
onDetect?: (instructions?: string, tone?: string) => void | Promise<void>;
|
|
2202
2286
|
isDetecting?: boolean;
|
|
2203
2287
|
detectionProgress?: {
|
|
2204
2288
|
status: string;
|
|
2205
2289
|
percentage?: number;
|
|
2206
2290
|
message?: string;
|
|
2207
2291
|
} | null;
|
|
2292
|
+
scrollToAnnotationId?: string | null;
|
|
2293
|
+
onScrollCompleted?: () => void;
|
|
2294
|
+
hoveredAnnotationId?: string | null;
|
|
2208
2295
|
}
|
|
2209
|
-
|
|
2296
|
+
/**
|
|
2297
|
+
* Panel for managing comment annotations with text input
|
|
2298
|
+
*
|
|
2299
|
+
* @emits annotation:create - Create new comment annotation. Payload: { motivation: 'commenting', selector: Selector | Selector[], body: Body[] }
|
|
2300
|
+
* @emits annotation:cancel-pending - Cancel pending comment annotation. Payload: undefined
|
|
2301
|
+
* @subscribes annotation:click - Annotation clicked. Payload: { annotationId: string }
|
|
2302
|
+
*/
|
|
2303
|
+
declare function CommentsPanel({ annotations, pendingAnnotation, annotateMode, isDetecting, detectionProgress, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: CommentsPanelProps): react_jsx_runtime.JSX.Element;
|
|
2210
2304
|
|
|
2211
2305
|
interface DetectSectionProps {
|
|
2212
2306
|
annotationType: 'highlight' | 'assessment' | 'comment';
|
|
@@ -2220,7 +2314,6 @@ interface DetectSectionProps {
|
|
|
2220
2314
|
value: string;
|
|
2221
2315
|
}>;
|
|
2222
2316
|
} | null | undefined;
|
|
2223
|
-
onDetect: (instructions?: string, tone?: string, density?: number) => void | Promise<void>;
|
|
2224
2317
|
}
|
|
2225
2318
|
/**
|
|
2226
2319
|
* Shared detect section for Highlight, Assessment, and Comment panels
|
|
@@ -2230,34 +2323,28 @@ interface DetectSectionProps {
|
|
|
2230
2323
|
* - Optional tone selector (for comments)
|
|
2231
2324
|
* - Detect button with sparkle animation
|
|
2232
2325
|
* - Progress display during detection
|
|
2326
|
+
*
|
|
2327
|
+
* @emits detection:start - Start detection for annotation type. Payload: { motivation: Motivation, options: { instructions?: string, tone?: string, density?: number } }
|
|
2233
2328
|
*/
|
|
2234
|
-
declare function DetectSection({ annotationType, isDetecting, detectionProgress,
|
|
2329
|
+
declare function DetectSection({ annotationType, isDetecting, detectionProgress, }: DetectSectionProps): react_jsx_runtime.JSX.Element;
|
|
2235
2330
|
|
|
2236
|
-
type Annotation$
|
|
2331
|
+
type Annotation$7 = components['schemas']['Annotation'];
|
|
2237
2332
|
interface HighlightEntryProps {
|
|
2238
|
-
highlight: Annotation$
|
|
2333
|
+
highlight: Annotation$7;
|
|
2239
2334
|
isFocused: boolean;
|
|
2240
|
-
|
|
2241
|
-
onHighlightRef: (highlightId: string, el: HTMLElement | null) => void;
|
|
2242
|
-
onHighlightHover?: (highlightId: string | null) => void;
|
|
2335
|
+
isHovered?: boolean;
|
|
2243
2336
|
}
|
|
2244
|
-
declare
|
|
2337
|
+
declare const HighlightEntry: React$1.ForwardRefExoticComponent<HighlightEntryProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2245
2338
|
|
|
2246
|
-
type Annotation$
|
|
2247
|
-
type Motivation$
|
|
2248
|
-
interface PendingAnnotation$
|
|
2339
|
+
type Annotation$6 = components['schemas']['Annotation'];
|
|
2340
|
+
type Motivation$3 = components['schemas']['Motivation'];
|
|
2341
|
+
interface PendingAnnotation$4 {
|
|
2249
2342
|
selector: Selector | Selector[];
|
|
2250
|
-
motivation: Motivation$
|
|
2343
|
+
motivation: Motivation$3;
|
|
2251
2344
|
}
|
|
2252
2345
|
interface HighlightPanelProps {
|
|
2253
|
-
annotations: Annotation$
|
|
2254
|
-
|
|
2255
|
-
focusedAnnotationId: string | null;
|
|
2256
|
-
hoveredAnnotationId?: string | null;
|
|
2257
|
-
onAnnotationHover?: (annotationId: string | null) => void;
|
|
2258
|
-
onDetect?: (instructions?: string) => void | Promise<void>;
|
|
2259
|
-
onCreate: (selector: Selector | Selector[]) => void;
|
|
2260
|
-
pendingAnnotation: PendingAnnotation$3 | null;
|
|
2346
|
+
annotations: Annotation$6[];
|
|
2347
|
+
pendingAnnotation: PendingAnnotation$4 | null;
|
|
2261
2348
|
isDetecting?: boolean;
|
|
2262
2349
|
detectionProgress?: {
|
|
2263
2350
|
status: string;
|
|
@@ -2265,8 +2352,17 @@ interface HighlightPanelProps {
|
|
|
2265
2352
|
message?: string;
|
|
2266
2353
|
} | null;
|
|
2267
2354
|
annotateMode?: boolean;
|
|
2355
|
+
scrollToAnnotationId?: string | null;
|
|
2356
|
+
onScrollCompleted?: () => void;
|
|
2357
|
+
hoveredAnnotationId?: string | null;
|
|
2268
2358
|
}
|
|
2269
|
-
|
|
2359
|
+
/**
|
|
2360
|
+
* Panel for managing highlight annotations with auto-creation
|
|
2361
|
+
*
|
|
2362
|
+
* @emits annotation:create - Create new highlight annotation (auto-triggered). Payload: { motivation: 'highlighting', selector: Selector | Selector[], body: Body[] }
|
|
2363
|
+
* @subscribes annotation:click - Annotation clicked. Payload: { annotationId: string }
|
|
2364
|
+
*/
|
|
2365
|
+
declare function HighlightPanel({ annotations, pendingAnnotation, isDetecting, detectionProgress, annotateMode, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: HighlightPanelProps): react_jsx_runtime.JSX.Element;
|
|
2270
2366
|
|
|
2271
2367
|
type SemiontResource$1 = components['schemas']['ResourceDescriptor'];
|
|
2272
2368
|
interface Props$2 {
|
|
@@ -2286,28 +2382,19 @@ interface PanelHeaderProps {
|
|
|
2286
2382
|
*/
|
|
2287
2383
|
declare function PanelHeader({ count, title }: PanelHeaderProps): react_jsx_runtime.JSX.Element;
|
|
2288
2384
|
|
|
2289
|
-
type Annotation$
|
|
2385
|
+
type Annotation$5 = components['schemas']['Annotation'];
|
|
2290
2386
|
interface ReferenceEntryProps {
|
|
2291
|
-
reference: Annotation$
|
|
2387
|
+
reference: Annotation$5;
|
|
2292
2388
|
isFocused: boolean;
|
|
2293
|
-
|
|
2389
|
+
isHovered?: boolean;
|
|
2294
2390
|
routes: RouteBuilder;
|
|
2295
|
-
onReferenceRef: (referenceId: string, el: HTMLElement | null) => void;
|
|
2296
|
-
onReferenceHover?: (referenceId: string | null) => void;
|
|
2297
|
-
onGenerateDocument?: (referenceId: string, options: {
|
|
2298
|
-
title: string;
|
|
2299
|
-
prompt?: string;
|
|
2300
|
-
}) => void;
|
|
2301
|
-
onCreateDocument?: (annotationUri: string, title: string, entityTypes: string[]) => void;
|
|
2302
|
-
onSearchDocuments?: (referenceId: string, searchTerm: string) => void;
|
|
2303
|
-
onUpdateReference?: (referenceId: string, updates: Partial<Annotation$6>) => void;
|
|
2304
2391
|
annotateMode?: boolean;
|
|
2305
2392
|
isGenerating?: boolean;
|
|
2306
2393
|
}
|
|
2307
|
-
declare
|
|
2394
|
+
declare const ReferenceEntry: React$1.ForwardRefExoticComponent<ReferenceEntryProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2308
2395
|
|
|
2309
|
-
type Annotation$
|
|
2310
|
-
type Motivation$
|
|
2396
|
+
type Annotation$4 = components['schemas']['Annotation'];
|
|
2397
|
+
type Motivation$2 = components['schemas']['Motivation'];
|
|
2311
2398
|
type ResponseContent<T> = T extends {
|
|
2312
2399
|
responses: {
|
|
2313
2400
|
200: {
|
|
@@ -2318,37 +2405,35 @@ type ResponseContent<T> = T extends {
|
|
|
2318
2405
|
};
|
|
2319
2406
|
} ? R : never;
|
|
2320
2407
|
type ReferencedBy = ResponseContent<paths['/resources/{id}/referenced-by']['get']>['referencedBy'][number];
|
|
2321
|
-
interface PendingAnnotation$
|
|
2408
|
+
interface PendingAnnotation$3 {
|
|
2322
2409
|
selector: Selector | Selector[];
|
|
2323
|
-
motivation: Motivation$
|
|
2410
|
+
motivation: Motivation$2;
|
|
2324
2411
|
}
|
|
2325
2412
|
interface Props$1 {
|
|
2326
|
-
annotations?: Annotation$
|
|
2327
|
-
onAnnotationClick?: (annotation: Annotation$5) => void;
|
|
2328
|
-
focusedAnnotationId?: string | null;
|
|
2329
|
-
hoveredAnnotationId?: string | null;
|
|
2330
|
-
onAnnotationHover?: (annotationId: string | null) => void;
|
|
2331
|
-
onDetect?: (selectedTypes: string[], includeDescriptiveReferences?: boolean) => void;
|
|
2332
|
-
onCreate: (entityType?: string) => void;
|
|
2413
|
+
annotations?: Annotation$4[];
|
|
2333
2414
|
isDetecting: boolean;
|
|
2334
2415
|
detectionProgress: any;
|
|
2335
2416
|
annotateMode?: boolean;
|
|
2336
2417
|
Link: React__default.ComponentType<LinkComponentProps>;
|
|
2337
2418
|
routes: RouteBuilder;
|
|
2338
2419
|
allEntityTypes: string[];
|
|
2339
|
-
onCancelDetection: () => void;
|
|
2340
|
-
onSearchDocuments?: (referenceId: string, searchTerm: string) => void;
|
|
2341
|
-
onGenerateDocument?: (referenceId: string, options: {
|
|
2342
|
-
title: string;
|
|
2343
|
-
prompt?: string;
|
|
2344
|
-
}) => void;
|
|
2345
|
-
onCreateDocument?: (annotationUri: string, title: string, entityTypes: string[]) => void;
|
|
2346
2420
|
generatingReferenceId?: string | null;
|
|
2347
2421
|
referencedBy?: ReferencedBy[];
|
|
2348
2422
|
referencedByLoading?: boolean;
|
|
2349
|
-
pendingAnnotation: PendingAnnotation$
|
|
2423
|
+
pendingAnnotation: PendingAnnotation$3 | null;
|
|
2424
|
+
scrollToAnnotationId?: string | null;
|
|
2425
|
+
onScrollCompleted?: () => void;
|
|
2426
|
+
hoveredAnnotationId?: string | null;
|
|
2350
2427
|
}
|
|
2351
|
-
|
|
2428
|
+
/**
|
|
2429
|
+
* Panel for managing reference annotations with entity type detection
|
|
2430
|
+
*
|
|
2431
|
+
* @emits detection:start - Start reference detection. Payload: { motivation: 'linking', options: { entityTypes: string[], includeDescriptiveReferences: boolean } }
|
|
2432
|
+
* @emits annotation:create - Create new reference annotation. Payload: { motivation: 'linking', selector: Selector | Selector[], body: Body[] }
|
|
2433
|
+
* @emits annotation:cancel-pending - Cancel pending reference annotation. Payload: undefined
|
|
2434
|
+
* @subscribes annotation:click - Annotation clicked. Payload: { annotationId: string }
|
|
2435
|
+
*/
|
|
2436
|
+
declare function ReferencesPanel({ annotations, isDetecting, detectionProgress, annotateMode, Link, routes, allEntityTypes, generatingReferenceId, referencedBy, referencedByLoading, pendingAnnotation, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: Props$1): react_jsx_runtime.JSX.Element;
|
|
2352
2437
|
|
|
2353
2438
|
interface Props {
|
|
2354
2439
|
documentEntityTypes: string[];
|
|
@@ -2356,47 +2441,43 @@ interface Props {
|
|
|
2356
2441
|
primaryMediaType?: string | undefined;
|
|
2357
2442
|
primaryByteSize?: number | undefined;
|
|
2358
2443
|
isArchived?: boolean;
|
|
2359
|
-
onArchive?: () => void;
|
|
2360
|
-
onUnarchive?: () => void;
|
|
2361
|
-
onClone?: () => void;
|
|
2362
2444
|
}
|
|
2363
|
-
|
|
2445
|
+
/**
|
|
2446
|
+
* Panel for displaying resource metadata and management actions
|
|
2447
|
+
*
|
|
2448
|
+
* @emits resource:clone - Clone this resource. Payload: undefined
|
|
2449
|
+
* @emits resource:unarchive - Unarchive this resource. Payload: undefined
|
|
2450
|
+
* @emits resource:archive - Archive this resource. Payload: undefined
|
|
2451
|
+
*/
|
|
2452
|
+
declare function ResourceInfoPanel({ documentEntityTypes, documentLocale, primaryMediaType, primaryByteSize, isArchived, }: Props): react_jsx_runtime.JSX.Element;
|
|
2364
2453
|
|
|
2365
|
-
type Annotation$
|
|
2454
|
+
type Annotation$3 = components['schemas']['Annotation'];
|
|
2366
2455
|
interface StatisticsPanelProps {
|
|
2367
|
-
highlights: Annotation$
|
|
2368
|
-
comments: Annotation$
|
|
2369
|
-
assessments: Annotation$
|
|
2370
|
-
references: Annotation$
|
|
2371
|
-
tags: Annotation$
|
|
2456
|
+
highlights: Annotation$3[];
|
|
2457
|
+
comments: Annotation$3[];
|
|
2458
|
+
assessments: Annotation$3[];
|
|
2459
|
+
references: Annotation$3[];
|
|
2460
|
+
tags: Annotation$3[];
|
|
2372
2461
|
}
|
|
2373
2462
|
declare function StatisticsPanel({ highlights, comments, assessments, references, tags }: StatisticsPanelProps): react_jsx_runtime.JSX.Element;
|
|
2374
2463
|
|
|
2375
|
-
type Annotation$
|
|
2464
|
+
type Annotation$2 = components['schemas']['Annotation'];
|
|
2376
2465
|
interface TagEntryProps {
|
|
2377
|
-
tag: Annotation$
|
|
2466
|
+
tag: Annotation$2;
|
|
2378
2467
|
isFocused: boolean;
|
|
2379
|
-
|
|
2380
|
-
onTagRef: (tagId: string, el: HTMLElement | null) => void;
|
|
2381
|
-
onTagHover?: (tagId: string | null) => void;
|
|
2468
|
+
isHovered?: boolean;
|
|
2382
2469
|
}
|
|
2383
|
-
declare
|
|
2470
|
+
declare const TagEntry: React$1.ForwardRefExoticComponent<TagEntryProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
2384
2471
|
|
|
2385
|
-
type Annotation$
|
|
2386
|
-
type Motivation$
|
|
2387
|
-
interface PendingAnnotation$
|
|
2472
|
+
type Annotation$1 = components['schemas']['Annotation'];
|
|
2473
|
+
type Motivation$1 = components['schemas']['Motivation'];
|
|
2474
|
+
interface PendingAnnotation$2 {
|
|
2388
2475
|
selector: Selector | Selector[];
|
|
2389
|
-
motivation: Motivation$
|
|
2476
|
+
motivation: Motivation$1;
|
|
2390
2477
|
}
|
|
2391
2478
|
interface TaggingPanelProps {
|
|
2392
|
-
annotations: Annotation$
|
|
2393
|
-
onAnnotationClick: (annotation: Annotation$2) => void;
|
|
2394
|
-
focusedAnnotationId: string | null;
|
|
2395
|
-
hoveredAnnotationId?: string | null;
|
|
2396
|
-
onAnnotationHover?: (annotationId: string | null) => void;
|
|
2479
|
+
annotations: Annotation$1[];
|
|
2397
2480
|
annotateMode?: boolean;
|
|
2398
|
-
onDetect?: (schemaId: string, categories: string[]) => void | Promise<void>;
|
|
2399
|
-
onCreate: (schemaId: string, category: string) => void | Promise<void>;
|
|
2400
2481
|
isDetecting?: boolean;
|
|
2401
2482
|
detectionProgress?: {
|
|
2402
2483
|
status: string;
|
|
@@ -2410,46 +2491,42 @@ interface TaggingPanelProps {
|
|
|
2410
2491
|
value: string;
|
|
2411
2492
|
}>;
|
|
2412
2493
|
} | null;
|
|
2413
|
-
pendingAnnotation: PendingAnnotation$
|
|
2494
|
+
pendingAnnotation: PendingAnnotation$2 | null;
|
|
2495
|
+
scrollToAnnotationId?: string | null;
|
|
2496
|
+
onScrollCompleted?: () => void;
|
|
2497
|
+
hoveredAnnotationId?: string | null;
|
|
2414
2498
|
}
|
|
2415
|
-
|
|
2499
|
+
/**
|
|
2500
|
+
* Panel for managing tag annotations with schema-based detection
|
|
2501
|
+
*
|
|
2502
|
+
* @emits detection:start - Start tag detection. Payload: { motivation: 'tagging', options: { schemaId: string, categories: string[] } }
|
|
2503
|
+
* @emits annotation:cancel-pending - Cancel pending tag annotation. Payload: undefined
|
|
2504
|
+
* @emits annotation:create - Create new tag annotation. Payload: { motivation: 'tagging', selector: Selector | Selector[], body: Body[] }
|
|
2505
|
+
* @subscribes annotation:click - Annotation clicked. Payload: { annotationId: string }
|
|
2506
|
+
*/
|
|
2507
|
+
declare function TaggingPanel({ annotations, annotateMode, isDetecting, detectionProgress, pendingAnnotation, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: TaggingPanelProps): react_jsx_runtime.JSX.Element;
|
|
2416
2508
|
|
|
2417
|
-
type Annotation
|
|
2418
|
-
type Motivation
|
|
2509
|
+
type Annotation = components['schemas']['Annotation'];
|
|
2510
|
+
type Motivation = components['schemas']['Motivation'];
|
|
2419
2511
|
type TabKey = 'statistics' | 'reference' | 'highlight' | 'assessment' | 'comment' | 'tag';
|
|
2420
|
-
interface PendingAnnotation {
|
|
2512
|
+
interface PendingAnnotation$1 {
|
|
2421
2513
|
selector: Selector | Selector[];
|
|
2422
|
-
motivation: Motivation
|
|
2514
|
+
motivation: Motivation;
|
|
2423
2515
|
}
|
|
2424
2516
|
/**
|
|
2425
|
-
* Simplified UnifiedAnnotationsPanel using
|
|
2517
|
+
* Simplified UnifiedAnnotationsPanel using event-driven architecture
|
|
2426
2518
|
*
|
|
2427
2519
|
* Key simplifications:
|
|
2428
2520
|
* - Single annotations array (grouped internally by motivation)
|
|
2429
2521
|
* - Single focusedAnnotationId (motivation-agnostic)
|
|
2430
|
-
* -
|
|
2431
|
-
* -
|
|
2522
|
+
* - Hover state managed via event bus (no props needed)
|
|
2523
|
+
* - All operations managed via event bus (no callback props)
|
|
2432
2524
|
*/
|
|
2433
2525
|
interface UnifiedAnnotationsPanelProps {
|
|
2434
|
-
annotations: Annotation
|
|
2526
|
+
annotations: Annotation[];
|
|
2435
2527
|
annotators: Record<string, Annotator>;
|
|
2436
|
-
detectionContext?: {
|
|
2437
|
-
client: any;
|
|
2438
|
-
rUri: any;
|
|
2439
|
-
setDetectingMotivation: (motivation: Motivation$1 | null) => void;
|
|
2440
|
-
setMotivationDetectionProgress: (progress: any) => void;
|
|
2441
|
-
detectionStreamRef: any;
|
|
2442
|
-
cacheManager: any;
|
|
2443
|
-
showSuccess: (message: string) => void;
|
|
2444
|
-
showError: (message: string) => void;
|
|
2445
|
-
};
|
|
2446
|
-
focusedAnnotationId: string | null;
|
|
2447
|
-
hoveredAnnotationId?: string | null;
|
|
2448
|
-
onAnnotationClick: (annotation: Annotation$1) => void;
|
|
2449
|
-
onAnnotationHover?: (annotationId: string | null) => void;
|
|
2450
|
-
onCreateAnnotation: (motivation: Motivation$1, ...args: any[]) => void;
|
|
2451
2528
|
annotateMode?: boolean;
|
|
2452
|
-
detectingMotivation?: Motivation
|
|
2529
|
+
detectingMotivation?: Motivation | null;
|
|
2453
2530
|
detectionProgress?: {
|
|
2454
2531
|
status: string;
|
|
2455
2532
|
percentage?: number;
|
|
@@ -2458,21 +2535,17 @@ interface UnifiedAnnotationsPanelProps {
|
|
|
2458
2535
|
processedCategories?: number;
|
|
2459
2536
|
totalCategories?: number;
|
|
2460
2537
|
} | null;
|
|
2461
|
-
pendingAnnotation: PendingAnnotation | null;
|
|
2538
|
+
pendingAnnotation: PendingAnnotation$1 | null;
|
|
2462
2539
|
allEntityTypes?: string[];
|
|
2463
2540
|
generatingReferenceId?: string | null;
|
|
2464
|
-
onGenerateDocument?: (referenceId: string, options: {
|
|
2465
|
-
title: string;
|
|
2466
|
-
prompt?: string;
|
|
2467
|
-
}) => void;
|
|
2468
|
-
onCreateDocument?: (annotationUri: string, title: string, entityTypes: string[]) => void;
|
|
2469
|
-
onSearchDocuments?: (referenceId: string, searchTerm: string) => void;
|
|
2470
|
-
onCancelDetection?: () => void;
|
|
2471
|
-
mediaType?: string;
|
|
2472
2541
|
referencedBy?: any[];
|
|
2473
2542
|
referencedByLoading?: boolean;
|
|
2474
2543
|
resourceId?: string;
|
|
2475
2544
|
initialTab?: TabKey;
|
|
2545
|
+
initialTabGeneration?: number;
|
|
2546
|
+
scrollToAnnotationId?: string | null;
|
|
2547
|
+
onScrollCompleted?: () => void;
|
|
2548
|
+
hoveredAnnotationId?: string | null;
|
|
2476
2549
|
Link: React__default.ComponentType<LinkComponentProps>;
|
|
2477
2550
|
routes: RouteBuilder;
|
|
2478
2551
|
}
|
|
@@ -2514,6 +2587,57 @@ interface NavigationMenuProps {
|
|
|
2514
2587
|
}
|
|
2515
2588
|
declare function NavigationMenu({ Link, routes, t, isAdmin, isModerator, onItemClick, className, currentPath }: NavigationMenuProps): react_jsx_runtime.JSX.Element;
|
|
2516
2589
|
|
|
2590
|
+
/**
|
|
2591
|
+
* Props for ObservableLink component
|
|
2592
|
+
*
|
|
2593
|
+
* Accepts any props that a standard anchor element accepts,
|
|
2594
|
+
* plus optional navigation metadata for event emission.
|
|
2595
|
+
*/
|
|
2596
|
+
interface ObservableLinkProps extends React__default.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
2597
|
+
/** The URL to navigate to */
|
|
2598
|
+
href: string;
|
|
2599
|
+
/** Optional label for the link (used in event metadata) */
|
|
2600
|
+
label?: string;
|
|
2601
|
+
/** Children to render inside the link */
|
|
2602
|
+
children: React__default.ReactNode;
|
|
2603
|
+
}
|
|
2604
|
+
/**
|
|
2605
|
+
* Link component that emits navigation events for observability
|
|
2606
|
+
*
|
|
2607
|
+
* Use this instead of Next.js <Link> when you want link clicks to be
|
|
2608
|
+
* observable through the NavigationEventBus. This is useful for:
|
|
2609
|
+
* - Analytics tracking
|
|
2610
|
+
* - State coordination before navigation
|
|
2611
|
+
* - Logging navigation flows
|
|
2612
|
+
*
|
|
2613
|
+
* The component emits 'navigation:link-clicked' event before allowing
|
|
2614
|
+
* the browser to follow the link.
|
|
2615
|
+
*
|
|
2616
|
+
* @example
|
|
2617
|
+
* ```typescript
|
|
2618
|
+
* <ObservableLink
|
|
2619
|
+
* href="/know/discover"
|
|
2620
|
+
* label="Discover"
|
|
2621
|
+
* >
|
|
2622
|
+
* Discover Resources
|
|
2623
|
+
* </ObservableLink>
|
|
2624
|
+
* ```
|
|
2625
|
+
*
|
|
2626
|
+
* @example With Next.js Link integration
|
|
2627
|
+
* ```typescript
|
|
2628
|
+
* import Link from 'next/link';
|
|
2629
|
+
*
|
|
2630
|
+
* <Link href="/know/discover" legacyBehavior passHref>
|
|
2631
|
+
* <ObservableLink label="Discover">
|
|
2632
|
+
* Discover Resources
|
|
2633
|
+
* </ObservableLink>
|
|
2634
|
+
* </Link>
|
|
2635
|
+
* ```
|
|
2636
|
+
*
|
|
2637
|
+
* @emits navigation:link-clicked - Link clicked by user. Payload: { href: string, label?: string }
|
|
2638
|
+
*/
|
|
2639
|
+
declare function ObservableLink({ href, label, onClick, children, ...anchorProps }: ObservableLinkProps): react_jsx_runtime.JSX.Element;
|
|
2640
|
+
|
|
2517
2641
|
interface SimpleNavigationItem$1 {
|
|
2518
2642
|
name: string;
|
|
2519
2643
|
href: string;
|
|
@@ -2529,7 +2653,6 @@ interface SimpleNavigationProps$1 {
|
|
|
2529
2653
|
LinkComponent: React__default.ComponentType<any>;
|
|
2530
2654
|
dropdownContent?: (onClose: () => void) => React__default.ReactNode;
|
|
2531
2655
|
isCollapsed: boolean;
|
|
2532
|
-
onToggleCollapse: () => void;
|
|
2533
2656
|
icons: {
|
|
2534
2657
|
chevronLeft: React__default.ComponentType<{
|
|
2535
2658
|
className?: string;
|
|
@@ -2544,8 +2667,10 @@ interface SimpleNavigationProps$1 {
|
|
|
2544
2667
|
/**
|
|
2545
2668
|
* Simple navigation component for Admin and Moderation modes.
|
|
2546
2669
|
* Renders a section header with optional dropdown and static navigation tabs.
|
|
2670
|
+
*
|
|
2671
|
+
* @emits navigation:sidebar-toggle - Toggle sidebar collapsed/expanded state. Payload: undefined
|
|
2547
2672
|
*/
|
|
2548
|
-
declare function SimpleNavigation({ title, items, currentPath, LinkComponent, dropdownContent, isCollapsed,
|
|
2673
|
+
declare function SimpleNavigation({ title, items, currentPath, LinkComponent, dropdownContent, isCollapsed, icons, collapseSidebarLabel, expandSidebarLabel }: SimpleNavigationProps$1): react_jsx_runtime.JSX.Element;
|
|
2549
2674
|
|
|
2550
2675
|
/**
|
|
2551
2676
|
* Represents an open resource/document in the navigation
|
|
@@ -2592,10 +2717,6 @@ interface CollapsibleResourceNavigationProps {
|
|
|
2592
2717
|
}>;
|
|
2593
2718
|
resources: OpenResource[];
|
|
2594
2719
|
isCollapsed: boolean;
|
|
2595
|
-
onToggleCollapse: () => void;
|
|
2596
|
-
onResourceClose: (id: string) => void;
|
|
2597
|
-
onResourceReorder: (oldIndex: number, newIndex: number) => void;
|
|
2598
|
-
onResourceSelect?: (id: string) => void;
|
|
2599
2720
|
currentPath: string;
|
|
2600
2721
|
LinkComponent: ComponentType<any>;
|
|
2601
2722
|
onNavigate?: (path: string) => void;
|
|
@@ -2622,8 +2743,12 @@ interface CollapsibleResourceNavigationProps {
|
|
|
2622
2743
|
* A comprehensive collapsible navigation component with fixed items and dynamic resource tabs.
|
|
2623
2744
|
* Supports drag and drop for resource reordering when expanded.
|
|
2624
2745
|
* Platform-agnostic design for use across different React environments.
|
|
2746
|
+
*
|
|
2747
|
+
* @emits navigation:resource-reorder - Resource tab reordered. Payload: { oldIndex: number, newIndex: number }
|
|
2748
|
+
* @emits navigation:resource-close - Resource tab closed. Payload: { resourceId: string }
|
|
2749
|
+
* @emits navigation:sidebar-toggle - Toggle sidebar collapsed/expanded state. Payload: undefined
|
|
2625
2750
|
*/
|
|
2626
|
-
declare function CollapsibleResourceNavigation({ fixedItems, resources, isCollapsed,
|
|
2751
|
+
declare function CollapsibleResourceNavigation({ fixedItems, resources, isCollapsed, currentPath, LinkComponent, onNavigate, getResourceHref, className, translations, icons, navigationMenu }: CollapsibleResourceNavigationProps): react_jsx_runtime.JSX.Element;
|
|
2627
2752
|
|
|
2628
2753
|
/**
|
|
2629
2754
|
* A sortable tab for an open resource in the navigation sidebar.
|
|
@@ -3126,11 +3251,8 @@ interface DevOpsFeature {
|
|
|
3126
3251
|
interface AdminDevOpsPageProps {
|
|
3127
3252
|
suggestedFeatures: DevOpsFeature[];
|
|
3128
3253
|
theme: 'light' | 'dark' | 'system';
|
|
3129
|
-
onThemeChange: (theme: 'light' | 'dark' | 'system') => void;
|
|
3130
3254
|
showLineNumbers: boolean;
|
|
3131
|
-
onLineNumbersToggle: () => void;
|
|
3132
3255
|
activePanel: string | null;
|
|
3133
|
-
onPanelToggle: (panel: string | null) => void;
|
|
3134
3256
|
translations: {
|
|
3135
3257
|
title: string;
|
|
3136
3258
|
subtitle: string;
|
|
@@ -3144,7 +3266,7 @@ interface AdminDevOpsPageProps {
|
|
|
3144
3266
|
ToolbarPanels: React__default.ComponentType<any>;
|
|
3145
3267
|
Toolbar: React__default.ComponentType<any>;
|
|
3146
3268
|
}
|
|
3147
|
-
declare function AdminDevOpsPage({ suggestedFeatures, theme,
|
|
3269
|
+
declare function AdminDevOpsPage({ suggestedFeatures, theme, showLineNumbers, activePanel, translations: t, StatusDisplay, ToolbarPanels, Toolbar, }: AdminDevOpsPageProps): react_jsx_runtime.JSX.Element;
|
|
3148
3270
|
|
|
3149
3271
|
interface OAuthProvider {
|
|
3150
3272
|
name: string;
|
|
@@ -3155,11 +3277,8 @@ interface AdminSecurityPageProps {
|
|
|
3155
3277
|
allowedDomains: string[];
|
|
3156
3278
|
isLoading: boolean;
|
|
3157
3279
|
theme: 'light' | 'dark' | 'system';
|
|
3158
|
-
onThemeChange: (theme: 'light' | 'dark' | 'system') => void;
|
|
3159
3280
|
showLineNumbers: boolean;
|
|
3160
|
-
onLineNumbersToggle: () => void;
|
|
3161
3281
|
activePanel: string | null;
|
|
3162
|
-
onPanelToggle: (panel: string | null) => void;
|
|
3163
3282
|
translations: {
|
|
3164
3283
|
title: string;
|
|
3165
3284
|
subtitle: string;
|
|
@@ -3182,7 +3301,7 @@ interface AdminSecurityPageProps {
|
|
|
3182
3301
|
ToolbarPanels: React__default.ComponentType<any>;
|
|
3183
3302
|
Toolbar: React__default.ComponentType<any>;
|
|
3184
3303
|
}
|
|
3185
|
-
declare function AdminSecurityPage({ providers, allowedDomains, isLoading, theme,
|
|
3304
|
+
declare function AdminSecurityPage({ providers, allowedDomains, isLoading, theme, showLineNumbers, activePanel, translations: t, ToolbarPanels, Toolbar, }: AdminSecurityPageProps): react_jsx_runtime.JSX.Element;
|
|
3186
3305
|
|
|
3187
3306
|
interface AdminUser {
|
|
3188
3307
|
id: string;
|
|
@@ -3213,11 +3332,8 @@ interface AdminUsersPageProps {
|
|
|
3213
3332
|
onAddUser: () => void;
|
|
3214
3333
|
onExportUsers: () => void;
|
|
3215
3334
|
theme: 'light' | 'dark' | 'system';
|
|
3216
|
-
onThemeChange: (theme: 'light' | 'dark' | 'system') => void;
|
|
3217
3335
|
showLineNumbers: boolean;
|
|
3218
|
-
onLineNumbersToggle: () => void;
|
|
3219
3336
|
activePanel: string | null;
|
|
3220
|
-
onPanelToggle: (panel: string | null) => void;
|
|
3221
3337
|
translations: {
|
|
3222
3338
|
title: string;
|
|
3223
3339
|
subtitle: string;
|
|
@@ -3266,7 +3382,7 @@ interface AdminUsersPageProps {
|
|
|
3266
3382
|
};
|
|
3267
3383
|
};
|
|
3268
3384
|
}
|
|
3269
|
-
declare function AdminUsersPage({ users, userStats, isLoadingUsers, isLoadingStats, onUpdateUser, onDeleteUser, onAddUser, onExportUsers, theme,
|
|
3385
|
+
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;
|
|
3270
3386
|
|
|
3271
3387
|
interface SignInFormProps {
|
|
3272
3388
|
/**
|
|
@@ -3446,11 +3562,8 @@ interface EntityTagsPageProps {
|
|
|
3446
3562
|
onAddTag: () => void;
|
|
3447
3563
|
isAddingTag: boolean;
|
|
3448
3564
|
theme: 'light' | 'dark' | 'system';
|
|
3449
|
-
onThemeChange: (theme: 'light' | 'dark' | 'system') => void;
|
|
3450
3565
|
showLineNumbers: boolean;
|
|
3451
|
-
onLineNumbersToggle: () => void;
|
|
3452
3566
|
activePanel: string | null;
|
|
3453
|
-
onPanelToggle: (panel: string | null) => void;
|
|
3454
3567
|
translations: {
|
|
3455
3568
|
pageTitle: string;
|
|
3456
3569
|
pageDescription: string;
|
|
@@ -3463,17 +3576,14 @@ interface EntityTagsPageProps {
|
|
|
3463
3576
|
ToolbarPanels: React__default.ComponentType<any>;
|
|
3464
3577
|
Toolbar: React__default.ComponentType<any>;
|
|
3465
3578
|
}
|
|
3466
|
-
declare function EntityTagsPage({ entityTypes, error, newTag, onNewTagChange, onAddTag, isAddingTag, theme,
|
|
3579
|
+
declare function EntityTagsPage({ entityTypes, error, newTag, onNewTagChange, onAddTag, isAddingTag, theme, showLineNumbers, activePanel, translations: t, ToolbarPanels, Toolbar, }: EntityTagsPageProps): react_jsx_runtime.JSX.Element;
|
|
3467
3580
|
|
|
3468
3581
|
interface RecentDocumentsPageProps {
|
|
3469
3582
|
hasDocuments: boolean;
|
|
3470
3583
|
isLoading: boolean;
|
|
3471
3584
|
theme: 'light' | 'dark' | 'system';
|
|
3472
|
-
onThemeChange: (theme: 'light' | 'dark' | 'system') => void;
|
|
3473
3585
|
showLineNumbers: boolean;
|
|
3474
|
-
onLineNumbersToggle: () => void;
|
|
3475
3586
|
activePanel: string | null;
|
|
3476
|
-
onPanelToggle: (panel: string | null) => void;
|
|
3477
3587
|
translations: {
|
|
3478
3588
|
pageTitle: string;
|
|
3479
3589
|
pageDescription: string;
|
|
@@ -3486,17 +3596,14 @@ interface RecentDocumentsPageProps {
|
|
|
3486
3596
|
ToolbarPanels: React__default.ComponentType<any>;
|
|
3487
3597
|
Toolbar: React__default.ComponentType<any>;
|
|
3488
3598
|
}
|
|
3489
|
-
declare function RecentDocumentsPage({ isLoading, theme,
|
|
3599
|
+
declare function RecentDocumentsPage({ isLoading, theme, showLineNumbers, activePanel, translations: t, ToolbarPanels, Toolbar, }: RecentDocumentsPageProps): react_jsx_runtime.JSX.Element;
|
|
3490
3600
|
|
|
3491
3601
|
interface TagSchemasPageProps {
|
|
3492
3602
|
schemas: TagSchema[];
|
|
3493
3603
|
isLoading: boolean;
|
|
3494
3604
|
theme: 'light' | 'dark' | 'system';
|
|
3495
|
-
onThemeChange: (theme: 'light' | 'dark' | 'system') => void;
|
|
3496
3605
|
showLineNumbers: boolean;
|
|
3497
|
-
onLineNumbersToggle: () => void;
|
|
3498
3606
|
activePanel: string | null;
|
|
3499
|
-
onPanelToggle: (panel: string | null) => void;
|
|
3500
3607
|
translations: {
|
|
3501
3608
|
pageTitle: string;
|
|
3502
3609
|
pageDescription: string;
|
|
@@ -3506,7 +3613,7 @@ interface TagSchemasPageProps {
|
|
|
3506
3613
|
ToolbarPanels: React__default.ComponentType<any>;
|
|
3507
3614
|
Toolbar: React__default.ComponentType<any>;
|
|
3508
3615
|
}
|
|
3509
|
-
declare function TagSchemasPage({ schemas, isLoading, theme,
|
|
3616
|
+
declare function TagSchemasPage({ schemas, isLoading, theme, showLineNumbers, activePanel, translations: t, ToolbarPanels, Toolbar, }: TagSchemasPageProps): react_jsx_runtime.JSX.Element;
|
|
3510
3617
|
|
|
3511
3618
|
type ResourceDescriptor$2 = components['schemas']['ResourceDescriptor'];
|
|
3512
3619
|
interface ResourceComposePageProps {
|
|
@@ -3524,11 +3631,8 @@ interface ResourceComposePageProps {
|
|
|
3524
3631
|
availableEntityTypes: string[];
|
|
3525
3632
|
initialLocale: string;
|
|
3526
3633
|
theme: 'light' | 'dark';
|
|
3527
|
-
onThemeChange: (theme: 'light' | 'dark') => void;
|
|
3528
3634
|
showLineNumbers: boolean;
|
|
3529
|
-
onLineNumbersToggle: () => void;
|
|
3530
3635
|
activePanel: string | null;
|
|
3531
|
-
onPanelToggle: (panel: string) => void;
|
|
3532
3636
|
onSaveResource: (params: SaveResourceParams) => Promise<void>;
|
|
3533
3637
|
onCancel: () => void;
|
|
3534
3638
|
translations: {
|
|
@@ -3580,7 +3684,7 @@ interface SaveResourceParams {
|
|
|
3580
3684
|
annotationUri?: string;
|
|
3581
3685
|
sourceDocumentId?: string;
|
|
3582
3686
|
}
|
|
3583
|
-
declare function ResourceComposePage({ mode, cloneData, referenceData, availableEntityTypes, initialLocale, theme,
|
|
3687
|
+
declare function ResourceComposePage({ mode, cloneData, referenceData, availableEntityTypes, initialLocale, theme, showLineNumbers, activePanel, onSaveResource, onCancel, translations: t, ToolbarPanels, Toolbar, }: ResourceComposePageProps): react_jsx_runtime.JSX.Element;
|
|
3584
3688
|
|
|
3585
3689
|
type ResourceDescriptor$1 = components['schemas']['ResourceDescriptor'];
|
|
3586
3690
|
interface ResourceDiscoveryPageProps {
|
|
@@ -3590,11 +3694,8 @@ interface ResourceDiscoveryPageProps {
|
|
|
3590
3694
|
isLoadingRecent: boolean;
|
|
3591
3695
|
isSearching: boolean;
|
|
3592
3696
|
theme: 'light' | 'dark';
|
|
3593
|
-
onThemeChange: (theme: 'light' | 'dark') => void;
|
|
3594
3697
|
showLineNumbers: boolean;
|
|
3595
|
-
onLineNumbersToggle: () => void;
|
|
3596
3698
|
activePanel: string | null;
|
|
3597
|
-
onPanelToggle: (panel: string) => void;
|
|
3598
3699
|
onNavigateToResource: (resourceId: string) => void;
|
|
3599
3700
|
onNavigateToCompose: () => void;
|
|
3600
3701
|
translations: {
|
|
@@ -3617,7 +3718,7 @@ interface ResourceDiscoveryPageProps {
|
|
|
3617
3718
|
};
|
|
3618
3719
|
ToolbarPanels: React__default.ComponentType<any>;
|
|
3619
3720
|
}
|
|
3620
|
-
declare function ResourceDiscoveryPage({ recentDocuments, searchDocuments, entityTypes, isLoadingRecent, isSearching, theme,
|
|
3721
|
+
declare function ResourceDiscoveryPage({ recentDocuments, searchDocuments, entityTypes, isLoadingRecent, isSearching, theme, showLineNumbers, activePanel, onNavigateToResource, onNavigateToCompose, translations: t, ToolbarPanels, }: ResourceDiscoveryPageProps): react_jsx_runtime.JSX.Element;
|
|
3621
3722
|
|
|
3622
3723
|
type ResourceDescriptor = components['schemas']['ResourceDescriptor'];
|
|
3623
3724
|
interface ResourceCardProps {
|
|
@@ -3630,8 +3731,6 @@ interface ResourceCardProps {
|
|
|
3630
3731
|
declare const ResourceCard: React__default.MemoExoticComponent<({ resource, onOpen, tabIndex, archivedLabel, createdLabel }: ResourceCardProps) => react_jsx_runtime.JSX.Element>;
|
|
3631
3732
|
|
|
3632
3733
|
type SemiontResource = components['schemas']['ResourceDescriptor'];
|
|
3633
|
-
type Annotation = components['schemas']['Annotation'];
|
|
3634
|
-
type Motivation = components['schemas']['Motivation'];
|
|
3635
3734
|
interface ResourceViewerPageProps {
|
|
3636
3735
|
/**
|
|
3637
3736
|
* The resource to display
|
|
@@ -3641,76 +3740,14 @@ interface ResourceViewerPageProps {
|
|
|
3641
3740
|
* Resource URI
|
|
3642
3741
|
*/
|
|
3643
3742
|
rUri: ResourceUri;
|
|
3644
|
-
/**
|
|
3645
|
-
* Document content (already loaded)
|
|
3646
|
-
*/
|
|
3647
|
-
content: string;
|
|
3648
|
-
/**
|
|
3649
|
-
* Whether content is still loading
|
|
3650
|
-
*/
|
|
3651
|
-
contentLoading: boolean;
|
|
3652
|
-
/**
|
|
3653
|
-
* All annotations for this resource
|
|
3654
|
-
*/
|
|
3655
|
-
annotations: Annotation[];
|
|
3656
|
-
/**
|
|
3657
|
-
* Resources that reference this resource
|
|
3658
|
-
*/
|
|
3659
|
-
referencedBy: any[];
|
|
3660
|
-
/**
|
|
3661
|
-
* Whether referencedBy is loading
|
|
3662
|
-
*/
|
|
3663
|
-
referencedByLoading: boolean;
|
|
3664
|
-
/**
|
|
3665
|
-
* All available entity types
|
|
3666
|
-
*/
|
|
3667
|
-
allEntityTypes: string[];
|
|
3668
3743
|
/**
|
|
3669
3744
|
* Current locale
|
|
3670
3745
|
*/
|
|
3671
3746
|
locale: string;
|
|
3672
|
-
/**
|
|
3673
|
-
* Theme state
|
|
3674
|
-
*/
|
|
3675
|
-
theme: any;
|
|
3676
|
-
onThemeChange: (theme: any) => void;
|
|
3677
|
-
/**
|
|
3678
|
-
* Line numbers state
|
|
3679
|
-
*/
|
|
3680
|
-
showLineNumbers: boolean;
|
|
3681
|
-
onLineNumbersToggle: () => void;
|
|
3682
|
-
/**
|
|
3683
|
-
* Active toolbar panel
|
|
3684
|
-
*/
|
|
3685
|
-
activePanel: any;
|
|
3686
|
-
onPanelToggle: (panel: any) => void;
|
|
3687
|
-
setActivePanel: (panel: any) => void;
|
|
3688
|
-
/**
|
|
3689
|
-
* Callbacks for resource actions
|
|
3690
|
-
*/
|
|
3691
|
-
onArchive: () => Promise<void>;
|
|
3692
|
-
onUnarchive: () => Promise<void>;
|
|
3693
|
-
onClone: () => Promise<void>;
|
|
3694
|
-
onUpdateAnnotationBody: (annotationUri: string, data: any) => Promise<void>;
|
|
3695
|
-
/**
|
|
3696
|
-
* Annotation CRUD callbacks
|
|
3697
|
-
*/
|
|
3698
|
-
onCreateAnnotation: (rUri: ResourceUri, motivation: Motivation, selector: any, body: any[]) => Promise<void>;
|
|
3699
|
-
onTriggerSparkleAnimation: (annotationId: string) => void;
|
|
3700
|
-
onClearNewAnnotationId: (annotationId: string) => void;
|
|
3701
|
-
/**
|
|
3702
|
-
* Toast notifications
|
|
3703
|
-
*/
|
|
3704
|
-
showSuccess: (message: string) => void;
|
|
3705
|
-
showError: (message: string) => void;
|
|
3706
3747
|
/**
|
|
3707
3748
|
* Cache manager for detection
|
|
3708
3749
|
*/
|
|
3709
3750
|
cacheManager: any;
|
|
3710
|
-
/**
|
|
3711
|
-
* API client
|
|
3712
|
-
*/
|
|
3713
|
-
client: any;
|
|
3714
3751
|
/**
|
|
3715
3752
|
* Link component for routing
|
|
3716
3753
|
*/
|
|
@@ -3720,12 +3757,149 @@ interface ResourceViewerPageProps {
|
|
|
3720
3757
|
*/
|
|
3721
3758
|
routes: any;
|
|
3722
3759
|
/**
|
|
3723
|
-
* Component dependencies - passed from
|
|
3760
|
+
* Component dependencies - passed from framework layer
|
|
3724
3761
|
*/
|
|
3725
3762
|
ToolbarPanels: React__default.ComponentType<any>;
|
|
3726
3763
|
SearchResourcesModal: React__default.ComponentType<any>;
|
|
3727
3764
|
GenerationConfigModal: React__default.ComponentType<any>;
|
|
3765
|
+
/**
|
|
3766
|
+
* Callback to refetch document from parent
|
|
3767
|
+
*/
|
|
3768
|
+
refetchDocument: () => Promise<unknown>;
|
|
3769
|
+
}
|
|
3770
|
+
/**
|
|
3771
|
+
* ResourceViewerPage - Main component
|
|
3772
|
+
*
|
|
3773
|
+
* Uses hooks directly (NO containers, NO render props, NO ResourceViewerPageContent wrapper)
|
|
3774
|
+
*/
|
|
3775
|
+
declare function ResourceViewerPage({ resource, rUri, locale, cacheManager, Link, routes, ToolbarPanels, SearchResourcesModal, GenerationConfigModal, refetchDocument, }: ResourceViewerPageProps): react_jsx_runtime.JSX.Element;
|
|
3776
|
+
|
|
3777
|
+
/**
|
|
3778
|
+
* useDetectionFlow - Detection state management hook
|
|
3779
|
+
*
|
|
3780
|
+
* Manages detection flow state and event subscriptions:
|
|
3781
|
+
* - Tracking currently detecting motivation
|
|
3782
|
+
* - Detection progress updates from SSE
|
|
3783
|
+
* - Detection lifecycle (start, progress, complete, failed)
|
|
3784
|
+
* - Auto-dismiss progress after completion (5 seconds)
|
|
3785
|
+
* - Manual dismiss via detection:dismiss-progress event
|
|
3786
|
+
*
|
|
3787
|
+
* Follows react-rxjs-guide.md Layer 2 pattern: Hook bridge that
|
|
3788
|
+
* subscribes to events and pushes values into React state.
|
|
3789
|
+
*/
|
|
3790
|
+
|
|
3791
|
+
interface DetectionFlowState {
|
|
3792
|
+
detectingMotivation: Motivation$9 | null;
|
|
3793
|
+
detectionProgress: DetectionProgress | null;
|
|
3794
|
+
detectionStreamRef: React.MutableRefObject<any>;
|
|
3795
|
+
}
|
|
3796
|
+
/**
|
|
3797
|
+
* Hook for detection flow state management
|
|
3798
|
+
*
|
|
3799
|
+
* @param rUri - Resource URI being detected
|
|
3800
|
+
* @returns Detection state and stream ref
|
|
3801
|
+
*/
|
|
3802
|
+
declare function useDetectionFlow(rUri: ResourceUri): DetectionFlowState;
|
|
3803
|
+
|
|
3804
|
+
/**
|
|
3805
|
+
* usePanelNavigation - Panel navigation and scroll coordination hook
|
|
3806
|
+
*
|
|
3807
|
+
* Manages sidebar panel state:
|
|
3808
|
+
* - Active panel tracking (which panel is open)
|
|
3809
|
+
* - Scroll coordination (scrollToAnnotationId)
|
|
3810
|
+
* - Panel routing with initial tab
|
|
3811
|
+
* - LocalStorage persistence
|
|
3812
|
+
*
|
|
3813
|
+
* Follows react-rxjs-guide.md Layer 2 pattern: Hook bridge that
|
|
3814
|
+
* subscribes to events and pushes values into React state.
|
|
3815
|
+
*/
|
|
3816
|
+
interface PanelNavigationState {
|
|
3817
|
+
activePanel: string | null;
|
|
3818
|
+
scrollToAnnotationId: string | null;
|
|
3819
|
+
panelInitialTab: {
|
|
3820
|
+
tab: string;
|
|
3821
|
+
generation: number;
|
|
3822
|
+
} | null;
|
|
3823
|
+
onScrollCompleted: () => void;
|
|
3824
|
+
}
|
|
3825
|
+
/**
|
|
3826
|
+
* Hook for panel navigation state management
|
|
3827
|
+
*
|
|
3828
|
+
* @returns Panel navigation state
|
|
3829
|
+
*/
|
|
3830
|
+
declare function usePanelNavigation(): PanelNavigationState;
|
|
3831
|
+
|
|
3832
|
+
/**
|
|
3833
|
+
* useAnnotationFlow - Annotation creation flow hook
|
|
3834
|
+
*
|
|
3835
|
+
* Manages annotation creation and interaction:
|
|
3836
|
+
* - Pending annotation state (user selected text, waiting for confirmation)
|
|
3837
|
+
* - Selection events → pending annotation conversion
|
|
3838
|
+
* - Annotation interaction (hover, click, delete)
|
|
3839
|
+
* - Annotation request routing to appropriate panel
|
|
3840
|
+
*
|
|
3841
|
+
* Follows react-rxjs-guide.md Layer 2 pattern: Hook bridge that
|
|
3842
|
+
* subscribes to events and pushes values into React state.
|
|
3843
|
+
*/
|
|
3844
|
+
|
|
3845
|
+
interface PendingAnnotation {
|
|
3846
|
+
selector: Selector | Selector[];
|
|
3847
|
+
motivation: Motivation$9;
|
|
3848
|
+
}
|
|
3849
|
+
interface AnnotationFlowState {
|
|
3850
|
+
pendingAnnotation: PendingAnnotation | null;
|
|
3851
|
+
hoveredAnnotationId: string | null;
|
|
3852
|
+
}
|
|
3853
|
+
/**
|
|
3854
|
+
* Hook for annotation creation and interaction flow
|
|
3855
|
+
*
|
|
3856
|
+
* @param rUri - Resource URI
|
|
3857
|
+
* @returns Annotation flow state
|
|
3858
|
+
*/
|
|
3859
|
+
declare function useAnnotationFlow(rUri: ResourceUri): AnnotationFlowState;
|
|
3860
|
+
|
|
3861
|
+
/**
|
|
3862
|
+
* useGenerationFlow - Document generation flow hook
|
|
3863
|
+
*
|
|
3864
|
+
* Manages document generation state:
|
|
3865
|
+
* - Generation progress tracking (from useGenerationProgress hook)
|
|
3866
|
+
* - Generation modal state
|
|
3867
|
+
* - Reference search modal state
|
|
3868
|
+
* - Generation completion/error handling
|
|
3869
|
+
*
|
|
3870
|
+
* Follows react-rxjs-guide.md Layer 2 pattern: Hook bridge that
|
|
3871
|
+
* subscribes to events and pushes values into React state.
|
|
3872
|
+
*/
|
|
3873
|
+
|
|
3874
|
+
interface GenerationFlowState {
|
|
3875
|
+
generationProgress: any | null;
|
|
3876
|
+
generationModalOpen: boolean;
|
|
3877
|
+
generationReferenceId: string | null;
|
|
3878
|
+
generationDefaultTitle: string;
|
|
3879
|
+
searchModalOpen: boolean;
|
|
3880
|
+
pendingReferenceId: string | null;
|
|
3881
|
+
onGenerateDocument: (referenceId: string, options: {
|
|
3882
|
+
title: string;
|
|
3883
|
+
prompt?: string;
|
|
3884
|
+
language?: string;
|
|
3885
|
+
temperature?: number;
|
|
3886
|
+
maxTokens?: number;
|
|
3887
|
+
context?: GenerationContext;
|
|
3888
|
+
}) => void;
|
|
3889
|
+
onCloseGenerationModal: () => void;
|
|
3890
|
+
onCloseSearchModal: () => void;
|
|
3728
3891
|
}
|
|
3729
|
-
|
|
3892
|
+
/**
|
|
3893
|
+
* Hook for document generation flow
|
|
3894
|
+
*
|
|
3895
|
+
* @param locale - Current locale for language defaults
|
|
3896
|
+
* @param resourceId - Resource ID for generation
|
|
3897
|
+
* @param showSuccess - Success toast callback
|
|
3898
|
+
* @param showError - Error toast callback
|
|
3899
|
+
* @param cacheManager - Cache manager for invalidation
|
|
3900
|
+
* @param clearNewAnnotationId - Clear animation callback
|
|
3901
|
+
* @returns Generation flow state
|
|
3902
|
+
*/
|
|
3903
|
+
declare function useGenerationFlow(locale: string, resourceId: string, showSuccess: (message: string) => void, showError: (message: string) => void, cacheManager: any, clearNewAnnotationId: (annotationId: AnnotationUri) => void): GenerationFlowState;
|
|
3730
3904
|
|
|
3731
|
-
export { ANNOTATORS, AUTH_EVENTS, AVAILABLE_LOCALES, AdminDevOpsPage, type AdminDevOpsPageProps, AdminSecurityPage, type AdminSecurityPageProps, type AdminUser, type AdminUserStats, AdminUsersPage, type AdminUsersPageProps, AnnotateToolbar, AnnotateView, type Annotation$
|
|
3905
|
+
export { ANNOTATORS, AUTH_EVENTS, AVAILABLE_LOCALES, AdminDevOpsPage, type AdminDevOpsPageProps, AdminSecurityPage, type AdminSecurityPageProps, type AdminUser, type AdminUserStats, AdminUsersPage, type AdminUsersPageProps, AnnotateToolbar, AnnotateView, type Annotation$k as Annotation, type AnnotationConfig, type AnnotationCreationHandler, type AnnotationFlowState, type AnnotationHandlers, AnnotationHistory, type AnnotationManager, AnnotationOverlay, AnnotationProvider, type AnnotationProviderProps, AnnotationUIProvider, type AnnotationUIProviderProps, type AnnotationUIState, type AnnotationsCollection, type Annotator, ApiClientProvider, type ApiClientProviderProps, AssessmentEntry, AssessmentPanel, AsyncErrorBoundary, AuthErrorDisplay, type AuthErrorDisplayProps, type AuthEventDetail, type AuthEventType, AuthTokenProvider, type AuthTokenProviderProps, type AvailableLocale, type BorderRadiusToken, BrowseView, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type CacheManager, CacheProvider, type CacheProviderProps, type ClickAction, CodeMirrorRenderer, CollaborationPanel, CollapsibleResourceNavigation, type CollapsibleResourceNavigationProps, type ColorToken, CommentEntry, CommentsPanel, ComposeLoadingState, type ComposeLoadingStateProps, type CreateAnnotationParams, type CreateConfig, type DeleteAnnotationParams, DetectSection, type DetectionConfig, type DetectionFlowState, type DetectionProgress, DetectionProgressWidget, type DevOpsFeature, type DrawingMode, EntityTagsPage, type EntityTagsPageProps, EntityTypeBadges, ErrorBoundary, EventBus, EventMap, type EventOperationsConfig, Footer, type GenerationFlowState, type GenerationOptions, type GenerationProgress, HighlightEntry, HighlightPanel, HistoryEvent, ImageURLSchema, ImageViewer, JsonLdPanel, JsonLdView, type KeyboardShortcut, KeyboardShortcutsHelpModal, LeftSidebar, type LinkComponentProps, LiveRegionProvider, type Motivation$8 as Motivation, type NavigationItem, NavigationMenu, type NavigationMenuHelper, type NavigationProps, type OAuthProvider, type OAuthUser, OAuthUserSchema, ObservableLink, type ObservableLinkProps, type OpenResource, OpenResourcesManager, OpenResourcesProvider, PageLayout, PanelHeader, type PanelNavigationState, PopupContainer, PopupHeader, type PreparedAnnotation, ProposeEntitiesModal, QUERY_KEYS, RecentDocumentsPage, type RecentDocumentsPageProps, ReferenceEntry, ReferenceResolutionWidget, ReferencesPanel, ResizeHandle, type ResolvedTheme, ResourceAnnotationsProvider, ResourceCard, type ResourceCardProps, ResourceComposePage, type ResourceComposePageProps, ResourceDiscoveryPage, type ResourceDiscoveryPageProps, ResourceErrorState, type ResourceErrorStateProps, ResourceInfoPanel, ResourceLoadingState, ResourceSearchModal, type ResourceSearchModalProps, ResourceTagsInline, ResourceViewer, ResourceViewerPage, type ResourceViewerPageProps, type RouteBuilder, type SaveResourceParams, SearchModal, type SearchModalProps, SelectedTextDisplay, type SelectionMotivation, type SelectorType, SemiontBranding, SemiontFavicon, type SemiontResource$4 as SemiontResource, SessionExpiryBanner, SessionManager, SessionProvider, SessionTimer, SettingsPanel, type ShadowToken, type ShapeType, SignInForm, type SignInFormProps, SignUpForm, type SignUpFormProps, SimpleNavigation, type SimpleNavigationItem, type SimpleNavigationProps, SkipLinks, SortableResourceTab, type SortableResourceTabProps, type SpacingToken, StatisticsPanel, StatusDisplay, type StreamStatus, SvgDrawingCanvas, TagEntry, TagSchemasPage, type TagSchemasPageProps, TaggingPanel, type TextSegment, type TextSelection, type Theme, ToastContainer, type ToastMessage, ToastProvider, type ToastType, Toolbar, type ToolbarPanelType, type TransitionToken, TranslationManager, TranslationProvider, type TranslationProviderProps, type TypographyToken, type UICreateAnnotationParams, UnifiedAnnotationsPanel, UnifiedHeader, type UseResourceContentResult, UserMenuSkeleton, WelcomePage, type WelcomePageProps, buttonStyles, createCancelDetectionHandler, createDetectionHandler, cssVariables, dispatch401Error, dispatch403Error, dispatchAuthEvent, faviconPaths, generateCSSVariables, getResourceIcon, getSelectedShapeForSelectorType, getSelectorType, getShortcutDisplay, getSupportedShapes, isShapeSupported, jsonLightHighlightStyle, jsonLightTheme, onAuthEvent, rehypeRenderAnnotations, remarkAnnotations, sanitizeImageURL, saveSelectedShapeForSelectorType, supportsDetection, tokens, useAdmin, useAnnotationFlow, useAnnotationManager, useAnnotationUI, useAnnotations, useApiClient, useAuthApi, useAuthToken, useCacheManager, useDebounce, useDebouncedCallback, useDetectionFlow, useDocumentAnnouncements, useDoubleKeyPress, useDropdown, useEntityTypes, useEventOperations, useEventSubscription, useEventSubscriptions, useFormAnnouncements, useFormValidation, useFormattedTime, useGenerationFlow, useGenerationProgress, useHealth, useIsTyping, useKeyboardShortcuts, useLanguageChangeAnnouncements, useLineNumbers, useLiveRegion, useLoadingState, useLocalStorage, useObservableExternalNavigation, useObservableRouter, useOpenResources, usePanelNavigation, usePanelWidth, usePreloadTranslations, useResourceAnnotations, useResourceContent, useResourceEvents, useResourceLoadingAnnouncements, useResources, useRovingTabIndex, useSearchAnnouncements, useSessionContext, useSessionExpiry, useTheme, useToast, useToolbar, useTranslations, validationRules };
|