@semiont/react-ui 0.4.21 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{PdfAnnotationCanvas.client-6ZGFEN2N.mjs → PdfAnnotationCanvas.client-5QESNO5H.mjs} +10 -9
- package/dist/PdfAnnotationCanvas.client-5QESNO5H.mjs.map +1 -0
- package/dist/{chunk-KEDFYI6N.mjs → chunk-4NOUO3W6.mjs} +2 -2
- package/dist/{chunk-KEDFYI6N.mjs.map → chunk-4NOUO3W6.mjs.map} +1 -1
- package/dist/index.d.mts +54 -79
- package/dist/index.mjs +255 -254
- package/dist/index.mjs.map +1 -1
- package/dist/test-utils.d.mts +3 -1
- package/dist/test-utils.mjs +14 -8
- package/dist/test-utils.mjs.map +1 -1
- package/package.json +2 -1
- package/src/components/AnnotateReferencesProgressWidget.tsx +1 -1
- package/src/components/CodeMirrorRenderer.tsx +5 -3
- package/src/components/LiveRegion.tsx +1 -2
- package/src/components/StatusDisplay.tsx +1 -1
- package/src/components/__tests__/StatusDisplay.test.tsx +3 -1
- package/src/components/annotation/AnnotateToolbar.tsx +5 -7
- package/src/components/annotation-popups/JsonLdView.tsx +1 -2
- package/src/components/annotation-popups/__tests__/JsonLdView.test.tsx +1 -1
- package/src/components/image-annotation/AnnotationOverlay.tsx +12 -14
- package/src/components/image-annotation/SvgDrawingCanvas.tsx +8 -13
- package/src/components/modals/ConfigureGenerationStep.tsx +1 -2
- package/src/components/modals/ReferenceWizardModal.tsx +1 -1
- package/src/components/modals/ResourceSearchModal.tsx +3 -3
- package/src/components/modals/SearchModal.tsx +2 -1
- package/src/components/modals/SearchResultsStep.tsx +1 -3
- package/src/components/modals/__tests__/SearchModal.accessibility.test.tsx +6 -2
- package/src/components/modals/__tests__/SearchModal.basic.test.tsx +6 -2
- package/src/components/modals/__tests__/SearchModal.keyboard.test.tsx +6 -2
- package/src/components/modals/__tests__/SearchModal.visual.test.tsx +6 -2
- package/src/components/pdf-annotation/PdfAnnotationCanvas.tsx +11 -12
- package/src/components/pdf-annotation/__tests__/PdfAnnotationCanvas.test.tsx +1 -1
- package/src/components/resource/AnnotateView.tsx +2 -5
- package/src/components/resource/BrowseView.tsx +6 -4
- package/src/components/resource/ResourceViewer.tsx +7 -11
- package/src/components/resource/__tests__/BrowseView.test.tsx +4 -4
- package/src/components/resource/__tests__/ResourceViewer.mode-switch.test.tsx +1 -0
- package/src/components/resource/__tests__/event-formatting.test.ts +6 -2
- package/src/components/resource/event-formatting.ts +2 -3
- package/src/components/resource/panels/AssessmentEntry.tsx +3 -5
- package/src/components/resource/panels/AssessmentPanel.tsx +5 -5
- package/src/components/resource/panels/AssistSection.tsx +6 -10
- package/src/components/resource/panels/CollaborationPanel.tsx +1 -1
- package/src/components/resource/panels/CommentEntry.tsx +3 -5
- package/src/components/resource/panels/CommentsPanel.tsx +5 -5
- package/src/components/resource/panels/HighlightEntry.tsx +3 -5
- package/src/components/resource/panels/HighlightPanel.tsx +3 -3
- package/src/components/resource/panels/ReferenceEntry.tsx +7 -9
- package/src/components/resource/panels/ReferencesPanel.tsx +8 -11
- package/src/components/resource/panels/ResourceInfoPanel.tsx +5 -5
- package/src/components/resource/panels/StatisticsPanel.tsx +2 -3
- package/src/components/resource/panels/TagEntry.tsx +3 -5
- package/src/components/resource/panels/TaggingPanel.tsx +8 -11
- package/src/components/resource/panels/UnifiedAnnotationsPanel.tsx +1 -1
- package/src/components/resource/panels/__tests__/AssessmentEntry.test.tsx +4 -4
- package/src/components/resource/panels/__tests__/AssessmentPanel.test.tsx +4 -5
- package/src/components/resource/panels/__tests__/CommentEntry.test.tsx +4 -4
- package/src/components/resource/panels/__tests__/CommentsPanel.test.tsx +4 -5
- package/src/components/resource/panels/__tests__/HighlightEntry.test.tsx +4 -4
- package/src/components/resource/panels/__tests__/HighlightPanel.annotationProgress.test.tsx +1 -1
- package/src/components/resource/panels/__tests__/ReferenceEntry.test.tsx +4 -4
- package/src/components/resource/panels/__tests__/ResourceInfoPanel.test.tsx +21 -14
- package/src/components/resource/panels/__tests__/StatisticsPanel.test.tsx +3 -3
- package/src/components/resource/panels/__tests__/TagEntry.test.tsx +4 -4
- package/src/components/resource/panels/__tests__/TaggingPanel.test.tsx +4 -5
- package/src/components/settings/SettingsPanel.tsx +1 -1
- package/src/components/settings/__tests__/SettingsPanel.test.tsx +3 -3
- package/src/features/admin-devops/components/AdminDevOpsPage.tsx +1 -2
- package/src/features/admin-exchange/components/AdminExchangePage.tsx +1 -1
- package/src/features/admin-exchange/components/ImportCard.tsx +1 -2
- package/src/features/admin-security/components/AdminSecurityPage.tsx +1 -2
- package/src/features/admin-users/components/AdminUsersPage.tsx +1 -1
- package/src/features/moderate-entity-tags/components/EntityTagsPage.tsx +1 -2
- package/src/features/moderate-recent/components/RecentDocumentsPage.tsx +1 -2
- package/src/features/moderate-tag-schemas/components/TagSchemasPage.tsx +1 -1
- package/src/features/moderation-linked-data/components/LinkedDataPage.tsx +1 -1
- package/src/features/resource-compose/components/ResourceComposePage.tsx +3 -2
- package/src/features/resource-discovery/components/ResourceCard.tsx +1 -2
- package/src/features/resource-discovery/components/ResourceDiscoveryPage.tsx +3 -4
- package/src/features/resource-viewer/__tests__/ResourceViewerPage.test.tsx +4 -5
- package/src/features/resource-viewer/components/ResourceViewerPage.tsx +12 -11
- package/dist/PdfAnnotationCanvas.client-6ZGFEN2N.mjs.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Annotation, ResourceId, Selector, components, ResourceDescriptor, ValidationResult, EventMap, AnnotationId, StoredEventLike, ConnectionState, GatheredContext } from '@semiont/core';
|
|
2
|
+
export { Annotation } from '@semiont/core';
|
|
2
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
4
|
import * as React$1 from 'react';
|
|
4
5
|
import React__default, { ComponentType, ReactNode, KeyboardEvent as KeyboardEvent$1, Component, ErrorInfo, Ref } from 'react';
|
|
@@ -6,23 +7,22 @@ import { T as TranslationManager } from './TranslationManager-9Xj3MIWQ.mjs';
|
|
|
6
7
|
import * as _codemirror_state from '@codemirror/state';
|
|
7
8
|
import { HighlightStyle } from '@codemirror/language';
|
|
8
9
|
import { WidgetType } from '@codemirror/view';
|
|
9
|
-
import {
|
|
10
|
-
export { ActiveJob, AdminSecurityVM, AdminUsersVM, AnnotationGroups, BeckonVM, COMMON_PANELS, CloneData, ComposeMode, ComposePageVM, ComposeParams, DiscoverVM, EntityTagsVM, ExchangeVM, GatherVM, GenerateDocumentOptions, HOVER_DELAY_MS, HoverHandlers, ImportPreview, Job, JobAssignment, JobClaimAdapter, JobClaimAdapterOptions, JobQueueVM, MarkVM, MatchVM, PendingAnnotation, RESOURCE_PANELS, ReferenceData, ResourceLoaderVM, ResourceViewerPageVM, SaveResourceParams, SearchPipeline, SearchPipelineOptions, SearchState, SessionVM, ShellVM, ShellVMOptions, ToolbarPanelType, WelcomeVM, WizardState, YieldVM, createAdminSecurityVM, createAdminUsersVM, createBeckonVM, createComposePageVM, createDiscoverVM, createEntityTagsVM, createExchangeVM, createGatherVM, createHoverHandlers, createJobClaimAdapter, createJobQueueVM, createMarkVM, createMatchVM, createResourceLoaderVM, createResourceViewerPageVM, createSearchPipeline, createSessionVM, createShellVM, createWelcomeVM, createYieldVM } from '@semiont/
|
|
10
|
+
import { ViewModel, SemiontBrowser, SessionStorage, SemiontSession, OpenResource, ImportPreview, CloneData, ReferenceData, ShellVM } from '@semiont/sdk';
|
|
11
|
+
export { ActiveJob, AdminSecurityVM, AdminUsersVM, AnnotationGroups, BeckonVM, COMMON_PANELS, CloneData, ComposeMode, ComposePageVM, ComposeParams, DiscoverVM, EntityTagsVM, ExchangeVM, GatherVM, GenerateDocumentOptions, HOVER_DELAY_MS, HoverHandlers, ImportPreview, Job, JobAssignment, JobClaimAdapter, JobClaimAdapterOptions, JobQueueVM, MarkVM, MatchVM, PendingAnnotation, RESOURCE_PANELS, ReferenceData, ResourceLoaderVM, ResourceViewerPageVM, SaveResourceParams, SearchPipeline, SearchPipelineOptions, SearchState, SessionVM, ShellVM, ShellVMOptions, ToolbarPanelType, WelcomeVM, WizardState, YieldVM, createAdminSecurityVM, createAdminUsersVM, createBeckonVM, createComposePageVM, createDiscoverVM, createEntityTagsVM, createExchangeVM, createGatherVM, createHoverHandlers, createJobClaimAdapter, createJobQueueVM, createMarkVM, createMatchVM, createResourceLoaderVM, createResourceViewerPageVM, createSearchPipeline, createSessionVM, createShellVM, createWelcomeVM, createYieldVM } from '@semiont/sdk';
|
|
11
12
|
import { TagSchema } from '@semiont/ontology';
|
|
12
13
|
export { TAG_SCHEMAS, TagCategory, TagSchema, getAllTagSchemas, getSchemaCategory as getTagCategory, getTagSchema, getTagSchemasByDomain, isValidCategory } from '@semiont/ontology';
|
|
13
14
|
import { Observable } from 'rxjs';
|
|
14
15
|
|
|
15
|
-
type Annotation$m = components['schemas']['Annotation'];
|
|
16
16
|
/**
|
|
17
17
|
* Collection of all annotation types for a resource.
|
|
18
18
|
* Replaces separate highlights, references, assessments, comments, tags props.
|
|
19
19
|
*/
|
|
20
20
|
interface AnnotationsCollection {
|
|
21
|
-
highlights: Annotation
|
|
22
|
-
references: Annotation
|
|
23
|
-
assessments: Annotation
|
|
24
|
-
comments: Annotation
|
|
25
|
-
tags: Annotation
|
|
21
|
+
highlights: Annotation[];
|
|
22
|
+
references: Annotation[];
|
|
23
|
+
assessments: Annotation[];
|
|
24
|
+
comments: Annotation[];
|
|
25
|
+
tags: Annotation[];
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
28
|
* Event handlers for annotation interactions.
|
|
@@ -30,7 +30,7 @@ interface AnnotationsCollection {
|
|
|
30
30
|
*/
|
|
31
31
|
interface AnnotationHandlers {
|
|
32
32
|
/** Unified click handler - routes based on annotation type and current mode */
|
|
33
|
-
onClick?: (annotation: Annotation
|
|
33
|
+
onClick?: (annotation: Annotation, event?: React.MouseEvent) => void;
|
|
34
34
|
/** Unified hover handler for all annotation types */
|
|
35
35
|
onHover?: (annotationId: string | null) => void;
|
|
36
36
|
/** Hover handler specifically for comment panel highlighting */
|
|
@@ -79,7 +79,7 @@ interface UICreateAnnotationParams {
|
|
|
79
79
|
* - linking: Shows Quick Reference popup FIRST, creates when user confirms
|
|
80
80
|
*/
|
|
81
81
|
interface AnnotationCreationHandler {
|
|
82
|
-
onCreate?: (params: UICreateAnnotationParams) => void | Promise<void> | Promise<Annotation
|
|
82
|
+
onCreate?: (params: UICreateAnnotationParams) => void | Promise<void> | Promise<Annotation | undefined>;
|
|
83
83
|
}
|
|
84
84
|
/**
|
|
85
85
|
* UI state for annotation toolbar and interactions.
|
|
@@ -112,7 +112,6 @@ interface AnnotationConfig {
|
|
|
112
112
|
annotateMode?: boolean;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
type Annotation$l = components['schemas']['Annotation'];
|
|
116
115
|
/**
|
|
117
116
|
* Parameters for creating an annotation
|
|
118
117
|
*/
|
|
@@ -137,14 +136,14 @@ interface DeleteAnnotationParams {
|
|
|
137
136
|
*
|
|
138
137
|
* Example implementation:
|
|
139
138
|
* ```typescript
|
|
140
|
-
* function useAnnotationManager(client:
|
|
139
|
+
* function useAnnotationManager(client: SemiontClient): AnnotationManager {
|
|
141
140
|
* return {
|
|
142
141
|
* markAnnotation: async (params) => {
|
|
143
|
-
* const result = await client.
|
|
142
|
+
* const result = await client.mark.annotation(params.rUri, {...});
|
|
144
143
|
* return result.annotation;
|
|
145
144
|
* },
|
|
146
145
|
* deleteAnnotation: async (params) => {
|
|
147
|
-
* await client.
|
|
146
|
+
* await client.mark.delete(params.rUri, params.annotationId);
|
|
148
147
|
* }
|
|
149
148
|
* };
|
|
150
149
|
* }
|
|
@@ -156,7 +155,7 @@ interface AnnotationManager {
|
|
|
156
155
|
* @param params - Creation parameters (rUri, motivation, selector, body)
|
|
157
156
|
* @returns Promise resolving to the created annotation, or undefined if creation fails
|
|
158
157
|
*/
|
|
159
|
-
markAnnotation: (params: CreateAnnotationParams) => Promise<Annotation
|
|
158
|
+
markAnnotation: (params: CreateAnnotationParams) => Promise<Annotation | undefined>;
|
|
160
159
|
/**
|
|
161
160
|
* Delete an annotation
|
|
162
161
|
* @param params - Deletion parameters (annotationId, rUri)
|
|
@@ -203,8 +202,7 @@ interface NavigationProps {
|
|
|
203
202
|
* Type definitions for resource viewer feature
|
|
204
203
|
*/
|
|
205
204
|
|
|
206
|
-
type SemiontResource$
|
|
207
|
-
type Annotation$k = components['schemas']['Annotation'];
|
|
205
|
+
type SemiontResource$2 = ResourceDescriptor;
|
|
208
206
|
type Motivation$8 = components['schemas']['Motivation'];
|
|
209
207
|
/**
|
|
210
208
|
* Selection for creating annotations
|
|
@@ -232,7 +230,6 @@ interface TextSelection {
|
|
|
232
230
|
* No aliasing, wrappers, or compatibility layers elsewhere.
|
|
233
231
|
*/
|
|
234
232
|
|
|
235
|
-
type Annotation$j = components['schemas']['Annotation'];
|
|
236
233
|
type Motivation$7 = components['schemas']['Motivation'];
|
|
237
234
|
/**
|
|
238
235
|
* Detection configuration for SSE-based annotation detection
|
|
@@ -269,7 +266,7 @@ interface Annotator {
|
|
|
269
266
|
isClickable: boolean;
|
|
270
267
|
hasHoverInteraction: boolean;
|
|
271
268
|
hasSidePanel: boolean;
|
|
272
|
-
matchesAnnotation: (annotation: Annotation
|
|
269
|
+
matchesAnnotation: (annotation: Annotation) => boolean;
|
|
273
270
|
announceOnCreate: string;
|
|
274
271
|
detection?: DetectionConfig;
|
|
275
272
|
create: CreateConfig;
|
|
@@ -320,7 +317,6 @@ declare const jsonLightHighlightStyle: HighlightStyle;
|
|
|
320
317
|
* clicks and hovers via a single set of delegated handlers.
|
|
321
318
|
*/
|
|
322
319
|
|
|
323
|
-
type Annotation$i = components['schemas']['Annotation'];
|
|
324
320
|
/**
|
|
325
321
|
* Reference Resolution Widget
|
|
326
322
|
* Shows a small indicator next to references with hover preview.
|
|
@@ -329,10 +325,10 @@ type Annotation$i = components['schemas']['Annotation'];
|
|
|
329
325
|
* and CodeMirrorRenderer handles events via container-level listeners.
|
|
330
326
|
*/
|
|
331
327
|
declare class ReferenceResolutionWidget extends WidgetType {
|
|
332
|
-
readonly annotation: Annotation
|
|
328
|
+
readonly annotation: Annotation;
|
|
333
329
|
readonly targetDocumentName?: string | undefined;
|
|
334
330
|
readonly isGenerating?: boolean | undefined;
|
|
335
|
-
constructor(annotation: Annotation
|
|
331
|
+
constructor(annotation: Annotation, targetDocumentName?: string | undefined, isGenerating?: boolean | undefined);
|
|
336
332
|
eq(other: ReferenceResolutionWidget): boolean;
|
|
337
333
|
toDOM(): HTMLSpanElement;
|
|
338
334
|
ignoreEvent(event: Event): boolean;
|
|
@@ -437,7 +433,6 @@ declare function saveSelectedShapeForSelectorType(selectorType: SelectorType, sh
|
|
|
437
433
|
* the overlay spans — no markdown re-parse, no AST walk.
|
|
438
434
|
*/
|
|
439
435
|
|
|
440
|
-
type Annotation$h = components['schemas']['Annotation'];
|
|
441
436
|
interface OverlayAnnotation {
|
|
442
437
|
id: string;
|
|
443
438
|
exact: string;
|
|
@@ -492,7 +487,7 @@ declare function clearHighlights(container: HTMLElement): void;
|
|
|
492
487
|
* Convert W3C Annotations to the simplified overlay format.
|
|
493
488
|
* Extracts TextPositionSelector offsets and annotation type.
|
|
494
489
|
*/
|
|
495
|
-
declare function toOverlayAnnotations(annotations: Annotation
|
|
490
|
+
declare function toOverlayAnnotations(annotations: Annotation[]): OverlayAnnotation[];
|
|
496
491
|
|
|
497
492
|
/**
|
|
498
493
|
* Resource utilities
|
|
@@ -804,12 +799,11 @@ declare function useLoadingState(minLoadingTime?: number): {
|
|
|
804
799
|
*/
|
|
805
800
|
declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T | ((val: T) => T)) => void];
|
|
806
801
|
|
|
807
|
-
type SemiontResource$3 = components['schemas']['ResourceDescriptor'];
|
|
808
802
|
interface UseResourceContentResult {
|
|
809
803
|
content: string;
|
|
810
804
|
loading: boolean;
|
|
811
805
|
}
|
|
812
|
-
declare function useResourceContent(rUri: ResourceId, resource:
|
|
806
|
+
declare function useResourceContent(rUri: ResourceId, resource: ResourceDescriptor, enabled?: boolean): UseResourceContentResult;
|
|
813
807
|
|
|
814
808
|
interface SemiontProviderProps {
|
|
815
809
|
/** Inject a specific browser (tests). Omit in production. */
|
|
@@ -850,10 +844,10 @@ interface AnnotationProviderProps {
|
|
|
850
844
|
*
|
|
851
845
|
* Example usage:
|
|
852
846
|
* ```typescript
|
|
853
|
-
* function useAnnotationManager(client:
|
|
847
|
+
* function useAnnotationManager(client: SemiontClient): AnnotationManager {
|
|
854
848
|
* return {
|
|
855
849
|
* markAnnotation: async (params) => {
|
|
856
|
-
* const result = await client.
|
|
850
|
+
* const result = await client.mark.annotation(params.rUri, {
|
|
857
851
|
* motivation: params.motivation,
|
|
858
852
|
* target: { source: params.rUri, selector: params.selector },
|
|
859
853
|
* body: params.body,
|
|
@@ -861,7 +855,7 @@ interface AnnotationProviderProps {
|
|
|
861
855
|
* return result.annotation;
|
|
862
856
|
* },
|
|
863
857
|
* deleteAnnotation: async (params) => {
|
|
864
|
-
* await client.
|
|
858
|
+
* await client.mark.delete(params.rUri, params.annotationId);
|
|
865
859
|
* }
|
|
866
860
|
* };
|
|
867
861
|
* }
|
|
@@ -887,7 +881,7 @@ declare function useAnnotationManager(): AnnotationManager;
|
|
|
887
881
|
*
|
|
888
882
|
* Two buses exist: the app-scoped bus on `SemiontBrowser` (panel, shell,
|
|
889
883
|
* tabs, nav, settings — events that must work without a KB session) and
|
|
890
|
-
* the per-session bus on `
|
|
884
|
+
* the per-session bus on `SemiontClient` (mark, beckon, gather,
|
|
891
885
|
* match, bind, yield, browse — events tied to a live KB). This hook
|
|
892
886
|
* subscribes to BOTH so components don't need to know which scope a
|
|
893
887
|
* channel is on. Each channel only fires on one bus, so there's no
|
|
@@ -908,7 +902,7 @@ declare function useEventSubscription<K extends keyof EventMap>(eventName: K, ha
|
|
|
908
902
|
* Subscribe to multiple bus events at once. Same semantics as
|
|
909
903
|
* `useEventSubscription`, batched — each channel is subscribed on both
|
|
910
904
|
* the app bus (`SemiontBrowser`) and the session bus
|
|
911
|
-
* (`
|
|
905
|
+
* (`SemiontClient`, when a session is active).
|
|
912
906
|
*
|
|
913
907
|
* @example
|
|
914
908
|
* ```tsx
|
|
@@ -1047,10 +1041,9 @@ declare function usePreloadTranslations(): {
|
|
|
1047
1041
|
* They handle position conversion, tooltip generation, and decoration metadata.
|
|
1048
1042
|
*/
|
|
1049
1043
|
|
|
1050
|
-
type Annotation$g = components['schemas']['Annotation'];
|
|
1051
1044
|
interface TextSegment {
|
|
1052
1045
|
exact: string;
|
|
1053
|
-
annotation?: Annotation
|
|
1046
|
+
annotation?: Annotation;
|
|
1054
1047
|
start: number;
|
|
1055
1048
|
end: number;
|
|
1056
1049
|
}
|
|
@@ -1143,7 +1136,6 @@ interface ProtectedErrorBoundaryProps {
|
|
|
1143
1136
|
*/
|
|
1144
1137
|
declare function ProtectedErrorBoundary({ children, resetKeys, }: ProtectedErrorBoundaryProps): react_jsx_runtime.JSX.Element;
|
|
1145
1138
|
|
|
1146
|
-
type Annotation$f = components['schemas']['Annotation'];
|
|
1147
1139
|
interface LiveRegionContextType {
|
|
1148
1140
|
announce: (message: string, priority?: 'polite' | 'assertive') => void;
|
|
1149
1141
|
}
|
|
@@ -1159,9 +1151,9 @@ declare function useSearchAnnouncements(): {
|
|
|
1159
1151
|
declare function useDocumentAnnouncements(annotators?: Record<string, Annotator>): {
|
|
1160
1152
|
announceDocumentSaved: () => void;
|
|
1161
1153
|
announceDocumentDeleted: () => void;
|
|
1162
|
-
announceAnnotationCreated: (annotation: Annotation
|
|
1154
|
+
announceAnnotationCreated: (annotation: Annotation) => void;
|
|
1163
1155
|
announceAnnotationDeleted: () => void;
|
|
1164
|
-
announceAnnotationUpdated: (annotation: Annotation
|
|
1156
|
+
announceAnnotationUpdated: (annotation: Annotation) => void;
|
|
1165
1157
|
announceError: (message: string) => void;
|
|
1166
1158
|
};
|
|
1167
1159
|
declare function useResourceLoadingAnnouncements(): {
|
|
@@ -1281,9 +1273,8 @@ interface SettingsPanelProps {
|
|
|
1281
1273
|
*/
|
|
1282
1274
|
declare function SettingsPanel({ showLineNumbers, theme, locale, isPendingLocaleChange, hoverDelayMs }: SettingsPanelProps): react_jsx_runtime.JSX.Element;
|
|
1283
1275
|
|
|
1284
|
-
type Annotation$e = components['schemas']['Annotation'];
|
|
1285
1276
|
interface JsonLdViewProps {
|
|
1286
|
-
annotation: Annotation
|
|
1277
|
+
annotation: Annotation;
|
|
1287
1278
|
onBack: () => void;
|
|
1288
1279
|
}
|
|
1289
1280
|
declare function JsonLdView({ annotation, onBack }: JsonLdViewProps): react_jsx_runtime.JSX.Element;
|
|
@@ -1314,9 +1305,8 @@ interface PopupContainerProps {
|
|
|
1314
1305
|
}
|
|
1315
1306
|
declare function PopupContainer({ children, position, onClose, isOpen, wide }: PopupContainerProps): react_jsx_runtime.JSX.Element;
|
|
1316
1307
|
|
|
1317
|
-
type Annotation$d = components['schemas']['Annotation'];
|
|
1318
1308
|
interface AnnotationOverlayProps {
|
|
1319
|
-
annotations: Annotation
|
|
1309
|
+
annotations: Annotation[];
|
|
1320
1310
|
imageWidth: number;
|
|
1321
1311
|
imageHeight: number;
|
|
1322
1312
|
displayWidth: number;
|
|
@@ -1334,11 +1324,10 @@ interface AnnotationOverlayProps {
|
|
|
1334
1324
|
*/
|
|
1335
1325
|
declare function AnnotationOverlay({ annotations, imageWidth, imageHeight, displayWidth, displayHeight, session, hoveredAnnotationId, selectedAnnotationId, hoverDelayMs }: AnnotationOverlayProps): react_jsx_runtime.JSX.Element;
|
|
1336
1326
|
|
|
1337
|
-
type Annotation$c = components['schemas']['Annotation'];
|
|
1338
1327
|
type DrawingMode = 'rectangle' | 'polygon' | 'circle' | 'freeform' | null;
|
|
1339
1328
|
interface SvgDrawingCanvasProps {
|
|
1340
1329
|
imageUrl: string;
|
|
1341
|
-
existingAnnotations?: Annotation
|
|
1330
|
+
existingAnnotations?: Annotation[];
|
|
1342
1331
|
drawingMode: DrawingMode;
|
|
1343
1332
|
selectedMotivation?: SelectionMotivation | null;
|
|
1344
1333
|
session?: SemiontSession | null | undefined;
|
|
@@ -1460,7 +1449,6 @@ interface Props$5 {
|
|
|
1460
1449
|
}
|
|
1461
1450
|
declare function HistoryEvent({ event, annotations, allEvents, isRelated, t, Link, routes, onEventRef, onEventClick, onEventHover }: Props$5): react_jsx_runtime.JSX.Element;
|
|
1462
1451
|
|
|
1463
|
-
type SemiontResource$2 = components['schemas']['ResourceDescriptor'];
|
|
1464
1452
|
/**
|
|
1465
1453
|
* ResourceViewer - Display and interact with resource content and annotations
|
|
1466
1454
|
*
|
|
@@ -1480,7 +1468,7 @@ type SemiontResource$2 = components['schemas']['ResourceDescriptor'];
|
|
|
1480
1468
|
* Phase 3 complete: Fully event-driven - all user interactions use unified event bus
|
|
1481
1469
|
*/
|
|
1482
1470
|
interface Props$4 {
|
|
1483
|
-
resource:
|
|
1471
|
+
resource: ResourceDescriptor & {
|
|
1484
1472
|
content: string;
|
|
1485
1473
|
};
|
|
1486
1474
|
annotations: AnnotationsCollection;
|
|
@@ -1504,16 +1492,14 @@ interface Props$4 {
|
|
|
1504
1492
|
*/
|
|
1505
1493
|
declare function ResourceViewer({ resource, annotations, generatingReferenceId, showLineNumbers, hoverDelayMs, hoveredAnnotationId: hoveredAnnotationIdProp }: Props$4): react_jsx_runtime.JSX.Element;
|
|
1506
1494
|
|
|
1507
|
-
type Annotation$b = components['schemas']['Annotation'];
|
|
1508
1495
|
interface AssessmentEntryProps {
|
|
1509
|
-
assessment: Annotation
|
|
1496
|
+
assessment: Annotation;
|
|
1510
1497
|
isFocused: boolean;
|
|
1511
1498
|
isHovered?: boolean;
|
|
1512
1499
|
ref?: Ref<HTMLDivElement>;
|
|
1513
1500
|
}
|
|
1514
1501
|
declare function AssessmentEntry({ assessment, isFocused, isHovered, ref, }: AssessmentEntryProps): react_jsx_runtime.JSX.Element;
|
|
1515
1502
|
|
|
1516
|
-
type Annotation$a = components['schemas']['Annotation'];
|
|
1517
1503
|
type Motivation$5 = components['schemas']['Motivation'];
|
|
1518
1504
|
type JobProgress$6 = components['schemas']['JobProgress'];
|
|
1519
1505
|
interface PendingAnnotation$5 {
|
|
@@ -1521,7 +1507,7 @@ interface PendingAnnotation$5 {
|
|
|
1521
1507
|
motivation: Motivation$5;
|
|
1522
1508
|
}
|
|
1523
1509
|
interface AssessmentPanelProps {
|
|
1524
|
-
annotations: Annotation
|
|
1510
|
+
annotations: Annotation[];
|
|
1525
1511
|
pendingAnnotation: PendingAnnotation$5 | null;
|
|
1526
1512
|
isAssisting?: boolean;
|
|
1527
1513
|
progress?: JobProgress$6 | null;
|
|
@@ -1565,9 +1551,8 @@ interface Props$3 {
|
|
|
1565
1551
|
}
|
|
1566
1552
|
declare function CollaborationPanel({ state, eventCount, lastEventTimestamp, knowledgeBaseName }: Props$3): react_jsx_runtime.JSX.Element;
|
|
1567
1553
|
|
|
1568
|
-
type Annotation$9 = components['schemas']['Annotation'];
|
|
1569
1554
|
interface CommentEntryProps {
|
|
1570
|
-
comment: Annotation
|
|
1555
|
+
comment: Annotation;
|
|
1571
1556
|
isFocused: boolean;
|
|
1572
1557
|
isHovered?: boolean;
|
|
1573
1558
|
annotateMode?: boolean;
|
|
@@ -1575,7 +1560,6 @@ interface CommentEntryProps {
|
|
|
1575
1560
|
}
|
|
1576
1561
|
declare function CommentEntry({ comment, isFocused, isHovered, annotateMode, ref, }: CommentEntryProps): react_jsx_runtime.JSX.Element;
|
|
1577
1562
|
|
|
1578
|
-
type Annotation$8 = components['schemas']['Annotation'];
|
|
1579
1563
|
type Motivation$4 = components['schemas']['Motivation'];
|
|
1580
1564
|
type JobProgress$5 = components['schemas']['JobProgress'];
|
|
1581
1565
|
interface PendingAnnotation$4 {
|
|
@@ -1583,7 +1567,7 @@ interface PendingAnnotation$4 {
|
|
|
1583
1567
|
motivation: Motivation$4;
|
|
1584
1568
|
}
|
|
1585
1569
|
interface CommentsPanelProps {
|
|
1586
|
-
annotations: Annotation
|
|
1570
|
+
annotations: Annotation[];
|
|
1587
1571
|
pendingAnnotation: PendingAnnotation$4 | null;
|
|
1588
1572
|
annotateMode?: boolean;
|
|
1589
1573
|
isAssisting?: boolean;
|
|
@@ -1623,16 +1607,14 @@ interface AssistSectionProps {
|
|
|
1623
1607
|
*/
|
|
1624
1608
|
declare function AssistSection({ annotationType, isAssisting, locale, progress, }: AssistSectionProps): react_jsx_runtime.JSX.Element;
|
|
1625
1609
|
|
|
1626
|
-
type Annotation$7 = components['schemas']['Annotation'];
|
|
1627
1610
|
interface HighlightEntryProps {
|
|
1628
|
-
highlight: Annotation
|
|
1611
|
+
highlight: Annotation;
|
|
1629
1612
|
isFocused: boolean;
|
|
1630
1613
|
isHovered?: boolean;
|
|
1631
1614
|
ref?: Ref<HTMLDivElement>;
|
|
1632
1615
|
}
|
|
1633
1616
|
declare function HighlightEntry({ highlight, isFocused, isHovered, ref, }: HighlightEntryProps): react_jsx_runtime.JSX.Element;
|
|
1634
1617
|
|
|
1635
|
-
type Annotation$6 = components['schemas']['Annotation'];
|
|
1636
1618
|
type Motivation$3 = components['schemas']['Motivation'];
|
|
1637
1619
|
type JobProgress$3 = components['schemas']['JobProgress'];
|
|
1638
1620
|
interface PendingAnnotation$3 {
|
|
@@ -1640,7 +1622,7 @@ interface PendingAnnotation$3 {
|
|
|
1640
1622
|
motivation: Motivation$3;
|
|
1641
1623
|
}
|
|
1642
1624
|
interface HighlightPanelProps {
|
|
1643
|
-
annotations: Annotation
|
|
1625
|
+
annotations: Annotation[];
|
|
1644
1626
|
pendingAnnotation: PendingAnnotation$3 | null;
|
|
1645
1627
|
isAssisting?: boolean;
|
|
1646
1628
|
progress?: JobProgress$3 | null;
|
|
@@ -1675,9 +1657,8 @@ interface PanelHeaderProps {
|
|
|
1675
1657
|
*/
|
|
1676
1658
|
declare function PanelHeader({ count, title }: PanelHeaderProps): react_jsx_runtime.JSX.Element;
|
|
1677
1659
|
|
|
1678
|
-
type Annotation$5 = components['schemas']['Annotation'];
|
|
1679
1660
|
interface ReferenceEntryProps {
|
|
1680
|
-
reference: Annotation
|
|
1661
|
+
reference: Annotation;
|
|
1681
1662
|
isFocused: boolean;
|
|
1682
1663
|
isHovered?: boolean;
|
|
1683
1664
|
routes: RouteBuilder;
|
|
@@ -1688,7 +1669,7 @@ interface ReferenceEntryProps {
|
|
|
1688
1669
|
declare function ReferenceEntry({ reference, isFocused, isHovered, routes, annotateMode, isGenerating, ref, }: ReferenceEntryProps): react_jsx_runtime.JSX.Element;
|
|
1689
1670
|
|
|
1690
1671
|
type JobProgress$2 = components['schemas']['JobProgress'];
|
|
1691
|
-
|
|
1672
|
+
|
|
1692
1673
|
type Motivation$2 = components['schemas']['Motivation'];
|
|
1693
1674
|
type ReferencedBy = components['schemas']['GetReferencedByResponse']['referencedBy'][number];
|
|
1694
1675
|
interface PendingAnnotation$2 {
|
|
@@ -1696,7 +1677,7 @@ interface PendingAnnotation$2 {
|
|
|
1696
1677
|
motivation: Motivation$2;
|
|
1697
1678
|
}
|
|
1698
1679
|
interface Props$1 {
|
|
1699
|
-
annotations?: Annotation
|
|
1680
|
+
annotations?: Annotation[];
|
|
1700
1681
|
isAssisting: boolean;
|
|
1701
1682
|
progress: JobProgress$2 | null;
|
|
1702
1683
|
annotateMode?: boolean;
|
|
@@ -1746,26 +1727,23 @@ interface Props {
|
|
|
1746
1727
|
*/
|
|
1747
1728
|
declare function ResourceInfoPanel({ resourceId, documentEntityTypes, documentLocale, primaryMediaType, primaryByteSize, storageUri, isArchived, dateCreated, dateModified, creationMethod, wasAttributedTo, wasDerivedFrom, generator, }: Props): react_jsx_runtime.JSX.Element;
|
|
1748
1729
|
|
|
1749
|
-
type Annotation$3 = components['schemas']['Annotation'];
|
|
1750
1730
|
interface StatisticsPanelProps {
|
|
1751
|
-
highlights: Annotation
|
|
1752
|
-
comments: Annotation
|
|
1753
|
-
assessments: Annotation
|
|
1754
|
-
references: Annotation
|
|
1755
|
-
tags: Annotation
|
|
1731
|
+
highlights: Annotation[];
|
|
1732
|
+
comments: Annotation[];
|
|
1733
|
+
assessments: Annotation[];
|
|
1734
|
+
references: Annotation[];
|
|
1735
|
+
tags: Annotation[];
|
|
1756
1736
|
}
|
|
1757
1737
|
declare function StatisticsPanel({ highlights, comments, assessments, references, tags }: StatisticsPanelProps): react_jsx_runtime.JSX.Element;
|
|
1758
1738
|
|
|
1759
|
-
type Annotation$2 = components['schemas']['Annotation'];
|
|
1760
1739
|
interface TagEntryProps {
|
|
1761
|
-
tag: Annotation
|
|
1740
|
+
tag: Annotation;
|
|
1762
1741
|
isFocused: boolean;
|
|
1763
1742
|
isHovered?: boolean;
|
|
1764
1743
|
ref?: Ref<HTMLDivElement>;
|
|
1765
1744
|
}
|
|
1766
1745
|
declare function TagEntry({ tag, isFocused, isHovered, ref, }: TagEntryProps): react_jsx_runtime.JSX.Element;
|
|
1767
1746
|
|
|
1768
|
-
type Annotation$1 = components['schemas']['Annotation'];
|
|
1769
1747
|
type Motivation$1 = components['schemas']['Motivation'];
|
|
1770
1748
|
type JobProgress$1 = components['schemas']['JobProgress'];
|
|
1771
1749
|
interface PendingAnnotation$1 {
|
|
@@ -1773,7 +1751,7 @@ interface PendingAnnotation$1 {
|
|
|
1773
1751
|
motivation: Motivation$1;
|
|
1774
1752
|
}
|
|
1775
1753
|
interface TaggingPanelProps {
|
|
1776
|
-
annotations: Annotation
|
|
1754
|
+
annotations: Annotation[];
|
|
1777
1755
|
annotateMode?: boolean;
|
|
1778
1756
|
isAssisting?: boolean;
|
|
1779
1757
|
progress?: JobProgress$1 | null;
|
|
@@ -1794,7 +1772,6 @@ declare function TaggingPanel({ annotations, annotateMode, isAssisting, progress
|
|
|
1794
1772
|
|
|
1795
1773
|
type JobProgress = components['schemas']['JobProgress'];
|
|
1796
1774
|
|
|
1797
|
-
type Annotation = components['schemas']['Annotation'];
|
|
1798
1775
|
type Motivation = components['schemas']['Motivation'];
|
|
1799
1776
|
type TabKey = 'statistics' | 'reference' | 'highlight' | 'assessment' | 'comment' | 'tag';
|
|
1800
1777
|
interface PendingAnnotation {
|
|
@@ -3151,10 +3128,9 @@ interface SaveResourceParams {
|
|
|
3151
3128
|
}
|
|
3152
3129
|
declare function ResourceComposePage({ mode, cloneData, referenceData, gatheredContext, availableEntityTypes, initialLocale, theme, showLineNumbers, hoverDelayMs, activePanel, onSaveResource, onCancel, translations: t, ToolbarPanels, Toolbar, }: ResourceComposePageProps): react_jsx_runtime.JSX.Element;
|
|
3153
3130
|
|
|
3154
|
-
type ResourceDescriptor$1 = components['schemas']['ResourceDescriptor'];
|
|
3155
3131
|
interface ResourceDiscoveryPageProps {
|
|
3156
|
-
recentDocuments: ResourceDescriptor
|
|
3157
|
-
searchDocuments: ResourceDescriptor
|
|
3132
|
+
recentDocuments: ResourceDescriptor[];
|
|
3133
|
+
searchDocuments: ResourceDescriptor[];
|
|
3158
3134
|
entityTypes: string[];
|
|
3159
3135
|
isLoadingRecent: boolean;
|
|
3160
3136
|
isSearching: boolean;
|
|
@@ -3187,7 +3163,6 @@ interface ResourceDiscoveryPageProps {
|
|
|
3187
3163
|
}
|
|
3188
3164
|
declare function ResourceDiscoveryPage({ recentDocuments, searchDocuments, entityTypes, isLoadingRecent, isSearching, searchQuery, onSearchQueryChange, theme, showLineNumbers, activePanel, onNavigateToResource, onNavigateToCompose, translations: t, ToolbarPanels, }: ResourceDiscoveryPageProps): react_jsx_runtime.JSX.Element;
|
|
3189
3165
|
|
|
3190
|
-
type ResourceDescriptor = components['schemas']['ResourceDescriptor'];
|
|
3191
3166
|
interface ResourceCardProps {
|
|
3192
3167
|
resource: ResourceDescriptor;
|
|
3193
3168
|
onOpen: (resource: ResourceDescriptor) => void;
|
|
@@ -3197,7 +3172,7 @@ interface ResourceCardProps {
|
|
|
3197
3172
|
}
|
|
3198
3173
|
declare const ResourceCard: React__default.MemoExoticComponent<({ resource, onOpen, tabIndex, archivedLabel, createdLabel }: ResourceCardProps) => react_jsx_runtime.JSX.Element>;
|
|
3199
3174
|
|
|
3200
|
-
type SemiontResource =
|
|
3175
|
+
type SemiontResource = ResourceDescriptor;
|
|
3201
3176
|
interface ResourceViewerPageProps {
|
|
3202
3177
|
/**
|
|
3203
3178
|
* The resource to display
|
|
@@ -3271,7 +3246,7 @@ interface HoverEmitterProps {
|
|
|
3271
3246
|
onMouseEnter: () => void;
|
|
3272
3247
|
onMouseLeave: () => void;
|
|
3273
3248
|
}
|
|
3274
|
-
declare function useHoverEmitter(annotationId:
|
|
3249
|
+
declare function useHoverEmitter(annotationId: AnnotationId, hoverDelayMs?: number): HoverEmitterProps;
|
|
3275
3250
|
|
|
3276
3251
|
/**
|
|
3277
3252
|
* `ShellVM` is app-scoped — it owns toolbar panel state and lives on
|
|
@@ -3303,4 +3278,4 @@ declare function useShellVM(): ShellVM;
|
|
|
3303
3278
|
*/
|
|
3304
3279
|
declare function useObservable<T>(obs$: Observable<T> | null | undefined): T | undefined;
|
|
3305
3280
|
|
|
3306
|
-
export { ANNOTATORS, AVAILABLE_LOCALES, AdminDevOpsPage, type AdminDevOpsPageProps, AdminExchangePage, type AdminExchangePageProps, type AdminExchangePageTranslations, AdminSecurityPage, type AdminSecurityPageProps, type AdminUser, type AdminUserStats, AdminUsersPage, type AdminUsersPageProps, AnnotateReferencesProgressWidget, AnnotateToolbar, AnnotateView, type
|
|
3281
|
+
export { ANNOTATORS, AVAILABLE_LOCALES, AdminDevOpsPage, type AdminDevOpsPageProps, AdminExchangePage, type AdminExchangePageProps, type AdminExchangePageTranslations, AdminSecurityPage, type AdminSecurityPageProps, type AdminUser, type AdminUserStats, AdminUsersPage, type AdminUsersPageProps, AnnotateReferencesProgressWidget, AnnotateToolbar, AnnotateView, type AnnotationConfig, type AnnotationCreationHandler, type AnnotationHandlers, AnnotationHistory, type AnnotationManager, AnnotationOverlay, AnnotationProvider, type AnnotationProviderProps, type AnnotationUIState, type AnnotationsCollection, type Annotator, AssessmentEntry, AssessmentPanel, AssistSection, AsyncErrorBoundary, AuthErrorDisplay, type AuthErrorDisplayProps, type AvailableLocale, type BorderRadiusToken, BrowseView, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type ClickAction, CodeMirrorRenderer, CollaborationPanel, CollapsibleResourceNavigation, type CollapsibleResourceNavigationProps, type ColorToken, CommentEntry, CommentsPanel, ComposeLoadingState, type ComposeLoadingStateProps, type CreateAnnotationParams, type CreateConfig, type DeleteAnnotationParams, type DetectionConfig, type DevOpsFeature, type DrawingMode, EntityTagsPage, type EntityTagsPageProps, EntityTypeBadges, ErrorBoundary, ExportCard, type ExportCardProps, type ExportCardTranslations, Footer, HighlightEntry, HighlightPanel, HistoryEvent, type HoverEmitterProps, ImageURLSchema, ImageViewer, ImportCard, type ImportCardProps, type ImportCardTranslations, ImportProgress, type ImportProgressProps, type ImportProgressTranslations, JsonLdPanel, JsonLdView, type KeyboardShortcut, KeyboardShortcutsHelpModal, LeftSidebar, type LinkComponentProps, LinkedDataPage, type LinkedDataPageProps, type LinkedDataPageTranslations, LiveRegionProvider, type Motivation$8 as Motivation, type NavigationItem, NavigationMenu, type NavigationMenuHelper, type NavigationProps, type OAuthProvider, type OAuthUser, OAuthUserSchema, ObservableLink, type ObservableLinkProps, type OverlayAnnotation, PageLayout, PanelHeader, PermissionDeniedModal, PopupContainer, PopupHeader, ProtectedErrorBoundary, RecentDocumentsPage, type RecentDocumentsPageProps, ReferenceEntry, ReferenceResolutionWidget, ReferenceWizardModal, type ReferenceWizardModalProps, 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, SearchModal, type SearchModalProps, SelectedTextDisplay, type SelectionMotivation, type SelectorType, SemiontBranding, SemiontFavicon, SemiontProvider, type SemiontProviderProps, type SemiontResource$2 as SemiontResource, SessionExpiredModal, SessionExpiryBanner, 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, SvgDrawingCanvas, TagEntry, TagSchemasPage, type TagSchemasPageProps, TaggingPanel, type TextSegment, type TextSelection, type Theme, ThemeProvider, ToastContainer, type ToastMessage, ToastProvider, type ToastType, Toolbar, type TransitionToken, TranslationManager, TranslationProvider, type TranslationProviderProps, type TypographyToken, type UICreateAnnotationParams, UnifiedAnnotationsPanel, UnifiedHeader, type UseResourceContentResult, UserMenuSkeleton, WebBrowserStorage, WelcomePage, type WelcomePageProps, applyHighlights, buildSourceToRenderedMap, buildTextNodeIndex, buttonStyles, clearHighlights, cssVariables, faviconPaths, formatTime, generateCSSVariables, getResourceIcon, getSelectedShapeForSelectorType, getSelectorType, getShortcutDisplay, getSupportedShapes, hideWidgetPreview, isShapeSupported, jsonLightHighlightStyle, jsonLightTheme, resolveAnnotationRanges, sanitizeImageURL, saveSelectedShapeForSelectorType, showWidgetPreview, supportsDetection, toOverlayAnnotations, tokens, useAnnotationManager, useDebounce, useDebouncedCallback, useDocumentAnnouncements, useDoubleKeyPress, useDropdown, useEventSubscription, useEventSubscriptions, useFormAnnouncements, useHoverDelay, useHoverEmitter, useIsTyping, useKeyboardShortcuts, useLanguageChangeAnnouncements, useLineNumbers, useLiveRegion, useLoadingState, useLocalStorage, useObservable, useObservableExternalNavigation, useObservableRouter, usePanelWidth, usePreloadTranslations, useResourceAnnotations, useResourceContent, useResourceLoadingAnnouncements, useRovingTabIndex, useSearchAnnouncements, useSemiont, useSessionExpiry, useShellVM, useTheme, useToast, useTranslations, useViewModel };
|