@semiont/react-ui 0.2.34-build.91 → 0.2.34-build.92
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-BmzEcGHZ.d.mts → EventBusContext-DMI4uwYk.d.mts} +2 -2
- package/dist/{PdfAnnotationCanvas.client-VLNA5O5M.mjs → PdfAnnotationCanvas.client-HNYRKFDS.mjs} +10 -9
- package/dist/PdfAnnotationCanvas.client-HNYRKFDS.mjs.map +1 -0
- package/dist/{ar-4ZEORRW2.mjs → ar-MDB7HC5S.mjs} +45 -49
- package/dist/ar-MDB7HC5S.mjs.map +1 -0
- package/dist/{bn-SEDE5BQJ.mjs → bn-3SAV2ZEM.mjs} +45 -49
- package/dist/bn-3SAV2ZEM.mjs.map +1 -0
- package/dist/{chunk-C63BARI7.mjs → chunk-3FIQXKQF.mjs} +31 -31
- package/dist/{chunk-D7NBW4RV.mjs → chunk-JH7BXE2P.mjs} +45 -49
- package/dist/chunk-JH7BXE2P.mjs.map +1 -0
- package/dist/{chunk-M7SZRRIE.mjs → chunk-MWQ5CNKW.mjs} +13 -13
- package/dist/chunk-MWQ5CNKW.mjs.map +1 -0
- package/dist/{chunk-ULIET3MW.mjs → chunk-YI5IX5ZA.mjs} +1 -1
- package/dist/{chunk-ULIET3MW.mjs.map → chunk-YI5IX5ZA.mjs.map} +1 -1
- package/dist/{cs-7W4WF5WD.mjs → cs-AWCETEUV.mjs} +45 -49
- package/dist/cs-AWCETEUV.mjs.map +1 -0
- package/dist/{da-75XGBCBK.mjs → da-UZZHXYLC.mjs} +45 -49
- package/dist/da-UZZHXYLC.mjs.map +1 -0
- package/dist/{de-ODJVFLHM.mjs → de-LQFWN6S5.mjs} +45 -49
- package/dist/de-LQFWN6S5.mjs.map +1 -0
- package/dist/{el-C4PM4WB3.mjs → el-IWOETBJ7.mjs} +45 -49
- package/dist/el-IWOETBJ7.mjs.map +1 -0
- package/dist/{en-KJCJQ4OO.mjs → en-XWEPVTB4.mjs} +2 -6
- package/dist/{es-WD33R7QL.mjs → es-726NTS53.mjs} +45 -49
- package/dist/es-726NTS53.mjs.map +1 -0
- package/dist/{fa-2BP6V56P.mjs → fa-BVEJZT5S.mjs} +45 -49
- package/dist/fa-BVEJZT5S.mjs.map +1 -0
- package/dist/{fi-USRRW24J.mjs → fi-JBNCGGA6.mjs} +45 -49
- package/dist/fi-JBNCGGA6.mjs.map +1 -0
- package/dist/{fr-EC5S6WVF.mjs → fr-OLH7PNGI.mjs} +45 -49
- package/dist/fr-OLH7PNGI.mjs.map +1 -0
- package/dist/{he-7TBVIKAA.mjs → he-KOJQ4HMA.mjs} +45 -49
- package/dist/he-KOJQ4HMA.mjs.map +1 -0
- package/dist/{hi-FO4VIZLA.mjs → hi-BKJFZXAY.mjs} +45 -49
- package/dist/hi-BKJFZXAY.mjs.map +1 -0
- package/dist/{id-7U7GGVWY.mjs → id-DPLHJVNP.mjs} +45 -49
- package/dist/id-DPLHJVNP.mjs.map +1 -0
- package/dist/index.css +80 -80
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +215 -201
- package/dist/index.mjs +810 -748
- package/dist/index.mjs.map +1 -1
- package/dist/{it-Y4OPL6I2.mjs → it-JXHAM7NL.mjs} +45 -49
- package/dist/it-JXHAM7NL.mjs.map +1 -0
- package/dist/{ja-PK7SQL55.mjs → ja-DQRAO3PU.mjs} +45 -49
- package/dist/ja-DQRAO3PU.mjs.map +1 -0
- package/dist/{ko-L25PXMYD.mjs → ko-6IFCOP6F.mjs} +45 -49
- package/dist/ko-6IFCOP6F.mjs.map +1 -0
- package/dist/{ms-STH777QM.mjs → ms-KF5S2TLL.mjs} +45 -49
- package/dist/ms-KF5S2TLL.mjs.map +1 -0
- package/dist/{nl-Y7LECDDR.mjs → nl-2GUUZLQM.mjs} +45 -49
- package/dist/nl-2GUUZLQM.mjs.map +1 -0
- package/dist/{no-KEKCEWU6.mjs → no-2IBCZGEF.mjs} +45 -49
- package/dist/no-2IBCZGEF.mjs.map +1 -0
- package/dist/{pl-7A7OC75O.mjs → pl-ZEUBJ7YU.mjs} +45 -49
- package/dist/pl-ZEUBJ7YU.mjs.map +1 -0
- package/dist/{pt-35HTM7RA.mjs → pt-WLAFIZWQ.mjs} +45 -49
- package/dist/pt-WLAFIZWQ.mjs.map +1 -0
- package/dist/{ro-VAWL5KQA.mjs → ro-K56IXFGU.mjs} +45 -49
- package/dist/ro-K56IXFGU.mjs.map +1 -0
- package/dist/{sv-7ZK5EQEB.mjs → sv-VFJLMJRY.mjs} +45 -49
- package/dist/sv-VFJLMJRY.mjs.map +1 -0
- package/dist/test-utils.d.mts +2 -2
- package/dist/test-utils.mjs +3 -3
- package/dist/{th-UDWZ4X34.mjs → th-RICLQ2GW.mjs} +45 -49
- package/dist/th-RICLQ2GW.mjs.map +1 -0
- package/dist/{tr-4WMPK3UX.mjs → tr-SALXWE2M.mjs} +45 -49
- package/dist/tr-SALXWE2M.mjs.map +1 -0
- package/dist/{uk-SSLASQYJ.mjs → uk-3U3T3O2E.mjs} +45 -49
- package/dist/uk-3U3T3O2E.mjs.map +1 -0
- package/dist/{vi-IF42Z5PU.mjs → vi-LIVNZXOB.mjs} +45 -49
- package/dist/vi-LIVNZXOB.mjs.map +1 -0
- package/dist/{zh-HRQTNTAI.mjs → zh-KDUAZPX3.mjs} +45 -49
- package/dist/zh-KDUAZPX3.mjs.map +1 -0
- package/package.json +1 -1
- package/src/components/AnnotateReferencesProgressWidget.tsx +113 -0
- package/src/components/CodeMirrorRenderer.tsx +9 -27
- package/src/components/Toolbar.tsx +2 -2
- package/src/components/annotation/AnnotateToolbar.tsx +9 -9
- package/src/components/annotation/__tests__/AnnotateToolbar.test.tsx +17 -17
- package/src/components/image-annotation/AnnotationOverlay.tsx +13 -11
- package/src/components/image-annotation/SvgDrawingCanvas.tsx +8 -4
- package/src/components/pdf-annotation/PdfAnnotationCanvas.tsx +11 -9
- package/src/components/pdf-annotation/__tests__/PdfAnnotationCanvas.test.tsx +1 -1
- package/src/components/resource/AnnotateView.tsx +17 -12
- package/src/components/resource/BrowseView.tsx +19 -50
- package/src/components/resource/ResourceViewer.tsx +28 -24
- package/src/components/resource/__tests__/BrowseView.test.tsx +27 -27
- package/src/components/resource/panels/AssessmentEntry.tsx +1 -1
- package/src/components/resource/panels/AssessmentPanel.tsx +16 -16
- package/src/components/resource/panels/{DetectSection.css → AssistSection.css} +79 -79
- package/src/components/resource/panels/{DetectSection.tsx → AssistSection.tsx} +46 -46
- package/src/components/resource/panels/CommentEntry.tsx +1 -1
- package/src/components/resource/panels/CommentsPanel.tsx +16 -16
- package/src/components/resource/panels/HighlightEntry.tsx +1 -1
- package/src/components/resource/panels/HighlightPanel.tsx +14 -14
- package/src/components/resource/panels/ReferenceEntry.tsx +5 -5
- package/src/components/resource/panels/ReferencesPanel.tsx +90 -103
- package/src/components/resource/panels/ResourceInfoPanel.tsx +2 -2
- package/src/components/resource/panels/TagEntry.tsx +1 -1
- package/src/components/resource/panels/TaggingPanel.tsx +53 -53
- package/src/components/resource/panels/UnifiedAnnotationsPanel.tsx +12 -20
- package/src/components/resource/panels/__tests__/AssessmentPanel.test.tsx +12 -12
- package/src/components/resource/panels/__tests__/{DetectSection.test.tsx → AssistSection.test.tsx} +109 -108
- package/src/components/resource/panels/__tests__/CommentEntry.test.tsx +8 -8
- package/src/components/resource/panels/__tests__/CommentsPanel.test.tsx +3 -3
- package/src/components/resource/panels/__tests__/{HighlightPanel.detectionProgress.test.tsx → HighlightPanel.annotationProgress.test.tsx} +56 -56
- package/src/components/resource/panels/__tests__/ReferencesPanel.test.tsx +98 -95
- package/src/components/resource/panels/__tests__/ResourceInfoPanel.test.tsx +3 -3
- package/src/components/resource/panels/__tests__/TaggingPanel.test.tsx +16 -16
- package/src/components/settings/SettingsPanel.tsx +29 -1
- package/src/features/resource-compose/components/ResourceComposePage.tsx +3 -0
- package/src/features/resource-viewer/__tests__/AnnotationCreationPending.test.tsx +36 -26
- package/src/features/resource-viewer/__tests__/AnnotationDeletionIntegration.test.tsx +26 -16
- package/src/features/resource-viewer/__tests__/{DetectionProgressDismissal.test.tsx → AnnotationProgressDismissal.test.tsx} +48 -38
- package/src/features/resource-viewer/__tests__/DetectionFlowBug.test.tsx +59 -49
- package/src/features/resource-viewer/__tests__/DetectionFlowIntegration.test.tsx +55 -33
- package/src/features/resource-viewer/__tests__/GenerationFlowIntegration.test.tsx +24 -16
- package/src/features/resource-viewer/__tests__/ResolutionFlowIntegration.test.tsx +41 -31
- package/src/features/resource-viewer/__tests__/ResourceMutations.test.tsx +10 -10
- package/src/features/resource-viewer/__tests__/ToastNotifications.test.tsx +196 -0
- package/src/features/resource-viewer/__tests__/{detection-progress-flow.test.tsx → annotation-progress-flow.test.tsx} +51 -28
- package/src/features/resource-viewer/components/ResourceViewerPage.tsx +56 -45
- package/src/styles/core/buttons.css +3 -3
- package/src/styles/core/forms.css +2 -2
- package/src/styles/index.css +1 -1
- package/src/styles/motivations/motivation-assessment.css +9 -9
- package/src/styles/motivations/motivation-comment.css +9 -9
- package/src/styles/motivations/motivation-highlight.css +9 -9
- package/src/styles/motivations/motivation-reference.css +9 -9
- package/src/styles/motivations/motivation-tag.css +9 -9
- package/src/styles/utilities/focus-extended.css +6 -6
- package/translations/ar.json +44 -44
- package/translations/bn.json +44 -44
- package/translations/cs.json +44 -44
- package/translations/da.json +44 -44
- package/translations/de.json +44 -44
- package/translations/el.json +44 -44
- package/translations/en.json +44 -44
- package/translations/es.json +44 -44
- package/translations/fa.json +44 -44
- package/translations/fi.json +44 -44
- package/translations/fr.json +44 -44
- package/translations/he.json +44 -44
- package/translations/hi.json +44 -44
- package/translations/id.json +44 -44
- package/translations/it.json +44 -44
- package/translations/ja.json +44 -44
- package/translations/ko.json +44 -44
- package/translations/ms.json +44 -44
- package/translations/nl.json +44 -44
- package/translations/no.json +44 -44
- package/translations/pl.json +44 -44
- package/translations/pt.json +44 -44
- package/translations/ro.json +44 -44
- package/translations/sv.json +44 -44
- package/translations/th.json +44 -44
- package/translations/tr.json +44 -44
- package/translations/uk.json +44 -44
- package/translations/vi.json +44 -44
- package/translations/zh.json +44 -44
- package/dist/PdfAnnotationCanvas.client-VLNA5O5M.mjs.map +0 -1
- package/dist/ar-4ZEORRW2.mjs.map +0 -1
- package/dist/bn-SEDE5BQJ.mjs.map +0 -1
- package/dist/chunk-D7NBW4RV.mjs.map +0 -1
- package/dist/chunk-M7SZRRIE.mjs.map +0 -1
- package/dist/cs-7W4WF5WD.mjs.map +0 -1
- package/dist/da-75XGBCBK.mjs.map +0 -1
- package/dist/de-ODJVFLHM.mjs.map +0 -1
- package/dist/el-C4PM4WB3.mjs.map +0 -1
- package/dist/es-WD33R7QL.mjs.map +0 -1
- package/dist/fa-2BP6V56P.mjs.map +0 -1
- package/dist/fi-USRRW24J.mjs.map +0 -1
- package/dist/fr-EC5S6WVF.mjs.map +0 -1
- package/dist/he-7TBVIKAA.mjs.map +0 -1
- package/dist/hi-FO4VIZLA.mjs.map +0 -1
- package/dist/id-7U7GGVWY.mjs.map +0 -1
- package/dist/it-Y4OPL6I2.mjs.map +0 -1
- package/dist/ja-PK7SQL55.mjs.map +0 -1
- package/dist/ko-L25PXMYD.mjs.map +0 -1
- package/dist/ms-STH777QM.mjs.map +0 -1
- package/dist/nl-Y7LECDDR.mjs.map +0 -1
- package/dist/no-KEKCEWU6.mjs.map +0 -1
- package/dist/pl-7A7OC75O.mjs.map +0 -1
- package/dist/pt-35HTM7RA.mjs.map +0 -1
- package/dist/ro-VAWL5KQA.mjs.map +0 -1
- package/dist/sv-7ZK5EQEB.mjs.map +0 -1
- package/dist/th-UDWZ4X34.mjs.map +0 -1
- package/dist/tr-4WMPK3UX.mjs.map +0 -1
- package/dist/uk-SSLASQYJ.mjs.map +0 -1
- package/dist/vi-IF42Z5PU.mjs.map +0 -1
- package/dist/zh-HRQTNTAI.mjs.map +0 -1
- package/src/components/DetectionProgressWidget.tsx +0 -113
- /package/dist/{chunk-C63BARI7.mjs.map → chunk-3FIQXKQF.mjs.map} +0 -0
- /package/dist/{en-KJCJQ4OO.mjs.map → en-XWEPVTB4.mjs.map} +0 -0
|
@@ -80,12 +80,12 @@ var CommentsPanel = {
|
|
|
80
80
|
save: "Save",
|
|
81
81
|
cancel: "Cancel",
|
|
82
82
|
edit: "Edit",
|
|
83
|
-
|
|
83
|
+
annotateComments: "Annotate Comments",
|
|
84
84
|
instructions: "Instructions",
|
|
85
85
|
optional: "(optional)",
|
|
86
86
|
instructionsPlaceholder: "e.g., Focus on technical terminology...",
|
|
87
|
-
|
|
88
|
-
|
|
87
|
+
annotate: "Annotate",
|
|
88
|
+
annotating: "Annotating...",
|
|
89
89
|
toneLabel: "Tone",
|
|
90
90
|
toneOptional: "(optional)",
|
|
91
91
|
toneScholarly: "Scholarly",
|
|
@@ -101,13 +101,13 @@ var CommentsPanel = {
|
|
|
101
101
|
};
|
|
102
102
|
var HighlightPanel = {
|
|
103
103
|
title: "Highlights",
|
|
104
|
-
noHighlights: "No highlights yet. Use AI
|
|
105
|
-
|
|
104
|
+
noHighlights: "No highlights yet. Use AI annotation to find important passages.",
|
|
105
|
+
annotateHighlights: "Annotate Highlights",
|
|
106
106
|
instructions: "Instructions",
|
|
107
107
|
optional: "(optional)",
|
|
108
108
|
instructionsPlaceholder: "e.g., Focus on key technical concepts...",
|
|
109
|
-
|
|
110
|
-
|
|
109
|
+
annotate: "Annotate",
|
|
110
|
+
annotating: "Annotating...",
|
|
111
111
|
cancel: "Cancel",
|
|
112
112
|
densityLabel: "Density",
|
|
113
113
|
densitySparse: "Sparse",
|
|
@@ -116,16 +116,16 @@ var HighlightPanel = {
|
|
|
116
116
|
};
|
|
117
117
|
var AssessmentPanel = {
|
|
118
118
|
title: "Assessments",
|
|
119
|
-
noAssessments: "No assessments yet. Use AI
|
|
119
|
+
noAssessments: "No assessments yet. Use AI annotation to evaluate passages.",
|
|
120
120
|
assessmentPlaceholder: "Type your assessment here...",
|
|
121
121
|
save: "Save",
|
|
122
122
|
cancel: "Cancel",
|
|
123
|
-
|
|
123
|
+
annotateAssessments: "Annotate Assessments",
|
|
124
124
|
instructions: "Instructions",
|
|
125
125
|
optional: "(optional)",
|
|
126
126
|
instructionsPlaceholder: "e.g., Evaluate claims for accuracy and evidence...",
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
annotate: "Annotate",
|
|
128
|
+
annotating: "Annotating...",
|
|
129
129
|
toneLabel: "Tone",
|
|
130
130
|
toneOptional: "(optional)",
|
|
131
131
|
toneAnalytical: "Analytical",
|
|
@@ -141,8 +141,8 @@ var AssessmentPanel = {
|
|
|
141
141
|
};
|
|
142
142
|
var TaggingPanel = {
|
|
143
143
|
title: "Tags",
|
|
144
|
-
noTags: "No tags yet. Use AI
|
|
145
|
-
|
|
144
|
+
noTags: "No tags yet. Use AI annotation to identify structural roles.",
|
|
145
|
+
annotateTags: "Annotate Tags",
|
|
146
146
|
selectSchema: "Select Framework",
|
|
147
147
|
schemaLegal: "Legal Analysis (IRAC)",
|
|
148
148
|
schemaScientific: "Scientific Paper (IMRAD)",
|
|
@@ -161,8 +161,8 @@ var TaggingPanel = {
|
|
|
161
161
|
categoryWarrant: "Warrant",
|
|
162
162
|
categoryCounterargument: "Counterargument",
|
|
163
163
|
categoryRebuttal: "Rebuttal",
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
annotate: "Annotate",
|
|
165
|
+
annotating: "Annotating...",
|
|
166
166
|
cancel: "Cancel",
|
|
167
167
|
selectAll: "Select All",
|
|
168
168
|
deselectAll: "Deselect All",
|
|
@@ -193,29 +193,12 @@ var StatisticsPanel = {
|
|
|
193
193
|
resolved: "Resolved",
|
|
194
194
|
entityTypes: "Entity Types"
|
|
195
195
|
};
|
|
196
|
-
var DetectPanel = {
|
|
197
|
-
title: "Detect References",
|
|
198
|
-
selectEntityTypes: "Entity types:",
|
|
199
|
-
select: "Select",
|
|
200
|
-
deselect: "Deselect",
|
|
201
|
-
noEntityTypes: "No entity types available",
|
|
202
|
-
typesSelected: "{count, plural, =1 {1 type selected} other {# types selected}}",
|
|
203
|
-
startDetection: "Detect",
|
|
204
|
-
found: "{count} found",
|
|
205
|
-
more: "More"
|
|
206
|
-
};
|
|
207
|
-
var DetectionProgressWidget = {
|
|
208
|
-
title: "Detecting Entity References",
|
|
209
|
-
cancelDetection: "Cancel detection",
|
|
210
|
-
found: "{count} found",
|
|
211
|
-
complete: "Detection complete!",
|
|
212
|
-
failed: "Detection failed",
|
|
213
|
-
current: "Current: {entityType}"
|
|
214
|
-
};
|
|
215
196
|
var ReferencesPanel = {
|
|
216
|
-
|
|
197
|
+
title: "References",
|
|
198
|
+
noReferences: "No references yet. Select text to create references to other resources.",
|
|
217
199
|
outgoingReferences: "Outgoing References",
|
|
218
|
-
|
|
200
|
+
incomingReferences: "Incoming References",
|
|
201
|
+
noIncomingReferences: "No incoming references",
|
|
219
202
|
stub: "Stub reference (not linked)",
|
|
220
203
|
resolved: "Resolved reference (linked)",
|
|
221
204
|
open: "Open",
|
|
@@ -224,18 +207,31 @@ var ReferencesPanel = {
|
|
|
224
207
|
find: "Find",
|
|
225
208
|
create: "Create",
|
|
226
209
|
cancel: "Cancel",
|
|
227
|
-
incomingReferences: "Incoming References",
|
|
228
|
-
loading: "loading...",
|
|
229
|
-
loadingEllipsis: "Loading...",
|
|
230
|
-
noIncomingReferences: "No incoming references",
|
|
231
|
-
untitledResource: "Untitled Resource",
|
|
232
|
-
noText: "No text",
|
|
233
210
|
createReference: "Create Reference",
|
|
234
211
|
entityTypesOptional: "Entity Types (Optional)",
|
|
235
212
|
fragmentSelected: "Fragment selected",
|
|
236
213
|
imageRegionSelected: "Image region selected",
|
|
214
|
+
annotateReferences: "Annotate References",
|
|
215
|
+
selectEntityTypes: "Entity types:",
|
|
216
|
+
select: "Select",
|
|
217
|
+
deselect: "Deselect",
|
|
218
|
+
noEntityTypes: "No entity types available",
|
|
219
|
+
typesSelected: "{count, plural, =1 {1 type selected} other {# types selected}}",
|
|
220
|
+
annotate: "Annotate",
|
|
221
|
+
annotating: "Annotating...",
|
|
237
222
|
includeDescriptiveReferences: "Include descriptive references",
|
|
238
|
-
descriptiveReferencesTooltip: "Also find phrases like 'the CEO', 'the tech giant', 'the physicist' (in addition to names)"
|
|
223
|
+
descriptiveReferencesTooltip: "Also find phrases like 'the CEO', 'the tech giant', 'the physicist' (in addition to names)",
|
|
224
|
+
annotationProgressTitle: "Annotating Entity References",
|
|
225
|
+
cancelAnnotation: "Cancel annotation",
|
|
226
|
+
found: "{count} found",
|
|
227
|
+
complete: "Annotation complete!",
|
|
228
|
+
failed: "Annotation failed",
|
|
229
|
+
current: "Current: {entityType}",
|
|
230
|
+
closeProgress: "Close",
|
|
231
|
+
loading: "loading...",
|
|
232
|
+
loadingEllipsis: "Loading...",
|
|
233
|
+
untitledResource: "Untitled Resource",
|
|
234
|
+
noText: "No text"
|
|
239
235
|
};
|
|
240
236
|
var KeyboardShortcuts = {
|
|
241
237
|
title: "Keyboard Shortcuts",
|
|
@@ -331,7 +327,11 @@ var Settings = {
|
|
|
331
327
|
themeModeActive: "Using {mode} mode",
|
|
332
328
|
language: "Language",
|
|
333
329
|
languageHint: "Change language in the main navigation",
|
|
334
|
-
languageChanging: "Changing language..."
|
|
330
|
+
languageChanging: "Changing language...",
|
|
331
|
+
hoverDelay: "Hover Delay",
|
|
332
|
+
hoverDelayFast: "Fast",
|
|
333
|
+
hoverDelaySlow: "Slow",
|
|
334
|
+
hoverDelayDescription: "{delay}ms delay before hover effects appear"
|
|
335
335
|
};
|
|
336
336
|
var AnnotateView = {};
|
|
337
337
|
var zh_default = {
|
|
@@ -345,8 +345,6 @@ var zh_default = {
|
|
|
345
345
|
TaggingPanel,
|
|
346
346
|
UnifiedAnnotationsPanel,
|
|
347
347
|
StatisticsPanel,
|
|
348
|
-
DetectPanel,
|
|
349
|
-
DetectionProgressWidget,
|
|
350
348
|
ReferencesPanel,
|
|
351
349
|
KeyboardShortcuts,
|
|
352
350
|
AnnotateToolbar,
|
|
@@ -363,8 +361,6 @@ export {
|
|
|
363
361
|
CollaborationPanel,
|
|
364
362
|
CollapsibleResourceNavigation,
|
|
365
363
|
CommentsPanel,
|
|
366
|
-
DetectPanel,
|
|
367
|
-
DetectionProgressWidget,
|
|
368
364
|
HighlightPanel,
|
|
369
365
|
KeyboardShortcuts,
|
|
370
366
|
ReferencesPanel,
|
|
@@ -377,4 +373,4 @@ export {
|
|
|
377
373
|
UnifiedAnnotationsPanel,
|
|
378
374
|
zh_default as default
|
|
379
375
|
};
|
|
380
|
-
//# sourceMappingURL=zh-
|
|
376
|
+
//# sourceMappingURL=zh-KDUAZPX3.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../translations/zh.json"],"sourcesContent":["{\n \"Toolbar\": {\n \"annotations\": \"Annotations\",\n \"history\": \"History\",\n \"resourceInfo\": \"Resource Info\",\n \"collaboration\": \"Collaboration\",\n \"userAccount\": \"User Account\",\n \"settings\": \"Settings\"\n },\n \"ResourceInfoPanel\": {\n \"title\": \"Resource Info\",\n \"locale\": \"Locale\",\n \"notSpecified\": \"Not specified\",\n \"entityTypeTags\": \"Entity Type Tags\",\n \"representation\": \"Representation\",\n \"mediaType\": \"Media Type\",\n \"byteSize\": \"Size\",\n \"clone\": \"Clone\",\n \"cloneDescription\": \"Generate a shareable clone link for this resource\",\n \"archive\": \"Archive\",\n \"archiveDescription\": \"Move this resource to archived status\",\n \"unarchive\": \"Unarchive\",\n \"unarchiveDescription\": \"Restore this resource to active status\"\n },\n \"CollaborationPanel\": {\n \"title\": \"Collaboration\",\n \"connectionStatus\": \"Connection Status\",\n \"live\": \"Live\",\n \"disconnected\": \"Disconnected\",\n \"events\": \"{count} events\",\n \"lastSync\": \"Last sync:\",\n \"noActivity\": \"No activity yet\",\n \"justNow\": \"Just now\",\n \"secondsAgo\": \"{count} seconds ago\",\n \"minuteAgo\": \"1 minute ago\",\n \"minutesAgo\": \"{count} minutes ago\",\n \"hourAgo\": \"1 hour ago\",\n \"hoursAgo\": \"{count} hours ago\",\n \"realtimeActive\": \"Real-time updates are active\",\n \"reconnecting\": \"Reconnecting to server...\",\n \"sharing\": \"Sharing\",\n \"collaborationComingSoon\": \"Collaboration features coming soon\"\n },\n \"AnnotationHistory\": {\n \"history\": \"History\",\n \"loading\": \"Loading...\",\n \"user\": \"User\",\n \"method\": \"Method\",\n \"viewOriginal\": \"View original\",\n \"viewAnnotation\": \"View annotation: {content}\",\n \"resourceCreated\": \"Created Resource\",\n \"resourceCloned\": \"Cloned\",\n \"resourceArchived\": \"Archived\",\n \"resourceUnarchived\": \"Unarchived\",\n \"highlightAdded\": \"Highlight Added\",\n \"highlightRemoved\": \"Highlight Removed\",\n \"referenceCreated\": \"Reference Created\",\n \"referenceResolved\": \"Reference Resolved\",\n \"referenceDeleted\": \"Reference Deleted\",\n \"entitytagAdded\": \"Tag Added\",\n \"entitytagRemoved\": \"Tag Removed\",\n \"assessmentAdded\": \"Assessment Added\",\n \"assessmentRemoved\": \"Assessment Removed\",\n \"annotationAdded\": \"Annotation Added\",\n \"annotationRemoved\": \"Annotation Removed\",\n \"annotationBodyUpdated\": \"Annotation Updated\",\n \"jobEvent\": \"Job Event\",\n \"justNow\": \"just now\",\n \"minutesAgo\": \"{count}m ago\",\n \"hoursAgo\": \"{count}h ago\",\n \"daysAgo\": \"{count}d ago\"\n },\n \"CommentsPanel\": {\n \"title\": \"Comments\",\n \"noComments\": \"No comments yet. Select text and click Comment to add one.\",\n \"commentPlaceholder\": \"Type your comment here...\",\n \"save\": \"Save\",\n \"cancel\": \"Cancel\",\n \"edit\": \"Edit\",\n \"annotateComments\": \"Annotate Comments\",\n \"instructions\": \"Instructions\",\n \"optional\": \"(optional)\",\n \"instructionsPlaceholder\": \"e.g., Focus on technical terminology...\",\n \"annotate\": \"Annotate\",\n \"annotating\": \"Annotating...\",\n \"toneLabel\": \"Tone\",\n \"toneOptional\": \"(optional)\",\n \"toneScholarly\": \"Scholarly\",\n \"toneExplanatory\": \"Explanatory\",\n \"toneConversational\": \"Conversational\",\n \"toneTechnical\": \"Technical\",\n \"densityLabel\": \"Density\",\n \"densitySparse\": \"Sparse\",\n \"densityDense\": \"Dense\",\n \"fragmentSelected\": \"Fragment selected\",\n \"imageRegionSelected\": \"Image region selected\",\n \"closeProgress\": \"Close\"\n },\n \"HighlightPanel\": {\n \"title\": \"Highlights\",\n \"noHighlights\": \"No highlights yet. Use AI annotation to find important passages.\",\n \"annotateHighlights\": \"Annotate Highlights\",\n \"instructions\": \"Instructions\",\n \"optional\": \"(optional)\",\n \"instructionsPlaceholder\": \"e.g., Focus on key technical concepts...\",\n \"annotate\": \"Annotate\",\n \"annotating\": \"Annotating...\",\n \"cancel\": \"Cancel\",\n \"densityLabel\": \"Density\",\n \"densitySparse\": \"Sparse\",\n \"densityDense\": \"Dense\",\n \"closeProgress\": \"Close\"\n },\n \"AssessmentPanel\": {\n \"title\": \"Assessments\",\n \"noAssessments\": \"No assessments yet. Use AI annotation to evaluate passages.\",\n \"assessmentPlaceholder\": \"Type your assessment here...\",\n \"save\": \"Save\",\n \"cancel\": \"Cancel\",\n \"annotateAssessments\": \"Annotate Assessments\",\n \"instructions\": \"Instructions\",\n \"optional\": \"(optional)\",\n \"instructionsPlaceholder\": \"e.g., Evaluate claims for accuracy and evidence...\",\n \"annotate\": \"Annotate\",\n \"annotating\": \"Annotating...\",\n \"toneLabel\": \"Tone\",\n \"toneOptional\": \"(optional)\",\n \"toneAnalytical\": \"Analytical\",\n \"toneCritical\": \"Critical\",\n \"toneBalanced\": \"Balanced\",\n \"toneConstructive\": \"Constructive\",\n \"densityLabel\": \"Density\",\n \"densitySparse\": \"Sparse\",\n \"densityDense\": \"Dense\",\n \"fragmentSelected\": \"Fragment selected\",\n \"imageRegionSelected\": \"Image region selected\",\n \"closeProgress\": \"Close\"\n },\n \"TaggingPanel\": {\n \"title\": \"Tags\",\n \"noTags\": \"No tags yet. Use AI annotation to identify structural roles.\",\n \"annotateTags\": \"Annotate Tags\",\n \"selectSchema\": \"Select Framework\",\n \"schemaLegal\": \"Legal Analysis (IRAC)\",\n \"schemaScientific\": \"Scientific Paper (IMRAD)\",\n \"schemaArgument\": \"Argument Structure (Toulmin)\",\n \"selectCategories\": \"Select Categories\",\n \"categoryIssue\": \"Issue\",\n \"categoryRule\": \"Rule\",\n \"categoryApplication\": \"Application\",\n \"categoryConclusion\": \"Conclusion\",\n \"categoryIntroduction\": \"Introduction\",\n \"categoryMethods\": \"Methods\",\n \"categoryResults\": \"Results\",\n \"categoryDiscussion\": \"Discussion\",\n \"categoryClaim\": \"Claim\",\n \"categoryEvidence\": \"Evidence\",\n \"categoryWarrant\": \"Warrant\",\n \"categoryCounterargument\": \"Counterargument\",\n \"categoryRebuttal\": \"Rebuttal\",\n \"annotate\": \"Annotate\",\n \"annotating\": \"Annotating...\",\n \"cancel\": \"Cancel\",\n \"selectAll\": \"Select All\",\n \"deselectAll\": \"Deselect All\",\n \"categoriesSelected\": \"{count, plural, =0 {No categories selected} =1 {1 category selected} other {# categories selected}}\",\n \"createTagForSelection\": \"Create Tag for Selection\",\n \"selectCategory\": \"Select Category\",\n \"chooseCategory\": \"Choose a category...\",\n \"fragmentSelected\": \"Fragment selected\",\n \"imageRegionSelected\": \"Image region selected\"\n },\n \"UnifiedAnnotationsPanel\": {\n \"title\": \"Annotations\",\n \"statistics\": \"Statistics\",\n \"highlight\": \"Highlights\",\n \"reference\": \"References\",\n \"assessment\": \"Assessments\",\n \"comment\": \"Comments\",\n \"tag\": \"Tags\"\n },\n \"StatisticsPanel\": {\n \"title\": \"Statistics\",\n \"highlights\": \"Highlights\",\n \"comments\": \"Comments\",\n \"assessments\": \"Assessments\",\n \"tags\": \"Tags\",\n \"references\": \"References\",\n \"stub\": \"Stub\",\n \"resolved\": \"Resolved\",\n \"entityTypes\": \"Entity Types\"\n },\n \"ReferencesPanel\": {\n \"title\": \"References\",\n \"noReferences\": \"No references yet. Select text to create references to other resources.\",\n \"outgoingReferences\": \"Outgoing References\",\n \"incomingReferences\": \"Incoming References\",\n \"noIncomingReferences\": \"No incoming references\",\n \"stub\": \"Stub reference (not linked)\",\n \"resolved\": \"Resolved reference (linked)\",\n \"open\": \"Open\",\n \"unlink\": \"Unlink\",\n \"generate\": \"Generate\",\n \"find\": \"Find\",\n \"create\": \"Create\",\n \"cancel\": \"Cancel\",\n \"createReference\": \"Create Reference\",\n \"entityTypesOptional\": \"Entity Types (Optional)\",\n \"fragmentSelected\": \"Fragment selected\",\n \"imageRegionSelected\": \"Image region selected\",\n \"annotateReferences\": \"Annotate References\",\n \"selectEntityTypes\": \"Entity types:\",\n \"select\": \"Select\",\n \"deselect\": \"Deselect\",\n \"noEntityTypes\": \"No entity types available\",\n \"typesSelected\": \"{count, plural, =1 {1 type selected} other {# types selected}}\",\n \"annotate\": \"Annotate\",\n \"annotating\": \"Annotating...\",\n \"includeDescriptiveReferences\": \"Include descriptive references\",\n \"descriptiveReferencesTooltip\": \"Also find phrases like 'the CEO', 'the tech giant', 'the physicist' (in addition to names)\",\n \"annotationProgressTitle\": \"Annotating Entity References\",\n \"cancelAnnotation\": \"Cancel annotation\",\n \"found\": \"{count} found\",\n \"complete\": \"Annotation complete!\",\n \"failed\": \"Annotation failed\",\n \"current\": \"Current: {entityType}\",\n \"closeProgress\": \"Close\",\n \"loading\": \"loading...\",\n \"loadingEllipsis\": \"Loading...\",\n \"untitledResource\": \"Untitled Resource\",\n \"noText\": \"No text\"\n },\n \"KeyboardShortcuts\": {\n \"title\": \"Keyboard Shortcuts\",\n \"closeDialog\": \"Close dialog\",\n \"or\": \"or\",\n \"navigationTitle\": \"Navigation\",\n \"navOpenSearch\": \"Open global search\",\n \"navOpenSearchAlt\": \"Open global search (alternative)\",\n \"navCreateResource\": \"Create new resource\",\n \"navCloseOverlays\": \"Close all overlays (double press)\",\n \"navShowHelp\": \"Show keyboard shortcuts help\",\n \"sidebarTitle\": \"Knowledge Sidebar\",\n \"sidebarCollapse\": \"Collapse sidebar\",\n \"sidebarExpand\": \"Expand sidebar\",\n \"sidebarPickup\": \"Pick up resource tab (when focused)\",\n \"sidebarMove\": \"Move resource tab (when dragging)\",\n \"sidebarDrop\": \"Drop resource tab (when dragging)\",\n \"sidebarCancel\": \"Cancel drag operation\",\n \"annotationsTitle\": \"Resource Annotations\",\n \"annotHighlight\": \"Create highlight from annotation (direct)\",\n \"annotReference\": \"Open reference popup for annotation\",\n \"annotDelete\": \"Delete focused annotation\",\n \"annotNavigate\": \"Navigate through annotations\",\n \"annotNavigateBack\": \"Navigate annotations backward\",\n \"listsTitle\": \"Lists & Grids\",\n \"listsFilterNav\": \"Navigate entity type filters\",\n \"listsGridNav\": \"Navigate resource grid\",\n \"listsJumpFirst\": \"Jump to first item\",\n \"listsJumpLast\": \"Jump to last item\",\n \"searchModalTitle\": \"In Search Modal\",\n \"searchNav\": \"Navigate search results\",\n \"searchSelect\": \"Select result\",\n \"searchClose\": \"Close search\",\n \"modalTitle\": \"Modal Controls\",\n \"modalClose\": \"Close active modal\",\n \"modalNavForward\": \"Navigate forward through buttons\",\n \"modalNavBackward\": \"Navigate backward through buttons\",\n \"modalActivate\": \"Activate focused button\",\n \"accessibilityTitle\": \"Accessibility\",\n \"a11ySkipLinks\": \"Navigate to skip links (when at page start)\",\n \"a11yFollowLink\": \"Follow skip link\",\n \"macNote\": \"Using Mac keyboard shortcuts. ⌘ is the Command key.\",\n \"windowsNote\": \"Using Windows/Linux keyboard shortcuts. Ctrl is the Control key.\",\n \"footerHint\": \"Press {key} anytime to show this help\",\n \"close\": \"Close\"\n },\n \"AnnotateToolbar\": {\n \"modeGroup\": \"Mode\",\n \"browse\": \"Browse\",\n \"annotate\": \"Annotate\",\n \"selectionGroup\": \"Motivation\",\n \"clickGroup\": \"Click\",\n \"shapeGroup\": \"Shape\",\n \"none\": \"None\",\n \"linking\": \"Reference\",\n \"highlighting\": \"Highlight\",\n \"assessing\": \"Assess\",\n \"commenting\": \"Comment\",\n \"tagging\": \"Tag\",\n \"detail\": \"Detail\",\n \"follow\": \"Follow\",\n \"deleting\": \"Delete\",\n \"jsonld\": \"JSON-LD\",\n \"rectangle\": \"Rectangle\",\n \"circle\": \"Circle\",\n \"polygon\": \"Polygon\"\n },\n \"CollapsibleResourceNavigation\": {\n \"title\": \"Navigation\",\n \"collapseSidebar\": \"Collapse sidebar\",\n \"expandSidebar\": \"Expand sidebar\",\n \"dragToReorder\": \"Drag to reorder\",\n \"dragToReorderDoc\": \"Drag to reorder {name}\",\n \"closeResource\": \"Close resource\",\n \"dragInstructions\": \"To reorder resources: Use Tab to navigate to a resource. Press Alt+Up arrow to move up or Alt+Down arrow to move down. For drag and drop: Press space bar to pick up the item. Use arrow keys to move it. Press space bar again to drop.\"\n },\n \"ResourceViewer\": {\n \"deleteConfirmationTitle\": \"Delete Annotation\",\n \"deleteConfirmationMessage\": \"Are you sure you want to delete this annotation? This action cannot be undone.\",\n \"deleteConfirmationCancel\": \"Cancel\",\n \"deleteConfirmationDelete\": \"Delete\"\n },\n \"Settings\": {\n \"title\": \"Settings\",\n \"lineNumbers\": \"Line Numbers\",\n \"lineNumbersVisible\": \"Visible\",\n \"lineNumbersHidden\": \"Hidden\",\n \"theme\": \"Theme\",\n \"themeLight\": \"Light\",\n \"themeDark\": \"Dark\",\n \"themeSystem\": \"System\",\n \"themeSystemActive\": \"System ({mode})\",\n \"themeModeActive\": \"Using {mode} mode\",\n \"language\": \"Language\",\n \"languageHint\": \"Change language in the main navigation\",\n \"languageChanging\": \"Changing language...\",\n \"hoverDelay\": \"Hover Delay\",\n \"hoverDelayFast\": \"Fast\",\n \"hoverDelaySlow\": \"Slow\",\n \"hoverDelayDescription\": \"{delay}ms delay before hover effects appear\"\n },\n \"AnnotateView\": {}\n}\n"],"mappings":"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","names":[]}
|
package/package.json
CHANGED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useTranslations } from '../contexts/TranslationContext';
|
|
4
|
+
import { useEventBus } from '../contexts/EventBusContext';
|
|
5
|
+
import type { AnnotationProgress } from '@semiont/core';
|
|
6
|
+
import type { components } from '@semiont/core';
|
|
7
|
+
|
|
8
|
+
type Motivation = components['schemas']['Motivation'];
|
|
9
|
+
|
|
10
|
+
// Extended AnnotationProgress with optional request parameters
|
|
11
|
+
interface EnrichedAnnotationProgress extends AnnotationProgress {
|
|
12
|
+
requestParams?: Array<{ label: string; value: string }>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface AnnotateReferencesProgressWidgetProps {
|
|
16
|
+
progress: AnnotationProgress | null;
|
|
17
|
+
annotationType?: Motivation | 'reference';
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Widget for displaying reference annotation progress with cancel functionality
|
|
22
|
+
*
|
|
23
|
+
* @emits job:cancel-requested - User requested to cancel annotation job. Payload: { jobType: string }
|
|
24
|
+
*/
|
|
25
|
+
export function AnnotateReferencesProgressWidget({ progress, annotationType = 'reference' }: AnnotateReferencesProgressWidgetProps) {
|
|
26
|
+
const t = useTranslations('ReferencesPanel');
|
|
27
|
+
const eventBus = useEventBus();
|
|
28
|
+
|
|
29
|
+
const handleCancel = () => {
|
|
30
|
+
// Emit event for job cancellation
|
|
31
|
+
eventBus.get('job:cancel-requested').next({ jobType: 'annotation' });
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
if (!progress) return null;
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<div
|
|
38
|
+
className="semiont-annotation-progress"
|
|
39
|
+
data-status={progress.status}
|
|
40
|
+
data-type={annotationType}
|
|
41
|
+
>
|
|
42
|
+
{/* Header with pulsing sparkle */}
|
|
43
|
+
<div className="semiont-annotation-header">
|
|
44
|
+
<h3 className="semiont-annotation-title">
|
|
45
|
+
<span className="semiont-annotation-sparkle">✨</span>
|
|
46
|
+
{t('annotationProgressTitle')}
|
|
47
|
+
</h3>
|
|
48
|
+
{progress.status !== 'complete' && (
|
|
49
|
+
<button
|
|
50
|
+
onClick={handleCancel}
|
|
51
|
+
className="semiont-annotation-cancel"
|
|
52
|
+
title={t('cancelAnnotation')}
|
|
53
|
+
>
|
|
54
|
+
✕
|
|
55
|
+
</button>
|
|
56
|
+
)}
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
{/* Request Parameters */}
|
|
60
|
+
{(() => {
|
|
61
|
+
const enrichedProgress = progress as EnrichedAnnotationProgress;
|
|
62
|
+
return enrichedProgress.requestParams && enrichedProgress.requestParams.length > 0 && (
|
|
63
|
+
<div className="semiont-annotation-progress__params">
|
|
64
|
+
<div className="semiont-annotation-progress__params-title">Request Parameters:</div>
|
|
65
|
+
{enrichedProgress.requestParams.map((param, idx) => (
|
|
66
|
+
<div key={idx} className="semiont-annotation-progress__param">
|
|
67
|
+
<span className="semiont-annotation-progress__param-label">{param.label}:</span> {param.value}
|
|
68
|
+
</div>
|
|
69
|
+
))}
|
|
70
|
+
</div>
|
|
71
|
+
);
|
|
72
|
+
})()}
|
|
73
|
+
|
|
74
|
+
{/* Completed entity types log */}
|
|
75
|
+
{progress.completedEntityTypes && progress.completedEntityTypes.length > 0 && (
|
|
76
|
+
<div className="semiont-annotation-log">
|
|
77
|
+
{progress.completedEntityTypes.map((item, index) => (
|
|
78
|
+
<div key={index} className="semiont-annotation-log-item">
|
|
79
|
+
<span className="semiont-annotation-check">✓</span>
|
|
80
|
+
<span className="semiont-annotation-entity-type">{item.entityType}:</span>
|
|
81
|
+
<span>{t('found', { count: item.foundCount })}</span>
|
|
82
|
+
</div>
|
|
83
|
+
))}
|
|
84
|
+
</div>
|
|
85
|
+
)}
|
|
86
|
+
|
|
87
|
+
{/* Status display with pulsing animation */}
|
|
88
|
+
<div className="semiont-annotation-progress__status">
|
|
89
|
+
{progress.status === 'complete' ? (
|
|
90
|
+
<div className="semiont-annotation-progress__message">
|
|
91
|
+
<span className="semiont-annotation-progress__icon">✅</span>
|
|
92
|
+
<span>{t('complete')}</span>
|
|
93
|
+
</div>
|
|
94
|
+
) : progress.status === 'error' ? (
|
|
95
|
+
<div className="semiont-annotation-progress__message">
|
|
96
|
+
<span className="semiont-annotation-progress__icon">❌</span>
|
|
97
|
+
<span>{progress.message || t('failed')}</span>
|
|
98
|
+
</div>
|
|
99
|
+
) : (
|
|
100
|
+
<div className="semiont-annotation-progress__message">
|
|
101
|
+
<span className="semiont-annotation-progress__icon">✨</span>
|
|
102
|
+
<span>{progress.message || (progress.currentEntityType ? t('current', { entityType: progress.currentEntityType }) : t('annotating'))}</span>
|
|
103
|
+
</div>
|
|
104
|
+
)}
|
|
105
|
+
{progress.currentEntityType && progress.status !== 'complete' && progress.status !== 'error' && (
|
|
106
|
+
<div className="semiont-annotation-progress__details">
|
|
107
|
+
Processing: {progress.currentEntityType}
|
|
108
|
+
</div>
|
|
109
|
+
)}
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
);
|
|
113
|
+
}
|
|
@@ -6,6 +6,7 @@ import { EditorState, RangeSetBuilder, StateField, StateEffect, Compartment } fr
|
|
|
6
6
|
import { markdown } from '@codemirror/lang-markdown';
|
|
7
7
|
import { ANNOTATORS } from '../lib/annotation-registry';
|
|
8
8
|
import { ReferenceResolutionWidget } from '../lib/codemirror-widgets';
|
|
9
|
+
import { scrollAnnotationIntoView } from '../lib/scroll-utils';
|
|
9
10
|
import { isHighlight, isReference, isResolvedReference, isComment, isAssessment, isTag, getBodySource } from '@semiont/api-client';
|
|
10
11
|
import type { components } from '@semiont/core';
|
|
11
12
|
import type { EventBus } from "@semiont/core";
|
|
@@ -42,6 +43,7 @@ interface Props {
|
|
|
42
43
|
eventBus?: EventBus;
|
|
43
44
|
getTargetDocumentName?: (documentId: string) => string | undefined;
|
|
44
45
|
generatingReferenceId?: string | null; // ID of reference currently generating a document
|
|
46
|
+
hoverDelayMs: number; // Hover delay in milliseconds for accessibility
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
// Effect to update annotation decorations with segments and new IDs
|
|
@@ -287,7 +289,8 @@ export function CodeMirrorRenderer({
|
|
|
287
289
|
enableWidgets = false,
|
|
288
290
|
eventBus,
|
|
289
291
|
getTargetDocumentName,
|
|
290
|
-
generatingReferenceId
|
|
292
|
+
generatingReferenceId,
|
|
293
|
+
hoverDelayMs
|
|
291
294
|
}: Props) {
|
|
292
295
|
const containerRef = useRef<HTMLDivElement>(null);
|
|
293
296
|
const viewRef = useRef<EditorView | null>(null);
|
|
@@ -343,7 +346,7 @@ export function CodeMirrorRenderer({
|
|
|
343
346
|
const segment = segmentsRef.current.find(s => s.annotation?.id === annotationId);
|
|
344
347
|
if (segment?.annotation) {
|
|
345
348
|
event.preventDefault();
|
|
346
|
-
eventBusRef.current.get('
|
|
349
|
+
eventBusRef.current.get('attend:click').next({
|
|
347
350
|
annotationId,
|
|
348
351
|
motivation: segment.annotation.motivation
|
|
349
352
|
});
|
|
@@ -411,7 +414,8 @@ export function CodeMirrorRenderer({
|
|
|
411
414
|
const container = view.dom;
|
|
412
415
|
|
|
413
416
|
const { handleMouseEnter, handleMouseLeave, cleanup: cleanupHover } = createHoverHandlers(
|
|
414
|
-
(annotationId) => eventBusRef.current?.get('
|
|
417
|
+
(annotationId) => eventBusRef.current?.get('attend:hover').next({ annotationId }),
|
|
418
|
+
hoverDelayMs
|
|
415
419
|
);
|
|
416
420
|
|
|
417
421
|
const handleMouseOver = (e: MouseEvent) => {
|
|
@@ -437,7 +441,7 @@ export function CodeMirrorRenderer({
|
|
|
437
441
|
view.destroy();
|
|
438
442
|
viewRef.current = null;
|
|
439
443
|
};
|
|
440
|
-
}, []); //
|
|
444
|
+
}, [hoverDelayMs]); // Re-initialize when hover delay changes
|
|
441
445
|
|
|
442
446
|
// Update content when it changes externally (not from user typing)
|
|
443
447
|
useEffect(() => {
|
|
@@ -597,29 +601,7 @@ export function CodeMirrorRenderer({
|
|
|
597
601
|
// Handle scroll to annotation
|
|
598
602
|
useEffect(() => {
|
|
599
603
|
if (!viewRef.current || !scrollToAnnotationId) return;
|
|
600
|
-
|
|
601
|
-
const view = viewRef.current;
|
|
602
|
-
|
|
603
|
-
// Find the annotation element in the DOM
|
|
604
|
-
const element = view.contentDOM.querySelector(
|
|
605
|
-
`[data-annotation-id="${CSS.escape(scrollToAnnotationId)}"]`
|
|
606
|
-
) as HTMLElement;
|
|
607
|
-
|
|
608
|
-
if (!element) return;
|
|
609
|
-
|
|
610
|
-
// Find the actual scroll container - could be annotate view or document viewer
|
|
611
|
-
const scrollContainer = (element.closest('.semiont-annotate-view__content') ||
|
|
612
|
-
element.closest('.semiont-document-viewer__scrollable-body')) as HTMLElement;
|
|
613
|
-
|
|
614
|
-
if (scrollContainer) {
|
|
615
|
-
// Scroll using container.scrollTo to avoid scrolling ancestors
|
|
616
|
-
const elementTop = element.offsetTop;
|
|
617
|
-
const containerHeight = scrollContainer.clientHeight;
|
|
618
|
-
const elementHeight = element.offsetHeight;
|
|
619
|
-
const scrollTo = elementTop - (containerHeight / 2) + (elementHeight / 2);
|
|
620
|
-
|
|
621
|
-
scrollContainer.scrollTo({ top: scrollTo, behavior: 'smooth' });
|
|
622
|
-
}
|
|
604
|
+
scrollAnnotationIntoView(scrollToAnnotationId, viewRef.current.contentDOM);
|
|
623
605
|
}, [scrollToAnnotationId]);
|
|
624
606
|
|
|
625
607
|
const containerClasses = sourceView
|
|
@@ -17,7 +17,7 @@ interface Props<T extends string = string> {
|
|
|
17
17
|
/**
|
|
18
18
|
* Toolbar component for panel navigation
|
|
19
19
|
*
|
|
20
|
-
* @emits panel
|
|
20
|
+
* @emits attend:panel-toggle - Toggle panel visibility. Payload: { panel: string }
|
|
21
21
|
*/
|
|
22
22
|
export function Toolbar<T extends string = string>({
|
|
23
23
|
context,
|
|
@@ -28,7 +28,7 @@ export function Toolbar<T extends string = string>({
|
|
|
28
28
|
const eventBus = useEventBus();
|
|
29
29
|
|
|
30
30
|
const handlePanelToggle = (panel: string) => {
|
|
31
|
-
eventBus.get('panel
|
|
31
|
+
eventBus.get('attend:panel-toggle').next({ panel });
|
|
32
32
|
};
|
|
33
33
|
|
|
34
34
|
return (
|
|
@@ -102,10 +102,10 @@ function DropdownGroup({
|
|
|
102
102
|
/**
|
|
103
103
|
* Toolbar for annotation controls with mode, selection, click, and shape options
|
|
104
104
|
*
|
|
105
|
-
* @emits
|
|
106
|
-
* @emits
|
|
107
|
-
* @emits
|
|
108
|
-
* @emits
|
|
105
|
+
* @emits annotate:selection-changed - Selection motivation changed. Payload: { motivation: SelectionMotivation | null }
|
|
106
|
+
* @emits annotate:click-changed - Click action mode changed. Payload: { action: ClickAction }
|
|
107
|
+
* @emits annotate:shape-changed - Drawing shape changed. Payload: { shape: ShapeType }
|
|
108
|
+
* @emits annotate:mode-toggled - View mode toggled between browse and annotate. Payload: undefined
|
|
109
109
|
*/
|
|
110
110
|
export function AnnotateToolbar({
|
|
111
111
|
selectedMotivation,
|
|
@@ -188,9 +188,9 @@ export function AnnotateToolbar({
|
|
|
188
188
|
const handleSelectionClick = (motivation: SelectionMotivation | null) => {
|
|
189
189
|
// If null is clicked, always deselect. Otherwise toggle.
|
|
190
190
|
if (motivation === null) {
|
|
191
|
-
eventBus.get('
|
|
191
|
+
eventBus.get('annotate:selection-changed').next({ motivation: null });
|
|
192
192
|
} else {
|
|
193
|
-
eventBus.get('
|
|
193
|
+
eventBus.get('annotate:selection-changed').next({
|
|
194
194
|
motivation: selectedMotivation === motivation ? null : motivation
|
|
195
195
|
});
|
|
196
196
|
}
|
|
@@ -200,21 +200,21 @@ export function AnnotateToolbar({
|
|
|
200
200
|
};
|
|
201
201
|
|
|
202
202
|
const handleClickClick = (action: ClickAction) => {
|
|
203
|
-
eventBus.get('
|
|
203
|
+
eventBus.get('annotate:click-changed').next({ action });
|
|
204
204
|
// Close dropdown after selection
|
|
205
205
|
setClickPinned(false);
|
|
206
206
|
setClickHovered(false);
|
|
207
207
|
};
|
|
208
208
|
|
|
209
209
|
const handleShapeClick = (shape: ShapeType) => {
|
|
210
|
-
eventBus.get('
|
|
210
|
+
eventBus.get('annotate:shape-changed').next({ shape });
|
|
211
211
|
// Close dropdown after selection
|
|
212
212
|
setShapePinned(false);
|
|
213
213
|
setShapeHovered(false);
|
|
214
214
|
};
|
|
215
215
|
|
|
216
216
|
const handleModeToggle = () => {
|
|
217
|
-
eventBus.get('
|
|
217
|
+
eventBus.get('annotate:mode-toggled').next(undefined);
|
|
218
218
|
setModePinned(false);
|
|
219
219
|
setModeHovered(false);
|
|
220
220
|
};
|
|
@@ -51,10 +51,10 @@ function createEventTracker() {
|
|
|
51
51
|
};
|
|
52
52
|
|
|
53
53
|
const toolbarEvents = [
|
|
54
|
-
'
|
|
55
|
-
'
|
|
56
|
-
'
|
|
57
|
-
'
|
|
54
|
+
'annotate:mode-toggled',
|
|
55
|
+
'annotate:click-changed',
|
|
56
|
+
'annotate:selection-changed',
|
|
57
|
+
'annotate:shape-changed',
|
|
58
58
|
] as const;
|
|
59
59
|
|
|
60
60
|
toolbarEvents.forEach(eventName => {
|
|
@@ -215,7 +215,7 @@ describe('AnnotateToolbar', () => {
|
|
|
215
215
|
});
|
|
216
216
|
});
|
|
217
217
|
|
|
218
|
-
it('emits
|
|
218
|
+
it('emits annotate:mode-toggled event when Browse is clicked in Annotate mode', async () => {
|
|
219
219
|
const tracker = createEventTracker();
|
|
220
220
|
renderWithIntl(
|
|
221
221
|
<AnnotateToolbar
|
|
@@ -234,11 +234,11 @@ describe('AnnotateToolbar', () => {
|
|
|
234
234
|
});
|
|
235
235
|
|
|
236
236
|
await waitFor(() => {
|
|
237
|
-
expect(tracker.events.some(e => e.event === '
|
|
237
|
+
expect(tracker.events.some(e => e.event === 'annotate:mode-toggled')).toBe(true);
|
|
238
238
|
});
|
|
239
239
|
});
|
|
240
240
|
|
|
241
|
-
it('emits
|
|
241
|
+
it('emits annotate:mode-toggled event when Annotate is clicked in Browse mode', async () => {
|
|
242
242
|
const tracker = createEventTracker();
|
|
243
243
|
renderWithIntl(
|
|
244
244
|
<AnnotateToolbar
|
|
@@ -257,7 +257,7 @@ describe('AnnotateToolbar', () => {
|
|
|
257
257
|
});
|
|
258
258
|
|
|
259
259
|
await waitFor(() => {
|
|
260
|
-
expect(tracker.events.some(e => e.event === '
|
|
260
|
+
expect(tracker.events.some(e => e.event === 'annotate:mode-toggled')).toBe(true);
|
|
261
261
|
});
|
|
262
262
|
});
|
|
263
263
|
|
|
@@ -283,7 +283,7 @@ describe('AnnotateToolbar', () => {
|
|
|
283
283
|
|
|
284
284
|
// Verify the event was emitted
|
|
285
285
|
await waitFor(() => {
|
|
286
|
-
expect(tracker.events.some(e => e.event === '
|
|
286
|
+
expect(tracker.events.some(e => e.event === 'annotate:mode-toggled')).toBe(true);
|
|
287
287
|
});
|
|
288
288
|
|
|
289
289
|
// Simulate mode change by rerendering with new mode
|
|
@@ -311,7 +311,7 @@ describe('AnnotateToolbar', () => {
|
|
|
311
311
|
});
|
|
312
312
|
|
|
313
313
|
describe('CLICK Group Interactions', () => {
|
|
314
|
-
it('emits
|
|
314
|
+
it('emits annotate:click-changed event when clicking an action', async () => {
|
|
315
315
|
const tracker = createEventTracker();
|
|
316
316
|
renderWithIntl(
|
|
317
317
|
<AnnotateToolbar {...defaultProps} />,
|
|
@@ -329,7 +329,7 @@ describe('AnnotateToolbar', () => {
|
|
|
329
329
|
fireEvent.click(screen.getByText('Follow'));
|
|
330
330
|
await waitFor(() => {
|
|
331
331
|
expect(tracker.events.some(e =>
|
|
332
|
-
e.event === '
|
|
332
|
+
e.event === 'annotate:click-changed' && e.payload?.action === 'follow'
|
|
333
333
|
)).toBe(true);
|
|
334
334
|
});
|
|
335
335
|
});
|
|
@@ -343,7 +343,7 @@ describe('AnnotateToolbar', () => {
|
|
|
343
343
|
});
|
|
344
344
|
|
|
345
345
|
describe('MOTIVATION Group Interactions', () => {
|
|
346
|
-
it('emits
|
|
346
|
+
it('emits annotate:selection-changed event when clicking a motivation', async () => {
|
|
347
347
|
const tracker = createEventTracker();
|
|
348
348
|
renderWithIntl(
|
|
349
349
|
<AnnotateToolbar {...defaultProps} />,
|
|
@@ -361,7 +361,7 @@ describe('AnnotateToolbar', () => {
|
|
|
361
361
|
fireEvent.click(screen.getByText('Reference'));
|
|
362
362
|
await waitFor(() => {
|
|
363
363
|
expect(tracker.events.some(e =>
|
|
364
|
-
e.event === '
|
|
364
|
+
e.event === 'annotate:selection-changed' && e.payload?.motivation === 'linking'
|
|
365
365
|
)).toBe(true);
|
|
366
366
|
});
|
|
367
367
|
});
|
|
@@ -389,7 +389,7 @@ describe('AnnotateToolbar', () => {
|
|
|
389
389
|
fireEvent.click(within(dropdown).getByText('Highlight'));
|
|
390
390
|
await waitFor(() => {
|
|
391
391
|
expect(tracker.events.some(e =>
|
|
392
|
-
e.event === '
|
|
392
|
+
e.event === 'annotate:selection-changed' && e.payload?.motivation === 'highlighting'
|
|
393
393
|
)).toBe(true);
|
|
394
394
|
});
|
|
395
395
|
|
|
@@ -418,14 +418,14 @@ describe('AnnotateToolbar', () => {
|
|
|
418
418
|
fireEvent.click(within(dropdown2).getByText('Highlight'));
|
|
419
419
|
await waitFor(() => {
|
|
420
420
|
expect(tracker.events.some(e =>
|
|
421
|
-
e.event === '
|
|
421
|
+
e.event === 'annotate:selection-changed' && e.payload?.motivation === null
|
|
422
422
|
)).toBe(true);
|
|
423
423
|
});
|
|
424
424
|
});
|
|
425
425
|
});
|
|
426
426
|
|
|
427
427
|
describe('SHAPE Group Interactions', () => {
|
|
428
|
-
it('emits
|
|
428
|
+
it('emits annotate:shape-changed event when clicking a shape', async () => {
|
|
429
429
|
const tracker = createEventTracker();
|
|
430
430
|
renderWithIntl(
|
|
431
431
|
<AnnotateToolbar
|
|
@@ -447,7 +447,7 @@ describe('AnnotateToolbar', () => {
|
|
|
447
447
|
fireEvent.click(screen.getByText('Circle'));
|
|
448
448
|
await waitFor(() => {
|
|
449
449
|
expect(tracker.events.some(e =>
|
|
450
|
-
e.event === '
|
|
450
|
+
e.event === 'annotate:shape-changed' && e.payload?.shape === 'circle'
|
|
451
451
|
)).toBe(true);
|
|
452
452
|
});
|
|
453
453
|
});
|