@semiont/react-ui 0.2.35-build.99 → 0.2.36

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.
Files changed (210) hide show
  1. package/README.md +1 -0
  2. package/dist/{EventBusContext-DMI4uwYk.d.mts → EventBusContext-CLnb2LmB.d.mts} +5 -5
  3. package/dist/{PdfAnnotationCanvas.client-HNYRKFDS.mjs → PdfAnnotationCanvas.client-COQREPXU.mjs} +7 -7
  4. package/dist/PdfAnnotationCanvas.client-COQREPXU.mjs.map +1 -0
  5. package/dist/ar-7SUXNE34.mjs +376 -0
  6. package/dist/ar-7SUXNE34.mjs.map +1 -0
  7. package/dist/bn-XOET3DOI.mjs +376 -0
  8. package/dist/bn-XOET3DOI.mjs.map +1 -0
  9. package/dist/{chunk-YI5IX5ZA.mjs → chunk-2HGWOLVN.mjs} +1 -1
  10. package/dist/{chunk-YI5IX5ZA.mjs.map → chunk-2HGWOLVN.mjs.map} +1 -1
  11. package/dist/{chunk-3FIQXKQF.mjs → chunk-Q2KV6Y2J.mjs} +28 -28
  12. package/dist/{chunk-MWQ5CNKW.mjs → chunk-ZPV43WN2.mjs} +11 -11
  13. package/dist/chunk-ZPV43WN2.mjs.map +1 -0
  14. package/dist/cs-X63DXX7L.mjs +376 -0
  15. package/dist/cs-X63DXX7L.mjs.map +1 -0
  16. package/dist/da-OWTCV57A.mjs +376 -0
  17. package/dist/da-OWTCV57A.mjs.map +1 -0
  18. package/dist/de-77BMFDVF.mjs +376 -0
  19. package/dist/de-77BMFDVF.mjs.map +1 -0
  20. package/dist/el-FIBNLH2V.mjs +376 -0
  21. package/dist/el-FIBNLH2V.mjs.map +1 -0
  22. package/dist/fa-3N4CIWE6.mjs +376 -0
  23. package/dist/fa-3N4CIWE6.mjs.map +1 -0
  24. package/dist/fi-JOM3M7Z4.mjs +376 -0
  25. package/dist/fi-JOM3M7Z4.mjs.map +1 -0
  26. package/dist/fr-56QSXS7E.mjs +376 -0
  27. package/dist/fr-56QSXS7E.mjs.map +1 -0
  28. package/dist/he-SNAXPJEK.mjs +376 -0
  29. package/dist/he-SNAXPJEK.mjs.map +1 -0
  30. package/dist/hi-CRBRD5TB.mjs +376 -0
  31. package/dist/hi-CRBRD5TB.mjs.map +1 -0
  32. package/dist/id-BRCVLICF.mjs +376 -0
  33. package/dist/id-BRCVLICF.mjs.map +1 -0
  34. package/dist/index.d.mts +169 -165
  35. package/dist/index.mjs +317 -313
  36. package/dist/index.mjs.map +1 -1
  37. package/dist/it-M2Z27BNB.mjs +376 -0
  38. package/dist/it-M2Z27BNB.mjs.map +1 -0
  39. package/dist/ja-TZUKW7HD.mjs +376 -0
  40. package/dist/ja-TZUKW7HD.mjs.map +1 -0
  41. package/dist/ko-NKBGGOL6.mjs +376 -0
  42. package/dist/ko-NKBGGOL6.mjs.map +1 -0
  43. package/dist/ms-XFXPN6RX.mjs +376 -0
  44. package/dist/ms-XFXPN6RX.mjs.map +1 -0
  45. package/dist/nl-MVYXAS5C.mjs +379 -0
  46. package/dist/nl-MVYXAS5C.mjs.map +1 -0
  47. package/dist/no-XOLO4JPV.mjs +376 -0
  48. package/dist/no-XOLO4JPV.mjs.map +1 -0
  49. package/dist/pl-TRWLMMC4.mjs +376 -0
  50. package/dist/pl-TRWLMMC4.mjs.map +1 -0
  51. package/dist/pt-M3TE24UI.mjs +376 -0
  52. package/dist/pt-M3TE24UI.mjs.map +1 -0
  53. package/dist/ro-QBFG2T64.mjs +376 -0
  54. package/dist/ro-QBFG2T64.mjs.map +1 -0
  55. package/dist/sv-IUECBXWX.mjs +376 -0
  56. package/dist/sv-IUECBXWX.mjs.map +1 -0
  57. package/dist/test-utils.d.mts +2 -2
  58. package/dist/test-utils.mjs +2 -2
  59. package/dist/th-US7KIN5Q.mjs +376 -0
  60. package/dist/th-US7KIN5Q.mjs.map +1 -0
  61. package/dist/tr-DWJ2FFUK.mjs +376 -0
  62. package/dist/tr-DWJ2FFUK.mjs.map +1 -0
  63. package/dist/uk-M4ZE4DPZ.mjs +376 -0
  64. package/dist/uk-M4ZE4DPZ.mjs.map +1 -0
  65. package/dist/vi-FERZNPSH.mjs +376 -0
  66. package/dist/vi-FERZNPSH.mjs.map +1 -0
  67. package/dist/zh-3J2I3WYK.mjs +376 -0
  68. package/dist/zh-3J2I3WYK.mjs.map +1 -0
  69. package/package.json +3 -3
  70. package/src/components/AnnotateReferencesProgressWidget.tsx +5 -5
  71. package/src/components/CodeMirrorRenderer.tsx +5 -5
  72. package/src/components/Toolbar.tsx +2 -2
  73. package/src/components/annotation/AnnotateToolbar.tsx +9 -9
  74. package/src/components/annotation/__tests__/AnnotateToolbar.test.tsx +17 -17
  75. package/src/components/image-annotation/AnnotationOverlay.tsx +10 -10
  76. package/src/components/image-annotation/SvgDrawingCanvas.tsx +4 -4
  77. package/src/components/navigation/CollapsibleResourceNavigation.tsx +7 -7
  78. package/src/components/navigation/ObservableLink.tsx +3 -3
  79. package/src/components/navigation/SimpleNavigation.tsx +2 -2
  80. package/src/components/pdf-annotation/PdfAnnotationCanvas.tsx +8 -8
  81. package/src/components/pdf-annotation/__tests__/PdfAnnotationCanvas.test.tsx +2 -0
  82. package/src/components/resource/AnnotateView.tsx +12 -12
  83. package/src/components/resource/BrowseView.tsx +9 -9
  84. package/src/components/resource/ResourceViewer.tsx +23 -23
  85. package/src/components/resource/__tests__/BrowseView.test.tsx +27 -27
  86. package/src/components/resource/__tests__/ResourceViewer.mode-switch.test.tsx +1 -1
  87. package/src/components/resource/panels/AssessmentEntry.tsx +2 -2
  88. package/src/components/resource/panels/AssessmentPanel.tsx +7 -7
  89. package/src/components/resource/panels/AssistSection.tsx +5 -5
  90. package/src/components/resource/panels/CommentEntry.tsx +2 -2
  91. package/src/components/resource/panels/CommentsPanel.tsx +7 -7
  92. package/src/components/resource/panels/HighlightEntry.tsx +2 -2
  93. package/src/components/resource/panels/HighlightPanel.tsx +5 -5
  94. package/src/components/resource/panels/ReferenceEntry.tsx +8 -8
  95. package/src/components/resource/panels/ReferencesPanel.tsx +10 -10
  96. package/src/components/resource/panels/ResourceInfoPanel.tsx +6 -6
  97. package/src/components/resource/panels/TagEntry.tsx +2 -2
  98. package/src/components/resource/panels/TaggingPanel.tsx +8 -8
  99. package/src/components/resource/panels/UnifiedAnnotationsPanel.tsx +2 -2
  100. package/src/components/resource/panels/__tests__/AssessmentPanel.test.tsx +4 -4
  101. package/src/components/resource/panels/__tests__/AssistSection.test.tsx +4 -4
  102. package/src/components/resource/panels/__tests__/CommentEntry.test.tsx +8 -8
  103. package/src/components/resource/panels/__tests__/CommentsPanel.test.tsx +3 -3
  104. package/src/components/resource/panels/__tests__/HighlightPanel.annotationProgress.test.tsx +1 -1
  105. package/src/components/resource/panels/__tests__/ReferencesPanel.test.tsx +3 -3
  106. package/src/components/resource/panels/__tests__/ResourceInfoPanel.test.tsx +9 -9
  107. package/src/components/resource/panels/__tests__/TaggingPanel.test.tsx +5 -5
  108. package/src/features/admin-devops/components/AdminDevOpsPage.tsx +2 -1
  109. package/src/features/admin-security/components/AdminSecurityPage.tsx +2 -1
  110. package/src/features/admin-users/components/AdminUsersPage.tsx +2 -1
  111. package/src/features/moderate-entity-tags/components/EntityTagsPage.tsx +2 -1
  112. package/src/features/moderate-recent/components/RecentDocumentsPage.tsx +2 -1
  113. package/src/features/moderate-tag-schemas/components/TagSchemasPage.tsx +2 -1
  114. package/src/features/resource-compose/components/ResourceComposePage.tsx +2 -1
  115. package/src/features/resource-discovery/components/ResourceDiscoveryPage.tsx +2 -1
  116. package/src/features/resource-viewer/__tests__/AnnotationCreationPending.test.tsx +26 -26
  117. package/src/features/resource-viewer/__tests__/AnnotationDeletionIntegration.test.tsx +21 -21
  118. package/src/features/resource-viewer/__tests__/AnnotationProgressDismissal.test.tsx +23 -23
  119. package/src/features/resource-viewer/__tests__/{ResolutionFlowIntegration.test.tsx → BindFlowIntegration.test.tsx} +49 -49
  120. package/src/features/resource-viewer/__tests__/DetectionFlowBug.test.tsx +18 -18
  121. package/src/features/resource-viewer/__tests__/DetectionFlowIntegration.test.tsx +19 -19
  122. package/src/features/resource-viewer/__tests__/ResourceMutations.test.tsx +19 -19
  123. package/src/features/resource-viewer/__tests__/ToastNotifications.test.tsx +13 -13
  124. package/src/features/resource-viewer/__tests__/{GenerationFlowIntegration.test.tsx → YieldFlowIntegration.test.tsx} +34 -34
  125. package/src/features/resource-viewer/__tests__/annotation-progress-flow.test.tsx +11 -11
  126. package/src/features/resource-viewer/components/ResourceViewerPage.tsx +55 -55
  127. package/translations/ar.json +298 -298
  128. package/translations/bn.json +298 -298
  129. package/translations/cs.json +295 -295
  130. package/translations/da.json +282 -282
  131. package/translations/de.json +281 -281
  132. package/translations/el.json +298 -298
  133. package/translations/fa.json +298 -298
  134. package/translations/fi.json +298 -298
  135. package/translations/fr.json +279 -279
  136. package/translations/he.json +298 -298
  137. package/translations/hi.json +298 -298
  138. package/translations/id.json +295 -295
  139. package/translations/it.json +299 -299
  140. package/translations/ja.json +298 -298
  141. package/translations/ko.json +298 -298
  142. package/translations/ms.json +296 -296
  143. package/translations/nl.json +299 -296
  144. package/translations/no.json +292 -292
  145. package/translations/pl.json +297 -297
  146. package/translations/pt.json +294 -294
  147. package/translations/ro.json +298 -298
  148. package/translations/sv.json +293 -293
  149. package/translations/th.json +298 -298
  150. package/translations/tr.json +298 -298
  151. package/translations/uk.json +298 -298
  152. package/translations/vi.json +298 -298
  153. package/translations/zh.json +298 -298
  154. package/dist/PdfAnnotationCanvas.client-HNYRKFDS.mjs.map +0 -1
  155. package/dist/ar-MDB7HC5S.mjs +0 -376
  156. package/dist/ar-MDB7HC5S.mjs.map +0 -1
  157. package/dist/bn-3SAV2ZEM.mjs +0 -376
  158. package/dist/bn-3SAV2ZEM.mjs.map +0 -1
  159. package/dist/chunk-MWQ5CNKW.mjs.map +0 -1
  160. package/dist/cs-AWCETEUV.mjs +0 -376
  161. package/dist/cs-AWCETEUV.mjs.map +0 -1
  162. package/dist/da-UZZHXYLC.mjs +0 -376
  163. package/dist/da-UZZHXYLC.mjs.map +0 -1
  164. package/dist/de-LQFWN6S5.mjs +0 -376
  165. package/dist/de-LQFWN6S5.mjs.map +0 -1
  166. package/dist/el-IWOETBJ7.mjs +0 -376
  167. package/dist/el-IWOETBJ7.mjs.map +0 -1
  168. package/dist/fa-BVEJZT5S.mjs +0 -376
  169. package/dist/fa-BVEJZT5S.mjs.map +0 -1
  170. package/dist/fi-JBNCGGA6.mjs +0 -376
  171. package/dist/fi-JBNCGGA6.mjs.map +0 -1
  172. package/dist/fr-OLH7PNGI.mjs +0 -376
  173. package/dist/fr-OLH7PNGI.mjs.map +0 -1
  174. package/dist/he-KOJQ4HMA.mjs +0 -376
  175. package/dist/he-KOJQ4HMA.mjs.map +0 -1
  176. package/dist/hi-BKJFZXAY.mjs +0 -376
  177. package/dist/hi-BKJFZXAY.mjs.map +0 -1
  178. package/dist/id-DPLHJVNP.mjs +0 -376
  179. package/dist/id-DPLHJVNP.mjs.map +0 -1
  180. package/dist/it-JXHAM7NL.mjs +0 -376
  181. package/dist/it-JXHAM7NL.mjs.map +0 -1
  182. package/dist/ja-DQRAO3PU.mjs +0 -376
  183. package/dist/ja-DQRAO3PU.mjs.map +0 -1
  184. package/dist/ko-6IFCOP6F.mjs +0 -376
  185. package/dist/ko-6IFCOP6F.mjs.map +0 -1
  186. package/dist/ms-KF5S2TLL.mjs +0 -376
  187. package/dist/ms-KF5S2TLL.mjs.map +0 -1
  188. package/dist/nl-2GUUZLQM.mjs +0 -376
  189. package/dist/nl-2GUUZLQM.mjs.map +0 -1
  190. package/dist/no-2IBCZGEF.mjs +0 -376
  191. package/dist/no-2IBCZGEF.mjs.map +0 -1
  192. package/dist/pl-ZEUBJ7YU.mjs +0 -376
  193. package/dist/pl-ZEUBJ7YU.mjs.map +0 -1
  194. package/dist/pt-WLAFIZWQ.mjs +0 -376
  195. package/dist/pt-WLAFIZWQ.mjs.map +0 -1
  196. package/dist/ro-K56IXFGU.mjs +0 -376
  197. package/dist/ro-K56IXFGU.mjs.map +0 -1
  198. package/dist/sv-VFJLMJRY.mjs +0 -376
  199. package/dist/sv-VFJLMJRY.mjs.map +0 -1
  200. package/dist/th-RICLQ2GW.mjs +0 -376
  201. package/dist/th-RICLQ2GW.mjs.map +0 -1
  202. package/dist/tr-SALXWE2M.mjs +0 -376
  203. package/dist/tr-SALXWE2M.mjs.map +0 -1
  204. package/dist/uk-3U3T3O2E.mjs +0 -376
  205. package/dist/uk-3U3T3O2E.mjs.map +0 -1
  206. package/dist/vi-LIVNZXOB.mjs +0 -376
  207. package/dist/vi-LIVNZXOB.mjs.map +0 -1
  208. package/dist/zh-KDUAZPX3.mjs +0 -376
  209. package/dist/zh-KDUAZPX3.mjs.map +0 -1
  210. /package/dist/{chunk-3FIQXKQF.mjs.map → chunk-Q2KV6Y2J.mjs.map} +0 -0
@@ -1,376 +0,0 @@
1
- 'use client';
2
- import "./chunk-3JTO27MH.mjs";
3
-
4
- // translations/bn.json
5
- var Toolbar = {
6
- annotations: "Annotations",
7
- history: "History",
8
- resourceInfo: "Resource Info",
9
- collaboration: "Collaboration",
10
- userAccount: "User Account",
11
- settings: "Settings"
12
- };
13
- var ResourceInfoPanel = {
14
- title: "Resource Info",
15
- locale: "Locale",
16
- notSpecified: "Not specified",
17
- entityTypeTags: "Entity Type Tags",
18
- representation: "Representation",
19
- mediaType: "Media Type",
20
- byteSize: "Size",
21
- clone: "Clone",
22
- cloneDescription: "Generate a shareable clone link for this resource",
23
- archive: "Archive",
24
- archiveDescription: "Move this resource to archived status",
25
- unarchive: "Unarchive",
26
- unarchiveDescription: "Restore this resource to active status"
27
- };
28
- var CollaborationPanel = {
29
- title: "Collaboration",
30
- connectionStatus: "Connection Status",
31
- live: "Live",
32
- disconnected: "Disconnected",
33
- events: "{count} events",
34
- lastSync: "Last sync:",
35
- noActivity: "No activity yet",
36
- justNow: "Just now",
37
- secondsAgo: "{count} seconds ago",
38
- minuteAgo: "1 minute ago",
39
- minutesAgo: "{count} minutes ago",
40
- hourAgo: "1 hour ago",
41
- hoursAgo: "{count} hours ago",
42
- realtimeActive: "Real-time updates are active",
43
- reconnecting: "Reconnecting to server...",
44
- sharing: "Sharing",
45
- collaborationComingSoon: "Collaboration features coming soon"
46
- };
47
- var AnnotationHistory = {
48
- history: "History",
49
- loading: "Loading...",
50
- user: "User",
51
- method: "Method",
52
- viewOriginal: "View original",
53
- viewAnnotation: "View annotation: {content}",
54
- resourceCreated: "Created Resource",
55
- resourceCloned: "Cloned",
56
- resourceArchived: "Archived",
57
- resourceUnarchived: "Unarchived",
58
- highlightAdded: "Highlight Added",
59
- highlightRemoved: "Highlight Removed",
60
- referenceCreated: "Reference Created",
61
- referenceResolved: "Reference Resolved",
62
- referenceDeleted: "Reference Deleted",
63
- entitytagAdded: "Tag Added",
64
- entitytagRemoved: "Tag Removed",
65
- assessmentAdded: "Assessment Added",
66
- assessmentRemoved: "Assessment Removed",
67
- annotationAdded: "Annotation Added",
68
- annotationRemoved: "Annotation Removed",
69
- annotationBodyUpdated: "Annotation Updated",
70
- jobEvent: "Job Event",
71
- justNow: "just now",
72
- minutesAgo: "{count}m ago",
73
- hoursAgo: "{count}h ago",
74
- daysAgo: "{count}d ago"
75
- };
76
- var CommentsPanel = {
77
- title: "Comments",
78
- noComments: "No comments yet. Select text and click Comment to add one.",
79
- commentPlaceholder: "Type your comment here...",
80
- save: "Save",
81
- cancel: "Cancel",
82
- edit: "Edit",
83
- annotateComments: "Annotate Comments",
84
- instructions: "Instructions",
85
- optional: "(optional)",
86
- instructionsPlaceholder: "e.g., Focus on technical terminology...",
87
- annotate: "Annotate",
88
- annotating: "Annotating...",
89
- toneLabel: "Tone",
90
- toneOptional: "(optional)",
91
- toneScholarly: "Scholarly",
92
- toneExplanatory: "Explanatory",
93
- toneConversational: "Conversational",
94
- toneTechnical: "Technical",
95
- densityLabel: "Density",
96
- densitySparse: "Sparse",
97
- densityDense: "Dense",
98
- fragmentSelected: "Fragment selected",
99
- imageRegionSelected: "Image region selected",
100
- closeProgress: "Close"
101
- };
102
- var HighlightPanel = {
103
- title: "Highlights",
104
- noHighlights: "No highlights yet. Use AI annotation to find important passages.",
105
- annotateHighlights: "Annotate Highlights",
106
- instructions: "Instructions",
107
- optional: "(optional)",
108
- instructionsPlaceholder: "e.g., Focus on key technical concepts...",
109
- annotate: "Annotate",
110
- annotating: "Annotating...",
111
- cancel: "Cancel",
112
- densityLabel: "Density",
113
- densitySparse: "Sparse",
114
- densityDense: "Dense",
115
- closeProgress: "Close"
116
- };
117
- var AssessmentPanel = {
118
- title: "Assessments",
119
- noAssessments: "No assessments yet. Use AI annotation to evaluate passages.",
120
- assessmentPlaceholder: "Type your assessment here...",
121
- save: "Save",
122
- cancel: "Cancel",
123
- annotateAssessments: "Annotate Assessments",
124
- instructions: "Instructions",
125
- optional: "(optional)",
126
- instructionsPlaceholder: "e.g., Evaluate claims for accuracy and evidence...",
127
- annotate: "Annotate",
128
- annotating: "Annotating...",
129
- toneLabel: "Tone",
130
- toneOptional: "(optional)",
131
- toneAnalytical: "Analytical",
132
- toneCritical: "Critical",
133
- toneBalanced: "Balanced",
134
- toneConstructive: "Constructive",
135
- densityLabel: "Density",
136
- densitySparse: "Sparse",
137
- densityDense: "Dense",
138
- fragmentSelected: "Fragment selected",
139
- imageRegionSelected: "Image region selected",
140
- closeProgress: "Close"
141
- };
142
- var TaggingPanel = {
143
- title: "Tags",
144
- noTags: "No tags yet. Use AI annotation to identify structural roles.",
145
- annotateTags: "Annotate Tags",
146
- selectSchema: "Select Framework",
147
- schemaLegal: "Legal Analysis (IRAC)",
148
- schemaScientific: "Scientific Paper (IMRAD)",
149
- schemaArgument: "Argument Structure (Toulmin)",
150
- selectCategories: "Select Categories",
151
- categoryIssue: "Issue",
152
- categoryRule: "Rule",
153
- categoryApplication: "Application",
154
- categoryConclusion: "Conclusion",
155
- categoryIntroduction: "Introduction",
156
- categoryMethods: "Methods",
157
- categoryResults: "Results",
158
- categoryDiscussion: "Discussion",
159
- categoryClaim: "Claim",
160
- categoryEvidence: "Evidence",
161
- categoryWarrant: "Warrant",
162
- categoryCounterargument: "Counterargument",
163
- categoryRebuttal: "Rebuttal",
164
- annotate: "Annotate",
165
- annotating: "Annotating...",
166
- cancel: "Cancel",
167
- selectAll: "Select All",
168
- deselectAll: "Deselect All",
169
- categoriesSelected: "{count, plural, =0 {No categories selected} =1 {1 category selected} other {# categories selected}}",
170
- createTagForSelection: "Create Tag for Selection",
171
- selectCategory: "Select Category",
172
- chooseCategory: "Choose a category...",
173
- fragmentSelected: "Fragment selected",
174
- imageRegionSelected: "Image region selected"
175
- };
176
- var UnifiedAnnotationsPanel = {
177
- title: "Annotations",
178
- statistics: "Statistics",
179
- highlight: "Highlights",
180
- reference: "References",
181
- assessment: "Assessments",
182
- comment: "Comments",
183
- tag: "Tags"
184
- };
185
- var StatisticsPanel = {
186
- title: "Statistics",
187
- highlights: "Highlights",
188
- comments: "Comments",
189
- assessments: "Assessments",
190
- tags: "Tags",
191
- references: "References",
192
- stub: "Stub",
193
- resolved: "Resolved",
194
- entityTypes: "Entity Types"
195
- };
196
- var ReferencesPanel = {
197
- title: "References",
198
- noReferences: "No references yet. Select text to create references to other resources.",
199
- outgoingReferences: "Outgoing References",
200
- incomingReferences: "Incoming References",
201
- noIncomingReferences: "No incoming references",
202
- stub: "Stub reference (not linked)",
203
- resolved: "Resolved reference (linked)",
204
- open: "Open",
205
- unlink: "Unlink",
206
- generate: "Generate",
207
- find: "Find",
208
- create: "Create",
209
- cancel: "Cancel",
210
- createReference: "Create Reference",
211
- entityTypesOptional: "Entity Types (Optional)",
212
- fragmentSelected: "Fragment selected",
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...",
222
- includeDescriptiveReferences: "Include descriptive references",
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"
235
- };
236
- var KeyboardShortcuts = {
237
- title: "Keyboard Shortcuts",
238
- closeDialog: "Close dialog",
239
- or: "or",
240
- navigationTitle: "Navigation",
241
- navOpenSearch: "Open global search",
242
- navOpenSearchAlt: "Open global search (alternative)",
243
- navCreateResource: "Create new resource",
244
- navCloseOverlays: "Close all overlays (double press)",
245
- navShowHelp: "Show keyboard shortcuts help",
246
- sidebarTitle: "Knowledge Sidebar",
247
- sidebarCollapse: "Collapse sidebar",
248
- sidebarExpand: "Expand sidebar",
249
- sidebarPickup: "Pick up resource tab (when focused)",
250
- sidebarMove: "Move resource tab (when dragging)",
251
- sidebarDrop: "Drop resource tab (when dragging)",
252
- sidebarCancel: "Cancel drag operation",
253
- annotationsTitle: "Resource Annotations",
254
- annotHighlight: "Create highlight from annotation (direct)",
255
- annotReference: "Open reference popup for annotation",
256
- annotDelete: "Delete focused annotation",
257
- annotNavigate: "Navigate through annotations",
258
- annotNavigateBack: "Navigate annotations backward",
259
- listsTitle: "Lists & Grids",
260
- listsFilterNav: "Navigate entity type filters",
261
- listsGridNav: "Navigate resource grid",
262
- listsJumpFirst: "Jump to first item",
263
- listsJumpLast: "Jump to last item",
264
- searchModalTitle: "In Search Modal",
265
- searchNav: "Navigate search results",
266
- searchSelect: "Select result",
267
- searchClose: "Close search",
268
- modalTitle: "Modal Controls",
269
- modalClose: "Close active modal",
270
- modalNavForward: "Navigate forward through buttons",
271
- modalNavBackward: "Navigate backward through buttons",
272
- modalActivate: "Activate focused button",
273
- accessibilityTitle: "Accessibility",
274
- a11ySkipLinks: "Navigate to skip links (when at page start)",
275
- a11yFollowLink: "Follow skip link",
276
- macNote: "Using Mac keyboard shortcuts. \u2318 is the Command key.",
277
- windowsNote: "Using Windows/Linux keyboard shortcuts. Ctrl is the Control key.",
278
- footerHint: "Press {key} anytime to show this help",
279
- close: "Close"
280
- };
281
- var AnnotateToolbar = {
282
- modeGroup: "Mode",
283
- browse: "Browse",
284
- annotate: "Annotate",
285
- selectionGroup: "Motivation",
286
- clickGroup: "Click",
287
- shapeGroup: "Shape",
288
- none: "None",
289
- linking: "Reference",
290
- highlighting: "Highlight",
291
- assessing: "Assess",
292
- commenting: "Comment",
293
- tagging: "Tag",
294
- detail: "Detail",
295
- follow: "Follow",
296
- deleting: "Delete",
297
- jsonld: "JSON-LD",
298
- rectangle: "Rectangle",
299
- circle: "Circle",
300
- polygon: "Polygon"
301
- };
302
- var CollapsibleResourceNavigation = {
303
- title: "Navigation",
304
- collapseSidebar: "Collapse sidebar",
305
- expandSidebar: "Expand sidebar",
306
- dragToReorder: "Drag to reorder",
307
- dragToReorderDoc: "Drag to reorder {name}",
308
- closeResource: "Close resource",
309
- 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."
310
- };
311
- var ResourceViewer = {
312
- deleteConfirmationTitle: "Delete Annotation",
313
- deleteConfirmationMessage: "Are you sure you want to delete this annotation? This action cannot be undone.",
314
- deleteConfirmationCancel: "Cancel",
315
- deleteConfirmationDelete: "Delete"
316
- };
317
- var Settings = {
318
- title: "Settings",
319
- lineNumbers: "Line Numbers",
320
- lineNumbersVisible: "Visible",
321
- lineNumbersHidden: "Hidden",
322
- theme: "Theme",
323
- themeLight: "Light",
324
- themeDark: "Dark",
325
- themeSystem: "System",
326
- themeSystemActive: "System ({mode})",
327
- themeModeActive: "Using {mode} mode",
328
- language: "Language",
329
- languageHint: "Change language in the main navigation",
330
- languageChanging: "Changing language...",
331
- hoverDelay: "Hover Delay",
332
- hoverDelayFast: "Fast",
333
- hoverDelaySlow: "Slow",
334
- hoverDelayDescription: "{delay}ms delay before hover effects appear"
335
- };
336
- var AnnotateView = {};
337
- var bn_default = {
338
- Toolbar,
339
- ResourceInfoPanel,
340
- CollaborationPanel,
341
- AnnotationHistory,
342
- CommentsPanel,
343
- HighlightPanel,
344
- AssessmentPanel,
345
- TaggingPanel,
346
- UnifiedAnnotationsPanel,
347
- StatisticsPanel,
348
- ReferencesPanel,
349
- KeyboardShortcuts,
350
- AnnotateToolbar,
351
- CollapsibleResourceNavigation,
352
- ResourceViewer,
353
- Settings,
354
- AnnotateView
355
- };
356
- export {
357
- AnnotateToolbar,
358
- AnnotateView,
359
- AnnotationHistory,
360
- AssessmentPanel,
361
- CollaborationPanel,
362
- CollapsibleResourceNavigation,
363
- CommentsPanel,
364
- HighlightPanel,
365
- KeyboardShortcuts,
366
- ReferencesPanel,
367
- ResourceInfoPanel,
368
- ResourceViewer,
369
- Settings,
370
- StatisticsPanel,
371
- TaggingPanel,
372
- Toolbar,
373
- UnifiedAnnotationsPanel,
374
- bn_default as default
375
- };
376
- //# sourceMappingURL=bn-3SAV2ZEM.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../translations/bn.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":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/contexts/useEventSubscription.ts","../src/hooks/useAttentionFlow.ts"],"sourcesContent":["import { useEffect, useRef, useMemo } from 'react';\nimport type { EventMap } from '@semiont/core';\nimport { useEventBus } from './EventBusContext';\n\n/**\n * Subscribe to an event bus event with automatic cleanup.\n *\n * This hook solves the \"stale closure\" problem by always using the latest\n * version of the handler without re-subscribing.\n *\n * @example\n * ```tsx\n * useEventSubscription('annotate:created', ({ annotation }) => {\n * // This always uses the latest props/state\n * triggerSparkleAnimation(annotation.id);\n * });\n * ```\n */\nexport function useEventSubscription<K extends keyof EventMap>(\n eventName: K,\n handler: (payload: EventMap[K]) => void\n): void {\n const eventBus = useEventBus();\n\n // Store the latest handler in a ref to avoid stale closures\n const handlerRef = useRef(handler);\n\n // Update ref on every render (no re-subscription needed)\n useEffect(() => {\n handlerRef.current = handler;\n });\n\n // Subscribe once, using a stable wrapper that calls the current handler\n useEffect(() => {\n const stableHandler = (payload: EventMap[K]) => {\n handlerRef.current(payload);\n };\n\n // RxJS EventBus.get() returns Subject, subscribe returns Subscription\n const subscription = eventBus.get(eventName).subscribe(stableHandler);\n\n return () => {\n subscription.unsubscribe();\n };\n }, [eventName, eventBus]); // eventBus is stable, only re-subscribe if event name changes\n}\n\n/**\n * Subscribe to multiple events at once.\n *\n * @example\n * ```tsx\n * useEventSubscriptions({\n * 'annotate:created': ({ annotation }) => setNewAnnotation(annotation),\n * 'annotate:deleted': ({ annotationId }) => removeAnnotation(annotationId),\n * });\n * ```\n */\nexport function useEventSubscriptions(\n subscriptions: {\n [K in keyof EventMap]?: (payload: EventMap[K]) => void;\n }\n): void {\n const eventBus = useEventBus();\n\n // Store the latest handlers in refs\n const handlersRef = useRef(subscriptions);\n\n // Update refs on every render\n useEffect(() => {\n handlersRef.current = subscriptions;\n });\n\n // Get stable list of event names to subscribe to\n const eventNames = useMemo(\n () => Object.keys(subscriptions).sort(),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [Object.keys(subscriptions).sort().join(',')]\n );\n\n // Subscribe once per event - only re-subscribe if event names actually change\n useEffect(() => {\n const subscriptions: Array<{ unsubscribe: () => void }> = [];\n\n // Create stable wrappers for each subscription\n for (const eventName of eventNames) {\n const stableHandler = (payload: any) => {\n const currentHandler = handlersRef.current[eventName as keyof EventMap];\n if (currentHandler) {\n currentHandler(payload);\n } else {\n console.warn('[useEventSubscriptions] No current handler found for:', eventName);\n }\n };\n\n // RxJS EventBus.get() returns Subject, subscribe returns Subscription\n const subscription = eventBus.get(eventName as keyof EventMap).subscribe(stableHandler);\n subscriptions.push(subscription);\n }\n\n // Cleanup: unsubscribe from all subscriptions\n return () => {\n for (const subscription of subscriptions) {\n subscription.unsubscribe();\n }\n };\n }, [eventNames, eventBus]); // eventBus is stable singleton - never in deps; only re-subscribe if event names change\n}\n","/**\n * useAttentionFlow — Annotation attention / pointer coordination hook\n *\n * Manages which annotation currently has the user's attention:\n * - Hover state (hoveredAnnotationId)\n * - Hover → sparkle relay\n * - Click → focus relay\n *\n * Follows react-rxjs-guide.md Layer 2 pattern: Hook bridge that\n * subscribes to events and pushes values into React state.\n *\n * Note: attend:sparkle visual effect (triggerSparkleAnimation) is owned by\n * ResourceViewerPage, which subscribes to attend:sparkle and delegates to\n * ResourceAnnotationsContext. This hook emits the signal; it does not render the effect.\n *\n * @subscribes attend:hover - Sets hoveredAnnotationId; emits attend:sparkle\n * @subscribes attend:click - Emits attend:focus (attention relay only)\n * @emits attend:sparkle\n * @emits attend:focus\n */\n\n/**\n * useHoverEmitter / createHoverHandlers — annotation hover emission utilities\n *\n * Centralises two hover quality-of-life behaviours:\n *\n * 1. currentHover guard — suppresses redundant emissions when the mouse\n * moves within the same annotation element (prevents event bus noise).\n *\n * 2. Debounce delay (HOVER_DELAY_MS) — a short timer before emitting\n * attend:hover, so that transient pass-through movements (user dragging\n * the mouse across the panel to reach a button elsewhere) do not trigger\n * sparkle animations or cross-highlight effects.\n * The delay is cancelled immediately on mouseLeave, so leaving is always instant.\n *\n * Two forms are provided:\n *\n * useHoverEmitter(annotationId)\n * React hook. Returns { onMouseEnter, onMouseLeave } props for JSX elements.\n * Use in panel entries (HighlightEntry, CommentEntry, …).\n *\n * createHoverHandlers(emit)\n * Plain factory. Returns { handleMouseEnter(id), handleMouseLeave(), cleanup }.\n * Use inside useEffect / imperative setup code where hooks cannot be called\n * (BrowseView, CodeMirrorRenderer, AnnotationOverlay, PdfAnnotationCanvas).\n */\n\nimport { useState, useRef, useCallback, useEffect } from 'react';\nimport { useEventBus } from '../contexts/EventBusContext';\nimport { useEventSubscriptions } from '../contexts/useEventSubscription';\n\n// ─── useAttentionFlow ─────────────────────────────────────────────────────────\n\nexport interface AttentionFlowState {\n hoveredAnnotationId: string | null;\n}\n\nexport function useAttentionFlow(): AttentionFlowState {\n const eventBus = useEventBus();\n const [hoveredAnnotationId, setHoveredAnnotationId] = useState<string | null>(null);\n\n const handleAnnotationHover = useCallback(({ annotationId }: { annotationId: string | null }) => {\n setHoveredAnnotationId(annotationId);\n if (annotationId) {\n eventBus.get('attend:sparkle').next({ annotationId });\n }\n }, []); // eventBus is stable singleton - never in deps\n\n const handleAnnotationClick = useCallback(({ annotationId }: { annotationId: string }) => {\n eventBus.get('attend:focus').next({ annotationId });\n // Scroll to annotation handled by BrowseView via attend:focus subscription\n }, []); // eventBus is stable singleton - never in deps\n\n useEventSubscriptions({\n 'attend:hover': handleAnnotationHover,\n 'attend:click': handleAnnotationClick,\n });\n\n return { hoveredAnnotationId };\n}\n\n// ─── createHoverHandlers (use inside useEffect / imperative setup) ────────────\n\n/** Default milliseconds the mouse must dwell before attend:hover is emitted. */\nexport const HOVER_DELAY_MS = 150;\n\ntype EmitHover = (annotationId: string | null) => void;\n\nexport interface HoverHandlers {\n /** Call with the annotation ID when the mouse enters an annotation element. */\n handleMouseEnter: (annotationId: string) => void;\n /** Call when the mouse leaves the annotation element. */\n handleMouseLeave: () => void;\n /** Cancel any pending timer — call in the useEffect cleanup. */\n cleanup: () => void;\n}\n\n/**\n * Creates hover handlers for imperative code (non-hook contexts).\n * @param emit - Callback to emit hover events\n * @param delayMs - Hover delay in milliseconds\n */\nexport function createHoverHandlers(emit: EmitHover, delayMs: number): HoverHandlers {\n let currentHover: string | null = null;\n let timer: ReturnType<typeof setTimeout> | null = null;\n\n const cancelTimer = () => {\n if (timer !== null) {\n clearTimeout(timer);\n timer = null;\n }\n };\n\n const handleMouseEnter = (annotationId: string) => {\n if (currentHover === annotationId) return; // already hovering this one\n cancelTimer();\n timer = setTimeout(() => {\n timer = null;\n currentHover = annotationId;\n emit(annotationId);\n }, delayMs);\n };\n\n const handleMouseLeave = () => {\n cancelTimer();\n if (currentHover !== null) {\n currentHover = null;\n emit(null);\n }\n };\n\n return { handleMouseEnter, handleMouseLeave, cleanup: cancelTimer };\n}\n\n// ─── useHoverEmitter (use in JSX onMouseEnter / onMouseLeave props) ───────────\n\nexport interface HoverEmitterProps {\n onMouseEnter: () => void;\n onMouseLeave: () => void;\n}\n\n/**\n * React hook that returns onMouseEnter / onMouseLeave props for a single\n * annotation entry element.\n *\n * @param annotationId - The ID of the annotation this element represents.\n * @param hoverDelayMs - Hover delay in milliseconds (defaults to HOVER_DELAY_MS for panel entries)\n */\nexport function useHoverEmitter(annotationId: string, hoverDelayMs: number = HOVER_DELAY_MS): HoverEmitterProps {\n const eventBus = useEventBus();\n const currentHoverRef = useRef<string | null>(null);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const onMouseEnter = useCallback(() => {\n if (currentHoverRef.current === annotationId) return;\n if (timerRef.current !== null) {\n clearTimeout(timerRef.current);\n }\n timerRef.current = setTimeout(() => {\n timerRef.current = null;\n currentHoverRef.current = annotationId;\n eventBus.get('attend:hover').next({ annotationId });\n }, hoverDelayMs);\n }, [annotationId, hoverDelayMs]); // eventBus is stable singleton - never in deps\n\n const onMouseLeave = useCallback(() => {\n if (timerRef.current !== null) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n if (currentHoverRef.current !== null) {\n currentHoverRef.current = null;\n eventBus.get('attend:hover').next({ annotationId: null });\n }\n }, []); // eventBus is stable singleton - never in deps\n\n // Cleanup timer on unmount\n useEffect(() => {\n return () => {\n if (timerRef.current !== null) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n };\n }, []);\n\n return { onMouseEnter, onMouseLeave };\n}\n"],"mappings":"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","names":["subscriptions","useRef","useEffect","useRef","useEffect"]}