@semiont/react-ui 0.5.2 → 0.5.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/dist/{PdfAnnotationCanvas.client-5QESNO5H.mjs → PdfAnnotationCanvas.client-CN3C3S55.js} +2 -2
  2. package/dist/{ar-3W37O3R3.mjs → ar-U2EXWUMQ.js} +3 -21
  3. package/dist/ar-U2EXWUMQ.js.map +1 -0
  4. package/dist/assets/favicons/SemiontFavicon.d.ts +9 -0
  5. package/dist/assets/favicons/SemiontFavicon.d.ts.map +1 -0
  6. package/dist/assets/favicons/index.d.ts +12 -0
  7. package/dist/assets/favicons/index.d.ts.map +1 -0
  8. package/dist/{bn-JZTJLMVE.mjs → bn-DRJGV772.js} +3 -21
  9. package/dist/bn-DRJGV772.js.map +1 -0
  10. package/dist/{chunk-7VWNZ5YX.mjs → chunk-3Q3TUKWP.js} +32 -32
  11. package/dist/{chunk-NOD3NCXE.mjs → chunk-GERSK2DY.js} +3 -21
  12. package/dist/chunk-GERSK2DY.js.map +1 -0
  13. package/dist/{chunk-D4GAAQMM.mjs → chunk-K6BJDL2I.js} +1 -1
  14. package/dist/components/AnnotateReferencesProgressWidget.d.ts +15 -0
  15. package/dist/components/AnnotateReferencesProgressWidget.d.ts.map +1 -0
  16. package/dist/components/Button/Button.d.ts +69 -0
  17. package/dist/components/Button/Button.d.ts.map +1 -0
  18. package/dist/components/CodeMirrorRenderer.d.ts +25 -0
  19. package/dist/components/CodeMirrorRenderer.d.ts.map +1 -0
  20. package/dist/components/ErrorBoundary.d.ts +30 -0
  21. package/dist/components/ErrorBoundary.d.ts.map +1 -0
  22. package/dist/components/LiveRegion.d.ts +41 -0
  23. package/dist/components/LiveRegion.d.ts.map +1 -0
  24. package/dist/components/ProtectedErrorBoundary.d.ts +27 -0
  25. package/dist/components/ProtectedErrorBoundary.d.ts.map +1 -0
  26. package/dist/components/ResizeHandle.d.ts +39 -0
  27. package/dist/components/ResizeHandle.d.ts.map +1 -0
  28. package/dist/components/ResourceTagsInline.d.ts +10 -0
  29. package/dist/components/ResourceTagsInline.d.ts.map +1 -0
  30. package/dist/components/SessionExpiryBanner.d.ts +2 -0
  31. package/dist/components/SessionExpiryBanner.d.ts.map +1 -0
  32. package/dist/components/SessionTimer.d.ts +2 -0
  33. package/dist/components/SessionTimer.d.ts.map +1 -0
  34. package/dist/components/StatusDisplay.d.ts +9 -0
  35. package/dist/components/StatusDisplay.d.ts.map +1 -0
  36. package/dist/components/Toast.d.ts +27 -0
  37. package/dist/components/Toast.d.ts.map +1 -0
  38. package/dist/components/Toolbar.d.ts +15 -0
  39. package/dist/components/Toolbar.d.ts.map +1 -0
  40. package/dist/components/UserMenuSkeleton.d.ts +2 -0
  41. package/dist/components/UserMenuSkeleton.d.ts.map +1 -0
  42. package/dist/components/annotation/AnnotateToolbar.d.ts +29 -0
  43. package/dist/components/annotation/AnnotateToolbar.d.ts.map +1 -0
  44. package/dist/components/annotation-popups/JsonLdView.d.ts +8 -0
  45. package/dist/components/annotation-popups/JsonLdView.d.ts.map +1 -0
  46. package/dist/components/annotation-popups/SharedPopupElements.d.ts +28 -0
  47. package/dist/components/annotation-popups/SharedPopupElements.d.ts.map +1 -0
  48. package/dist/components/branding/SemiontBranding.d.ts +13 -0
  49. package/dist/components/branding/SemiontBranding.d.ts.map +1 -0
  50. package/dist/components/error-states/ResourceErrorState.d.ts +11 -0
  51. package/dist/components/error-states/ResourceErrorState.d.ts.map +1 -0
  52. package/dist/components/image-annotation/AnnotationOverlay.d.ts +22 -0
  53. package/dist/components/image-annotation/AnnotationOverlay.d.ts.map +1 -0
  54. package/dist/components/image-annotation/SvgDrawingCanvas.d.ts +23 -0
  55. package/dist/components/image-annotation/SvgDrawingCanvas.d.ts.map +1 -0
  56. package/dist/components/layout/LeftSidebar.d.ts +24 -0
  57. package/dist/components/layout/LeftSidebar.d.ts.map +1 -0
  58. package/dist/components/layout/PageLayout.d.ts +21 -0
  59. package/dist/components/layout/PageLayout.d.ts.map +1 -0
  60. package/dist/components/layout/SkipLinks.d.ts +8 -0
  61. package/dist/components/layout/SkipLinks.d.ts.map +1 -0
  62. package/dist/components/layout/UnifiedHeader.d.ts +21 -0
  63. package/dist/components/layout/UnifiedHeader.d.ts.map +1 -0
  64. package/dist/components/loading-states/ComposeLoadingState.d.ts +10 -0
  65. package/dist/components/loading-states/ComposeLoadingState.d.ts.map +1 -0
  66. package/dist/components/loading-states/ResourceLoadingState.d.ts +7 -0
  67. package/dist/components/loading-states/ResourceLoadingState.d.ts.map +1 -0
  68. package/dist/components/modals/ConfigureGenerationStep.d.ts +36 -0
  69. package/dist/components/modals/ConfigureGenerationStep.d.ts.map +1 -0
  70. package/dist/components/modals/ConfigureSearchStep.d.ts +21 -0
  71. package/dist/components/modals/ConfigureSearchStep.d.ts.map +1 -0
  72. package/dist/components/modals/ContextSummary.d.ts +14 -0
  73. package/dist/components/modals/ContextSummary.d.ts.map +1 -0
  74. package/dist/components/modals/GatherContextStep.d.ts +23 -0
  75. package/dist/components/modals/GatherContextStep.d.ts.map +1 -0
  76. package/dist/components/modals/KeyboardShortcutsHelpModal.d.ts +8 -0
  77. package/dist/components/modals/KeyboardShortcutsHelpModal.d.ts.map +1 -0
  78. package/dist/components/modals/PermissionDeniedModal.d.ts +12 -0
  79. package/dist/components/modals/PermissionDeniedModal.d.ts.map +1 -0
  80. package/dist/components/modals/ReferenceWizardModal.d.ts +64 -0
  81. package/dist/components/modals/ReferenceWizardModal.d.ts.map +1 -0
  82. package/dist/components/modals/ResourceSearchModal.d.ts +16 -0
  83. package/dist/components/modals/ResourceSearchModal.d.ts.map +1 -0
  84. package/dist/components/modals/SearchModal.d.ts +20 -0
  85. package/dist/components/modals/SearchModal.d.ts.map +1 -0
  86. package/dist/components/modals/SearchResultsStep.d.ts +22 -0
  87. package/dist/components/modals/SearchResultsStep.d.ts.map +1 -0
  88. package/dist/components/modals/SessionExpiredModal.d.ts +12 -0
  89. package/dist/components/modals/SessionExpiredModal.d.ts.map +1 -0
  90. package/dist/components/navigation/CollapsibleResourceNavigation.d.ts +13 -0
  91. package/dist/components/navigation/CollapsibleResourceNavigation.d.ts.map +1 -0
  92. package/dist/components/navigation/Footer.d.ts +20 -0
  93. package/dist/components/navigation/Footer.d.ts.map +1 -0
  94. package/dist/components/navigation/NavigationMenu.d.ts +18 -0
  95. package/dist/components/navigation/NavigationMenu.d.ts.map +1 -0
  96. package/dist/components/navigation/ObservableLink.d.ts +52 -0
  97. package/dist/components/navigation/ObservableLink.d.ts.map +1 -0
  98. package/dist/components/navigation/SimpleNavigation.d.ts +35 -0
  99. package/dist/components/navigation/SimpleNavigation.d.ts.map +1 -0
  100. package/dist/components/navigation/SortableResourceTab.d.ts +7 -0
  101. package/dist/components/navigation/SortableResourceTab.d.ts.map +1 -0
  102. package/dist/components/pdf-annotation/PdfAnnotationCanvas.client.d.ts +8 -0
  103. package/dist/components/pdf-annotation/PdfAnnotationCanvas.client.d.ts.map +1 -0
  104. package/dist/components/pdf-annotation/PdfAnnotationCanvas.d.ts +25 -0
  105. package/dist/components/pdf-annotation/PdfAnnotationCanvas.d.ts.map +1 -0
  106. package/dist/components/resource/AnnotateView.d.ts +29 -0
  107. package/dist/components/resource/AnnotateView.d.ts.map +1 -0
  108. package/dist/components/resource/AnnotationHistory.d.ts +14 -0
  109. package/dist/components/resource/AnnotationHistory.d.ts.map +1 -0
  110. package/dist/components/resource/BrowseView.d.ts +28 -0
  111. package/dist/components/resource/BrowseView.d.ts.map +1 -0
  112. package/dist/components/resource/HistoryEvent.d.ts +19 -0
  113. package/dist/components/resource/HistoryEvent.d.ts.map +1 -0
  114. package/dist/components/resource/ResourceViewer.d.ts +46 -0
  115. package/dist/components/resource/ResourceViewer.d.ts.map +1 -0
  116. package/dist/components/resource/event-formatting.d.ts +61 -0
  117. package/dist/components/resource/event-formatting.d.ts.map +1 -0
  118. package/dist/components/resource/panels/AssessmentEntry.d.ts +11 -0
  119. package/dist/components/resource/panels/AssessmentEntry.d.ts.map +1 -0
  120. package/dist/components/resource/panels/AssessmentPanel.d.ts +32 -0
  121. package/dist/components/resource/panels/AssessmentPanel.d.ts.map +1 -0
  122. package/dist/components/resource/panels/AssistSection.d.ts +27 -0
  123. package/dist/components/resource/panels/AssistSection.d.ts.map +1 -0
  124. package/dist/components/resource/panels/CollaborationPanel.d.ts +28 -0
  125. package/dist/components/resource/panels/CollaborationPanel.d.ts.map +1 -0
  126. package/dist/components/resource/panels/CommentEntry.d.ts +12 -0
  127. package/dist/components/resource/panels/CommentEntry.d.ts.map +1 -0
  128. package/dist/components/resource/panels/CommentsPanel.d.ts +32 -0
  129. package/dist/components/resource/panels/CommentsPanel.d.ts.map +1 -0
  130. package/dist/components/resource/panels/HighlightEntry.d.ts +11 -0
  131. package/dist/components/resource/panels/HighlightEntry.d.ts.map +1 -0
  132. package/dist/components/resource/panels/HighlightPanel.d.ts +30 -0
  133. package/dist/components/resource/panels/HighlightPanel.d.ts.map +1 -0
  134. package/dist/components/resource/panels/JsonLdPanel.d.ts +9 -0
  135. package/dist/components/resource/panels/JsonLdPanel.d.ts.map +1 -0
  136. package/dist/components/resource/panels/PanelHeader.d.ts +13 -0
  137. package/dist/components/resource/panels/PanelHeader.d.ts.map +1 -0
  138. package/dist/components/resource/panels/ReferenceEntry.d.ts +15 -0
  139. package/dist/components/resource/panels/ReferenceEntry.d.ts.map +1 -0
  140. package/dist/components/resource/panels/ReferencesPanel.d.ts +43 -0
  141. package/dist/components/resource/panels/ReferencesPanel.d.ts.map +1 -0
  142. package/dist/components/resource/panels/ResourceInfoPanel.d.ts +27 -0
  143. package/dist/components/resource/panels/ResourceInfoPanel.d.ts.map +1 -0
  144. package/dist/components/resource/panels/StatisticsPanel.d.ts +12 -0
  145. package/dist/components/resource/panels/StatisticsPanel.d.ts.map +1 -0
  146. package/dist/components/resource/panels/TagEntry.d.ts +11 -0
  147. package/dist/components/resource/panels/TagEntry.d.ts.map +1 -0
  148. package/dist/components/resource/panels/TaggingPanel.d.ts +34 -0
  149. package/dist/components/resource/panels/TaggingPanel.d.ts.map +1 -0
  150. package/dist/components/resource/panels/UnifiedAnnotationsPanel.d.ts +52 -0
  151. package/dist/components/resource/panels/UnifiedAnnotationsPanel.d.ts.map +1 -0
  152. package/dist/components/resource/panels/agent-label.d.ts +11 -0
  153. package/dist/components/resource/panels/agent-label.d.ts.map +1 -0
  154. package/dist/components/settings/SettingsPanel.d.ts +19 -0
  155. package/dist/components/settings/SettingsPanel.d.ts.map +1 -0
  156. package/dist/components/viewers/ImageViewer.d.ts +8 -0
  157. package/dist/components/viewers/ImageViewer.d.ts.map +1 -0
  158. package/dist/components/viewers/index.d.ts +2 -0
  159. package/dist/components/viewers/index.d.ts.map +1 -0
  160. package/dist/contexts/AnnotationContext.d.ts +46 -0
  161. package/dist/contexts/AnnotationContext.d.ts.map +1 -0
  162. package/dist/contexts/ResourceAnnotationsContext.d.ts +14 -0
  163. package/dist/contexts/ResourceAnnotationsContext.d.ts.map +1 -0
  164. package/dist/contexts/RoutingContext.d.ts +59 -0
  165. package/dist/contexts/RoutingContext.d.ts.map +1 -0
  166. package/dist/contexts/ThemeContext.d.ts +15 -0
  167. package/dist/contexts/ThemeContext.d.ts.map +1 -0
  168. package/dist/contexts/TranslationContext.d.ts +51 -0
  169. package/dist/contexts/TranslationContext.d.ts.map +1 -0
  170. package/dist/contexts/useEventSubscription.d.ts +41 -0
  171. package/dist/contexts/useEventSubscription.d.ts.map +1 -0
  172. package/dist/{cs-XYHH7HNE.mjs → cs-PTWDM23V.js} +3 -21
  173. package/dist/cs-PTWDM23V.js.map +1 -0
  174. package/dist/{da-MZKIECVT.mjs → da-KSNIKYSS.js} +3 -21
  175. package/dist/da-KSNIKYSS.js.map +1 -0
  176. package/dist/{de-AYXTMRQW.mjs → de-F2XBEWFY.js} +3 -21
  177. package/dist/de-F2XBEWFY.js.map +1 -0
  178. package/dist/design-tokens/index.d.ts +178 -0
  179. package/dist/design-tokens/index.d.ts.map +1 -0
  180. package/dist/{el-A6CVQWAW.mjs → el-DLD2GWAP.js} +3 -21
  181. package/dist/el-DLD2GWAP.js.map +1 -0
  182. package/dist/{en-YPQQBI4T.mjs → en-L45VK7BS.js} +3 -3
  183. package/dist/{es-M2HXLJGT.mjs → es-WLPYWGB5.js} +3 -21
  184. package/dist/es-WLPYWGB5.js.map +1 -0
  185. package/dist/{fa-V6JZJDYP.mjs → fa-BAXHSDZG.js} +3 -21
  186. package/dist/fa-BAXHSDZG.js.map +1 -0
  187. package/dist/features/admin-devops/components/AdminDevOpsPage.d.ts +33 -0
  188. package/dist/features/admin-devops/components/AdminDevOpsPage.d.ts.map +1 -0
  189. package/dist/features/admin-exchange/components/AdminExchangePage.d.ts +37 -0
  190. package/dist/features/admin-exchange/components/AdminExchangePage.d.ts.map +1 -0
  191. package/dist/features/admin-exchange/components/ExportCard.d.ts +18 -0
  192. package/dist/features/admin-exchange/components/ExportCard.d.ts.map +1 -0
  193. package/dist/features/admin-exchange/components/ImportCard.d.ts +32 -0
  194. package/dist/features/admin-exchange/components/ImportCard.d.ts.map +1 -0
  195. package/dist/features/admin-exchange/components/ImportProgress.d.ts +26 -0
  196. package/dist/features/admin-exchange/components/ImportProgress.d.ts.map +1 -0
  197. package/dist/features/admin-exchange/state/exchange-state-unit.d.ts +31 -0
  198. package/dist/features/admin-exchange/state/exchange-state-unit.d.ts.map +1 -0
  199. package/dist/features/admin-security/components/AdminSecurityPage.d.ts +42 -0
  200. package/dist/features/admin-security/components/AdminSecurityPage.d.ts.map +1 -0
  201. package/dist/features/admin-security/state/admin-security-state-unit.d.ts +12 -0
  202. package/dist/features/admin-security/state/admin-security-state-unit.d.ts.map +1 -0
  203. package/dist/features/admin-users/components/AdminUsersPage.d.ts +88 -0
  204. package/dist/features/admin-users/components/AdminUsersPage.d.ts.map +1 -0
  205. package/dist/features/admin-users/state/admin-users-state-unit.d.ts +17 -0
  206. package/dist/features/admin-users/state/admin-users-state-unit.d.ts.map +1 -0
  207. package/dist/features/auth/components/AuthErrorDisplay.d.ts +34 -0
  208. package/dist/features/auth/components/AuthErrorDisplay.d.ts.map +1 -0
  209. package/dist/features/auth/components/SignInForm.d.ts +80 -0
  210. package/dist/features/auth/components/SignInForm.d.ts.map +1 -0
  211. package/dist/features/auth/components/SignUpForm.d.ts +39 -0
  212. package/dist/features/auth/components/SignUpForm.d.ts.map +1 -0
  213. package/dist/features/auth-welcome/components/WelcomePage.d.ts +62 -0
  214. package/dist/features/auth-welcome/components/WelcomePage.d.ts.map +1 -0
  215. package/dist/features/auth-welcome/state/welcome-state-unit.d.ts +12 -0
  216. package/dist/features/auth-welcome/state/welcome-state-unit.d.ts.map +1 -0
  217. package/dist/features/moderate-entity-tags/components/EntityTagsPage.d.ts +32 -0
  218. package/dist/features/moderate-entity-tags/components/EntityTagsPage.d.ts.map +1 -0
  219. package/dist/features/moderate-entity-tags/state/entity-tags-state-unit.d.ts +16 -0
  220. package/dist/features/moderate-entity-tags/state/entity-tags-state-unit.d.ts.map +1 -0
  221. package/dist/features/moderate-recent/components/RecentDocumentsPage.d.ts +27 -0
  222. package/dist/features/moderate-recent/components/RecentDocumentsPage.d.ts.map +1 -0
  223. package/dist/features/moderate-tag-schemas/components/TagSchemasPage.d.ts +25 -0
  224. package/dist/features/moderate-tag-schemas/components/TagSchemasPage.d.ts.map +1 -0
  225. package/dist/features/moderation-linked-data/components/LinkedDataPage.d.ts +38 -0
  226. package/dist/features/moderation-linked-data/components/LinkedDataPage.d.ts.map +1 -0
  227. package/dist/features/resource-compose/components/ResourceComposePage.d.ts +83 -0
  228. package/dist/features/resource-compose/components/ResourceComposePage.d.ts.map +1 -0
  229. package/dist/features/resource-compose/components/UploadProgressBar.d.ts +23 -0
  230. package/dist/features/resource-compose/components/UploadProgressBar.d.ts.map +1 -0
  231. package/dist/features/resource-compose/state/compose-page-state-unit.d.ts +59 -0
  232. package/dist/features/resource-compose/state/compose-page-state-unit.d.ts.map +1 -0
  233. package/dist/features/resource-discovery/components/ResourceCard.d.ts +17 -0
  234. package/dist/features/resource-discovery/components/ResourceCard.d.ts.map +1 -0
  235. package/dist/features/resource-discovery/components/ResourceDiscoveryPage.d.ts +43 -0
  236. package/dist/features/resource-discovery/components/ResourceDiscoveryPage.d.ts.map +1 -0
  237. package/dist/features/resource-discovery/state/discover-state-unit.d.ts +15 -0
  238. package/dist/features/resource-discovery/state/discover-state-unit.d.ts.map +1 -0
  239. package/dist/features/resource-viewer/components/ResourceViewerPage.d.ts +80 -0
  240. package/dist/features/resource-viewer/components/ResourceViewerPage.d.ts.map +1 -0
  241. package/dist/features/resource-viewer/state/resource-loader-state-unit.d.ts +11 -0
  242. package/dist/features/resource-viewer/state/resource-loader-state-unit.d.ts.map +1 -0
  243. package/dist/features/resource-viewer/state/resource-viewer-page-state-unit.d.ts +48 -0
  244. package/dist/features/resource-viewer/state/resource-viewer-page-state-unit.d.ts.map +1 -0
  245. package/dist/{fi-ONDTZ5H7.mjs → fi-FCHSYVOT.js} +3 -21
  246. package/dist/fi-FCHSYVOT.js.map +1 -0
  247. package/dist/{fr-PAPV4H4G.mjs → fr-3UERBSL6.js} +3 -21
  248. package/dist/fr-3UERBSL6.js.map +1 -0
  249. package/dist/{he-F6VTLJLW.mjs → he-F6F3FV2K.js} +3 -21
  250. package/dist/he-F6F3FV2K.js.map +1 -0
  251. package/dist/{hi-CFUAV4BF.mjs → hi-4BK6IK7Q.js} +3 -21
  252. package/dist/hi-4BK6IK7Q.js.map +1 -0
  253. package/dist/hooks/useDebounce.d.ts +29 -0
  254. package/dist/hooks/useDebounce.d.ts.map +1 -0
  255. package/dist/hooks/useDragAnnouncements.d.ts +12 -0
  256. package/dist/hooks/useDragAnnouncements.d.ts.map +1 -0
  257. package/dist/hooks/useHoverDelay.d.ts +8 -0
  258. package/dist/hooks/useHoverDelay.d.ts.map +1 -0
  259. package/dist/hooks/useHoverEmitter.d.ts +8 -0
  260. package/dist/hooks/useHoverEmitter.d.ts.map +1 -0
  261. package/dist/hooks/useKeyboardShortcuts.d.ts +29 -0
  262. package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  263. package/dist/hooks/useLineNumbers.d.ts +8 -0
  264. package/dist/hooks/useLineNumbers.d.ts.map +1 -0
  265. package/dist/hooks/useMediaToken.d.ts +7 -0
  266. package/dist/hooks/useMediaToken.d.ts.map +1 -0
  267. package/dist/hooks/useObservable.d.ts +23 -0
  268. package/dist/hooks/useObservable.d.ts.map +1 -0
  269. package/dist/hooks/useObservableBrowse.d.ts +70 -0
  270. package/dist/hooks/useObservableBrowse.d.ts.map +1 -0
  271. package/dist/hooks/usePanelWidth.d.ts +37 -0
  272. package/dist/hooks/usePanelWidth.d.ts.map +1 -0
  273. package/dist/hooks/useResourceContent.d.ts +7 -0
  274. package/dist/hooks/useResourceContent.d.ts.map +1 -0
  275. package/dist/hooks/useRovingTabIndex.d.ts +13 -0
  276. package/dist/hooks/useRovingTabIndex.d.ts.map +1 -0
  277. package/dist/hooks/useSearchAnnouncements.d.ts +10 -0
  278. package/dist/hooks/useSearchAnnouncements.d.ts.map +1 -0
  279. package/dist/hooks/useSessionExpiry.d.ts +10 -0
  280. package/dist/hooks/useSessionExpiry.d.ts.map +1 -0
  281. package/dist/hooks/useShellStateUnit.d.ts +9 -0
  282. package/dist/hooks/useShellStateUnit.d.ts.map +1 -0
  283. package/dist/hooks/useStateUnit.d.ts +3 -0
  284. package/dist/hooks/useStateUnit.d.ts.map +1 -0
  285. package/dist/hooks/useUI.d.ts +24 -0
  286. package/dist/hooks/useUI.d.ts.map +1 -0
  287. package/dist/{id-NBKLCCI7.mjs → id-7ECCWP3J.js} +3 -21
  288. package/dist/id-7ECCWP3J.js.map +1 -0
  289. package/dist/index.d.ts +150 -0
  290. package/dist/index.d.ts.map +1 -0
  291. package/dist/{index.mjs → index.js} +155 -305
  292. package/dist/index.js.map +1 -0
  293. package/dist/integrations/css-modules-helper.d.ts +114 -0
  294. package/dist/integrations/css-modules-helper.d.ts.map +1 -0
  295. package/dist/integrations/styled-components-theme.d.ts +95 -0
  296. package/dist/integrations/styled-components-theme.d.ts.map +1 -0
  297. package/dist/integrations/tailwind-plugin.d.cts +3 -0
  298. package/dist/integrations/tailwind-plugin.d.cts.map +1 -0
  299. package/dist/{it-SLSOWVVU.mjs → it-234Z6XK6.js} +3 -21
  300. package/dist/it-234Z6XK6.js.map +1 -0
  301. package/dist/{ja-L5IG4ECE.mjs → ja-PJWQI4OQ.js} +3 -21
  302. package/dist/ja-PJWQI4OQ.js.map +1 -0
  303. package/dist/{ko-QYMTULKK.mjs → ko-APUEW2RS.js} +3 -21
  304. package/dist/ko-APUEW2RS.js.map +1 -0
  305. package/dist/lib/annotation-overlay.d.ts +71 -0
  306. package/dist/lib/annotation-overlay.d.ts.map +1 -0
  307. package/dist/lib/annotation-registry.d.ts +62 -0
  308. package/dist/lib/annotation-registry.d.ts.map +1 -0
  309. package/dist/lib/browser-pdfjs.d.ts +93 -0
  310. package/dist/lib/browser-pdfjs.d.ts.map +1 -0
  311. package/dist/lib/button-styles.d.ts +27 -0
  312. package/dist/lib/button-styles.d.ts.map +1 -0
  313. package/dist/lib/codemirror-handlers.d.ts +52 -0
  314. package/dist/lib/codemirror-handlers.d.ts.map +1 -0
  315. package/dist/lib/codemirror-json-theme.d.ts +8 -0
  316. package/dist/lib/codemirror-json-theme.d.ts.map +1 -0
  317. package/dist/lib/codemirror-logic.d.ts +66 -0
  318. package/dist/lib/codemirror-logic.d.ts.map +1 -0
  319. package/dist/lib/codemirror-widgets.d.ts +39 -0
  320. package/dist/lib/codemirror-widgets.d.ts.map +1 -0
  321. package/dist/lib/formatTime.d.ts +2 -0
  322. package/dist/lib/formatTime.d.ts.map +1 -0
  323. package/dist/lib/media-shapes.d.ts +51 -0
  324. package/dist/lib/media-shapes.d.ts.map +1 -0
  325. package/dist/lib/pdf-coordinates.d.ts +69 -0
  326. package/dist/lib/pdf-coordinates.d.ts.map +1 -0
  327. package/dist/lib/resource-utils.d.ts +22 -0
  328. package/dist/lib/resource-utils.d.ts.map +1 -0
  329. package/dist/lib/scroll-utils.d.ts +20 -0
  330. package/dist/lib/scroll-utils.d.ts.map +1 -0
  331. package/dist/lib/text-segmentation.d.ts +25 -0
  332. package/dist/lib/text-segmentation.d.ts.map +1 -0
  333. package/dist/lib/text-selection-handler.d.ts +46 -0
  334. package/dist/lib/text-selection-handler.d.ts.map +1 -0
  335. package/dist/lib/validation.d.ts +47 -0
  336. package/dist/lib/validation.d.ts.map +1 -0
  337. package/dist/{ms-5DGSFKM2.mjs → ms-PJBZWZWD.js} +3 -21
  338. package/dist/ms-PJBZWZWD.js.map +1 -0
  339. package/dist/{nl-VZPCGONO.mjs → nl-L4C3ZBCU.js} +3 -21
  340. package/dist/nl-L4C3ZBCU.js.map +1 -0
  341. package/dist/{no-MF6F352I.mjs → no-QE5N5KNG.js} +3 -21
  342. package/dist/no-QE5N5KNG.js.map +1 -0
  343. package/dist/{pl-WIK72JUO.mjs → pl-5Q2D23PD.js} +3 -21
  344. package/dist/pl-5Q2D23PD.js.map +1 -0
  345. package/dist/{pt-RRP5ZF6A.mjs → pt-AIGUOIOC.js} +3 -21
  346. package/dist/pt-AIGUOIOC.js.map +1 -0
  347. package/dist/{ro-XHQLC3T7.mjs → ro-T56CSHTY.js} +3 -21
  348. package/dist/ro-T56CSHTY.js.map +1 -0
  349. package/dist/session/SemiontProvider.d.ts +28 -0
  350. package/dist/session/SemiontProvider.d.ts.map +1 -0
  351. package/dist/session/web-browser-storage.d.ts +19 -0
  352. package/dist/session/web-browser-storage.d.ts.map +1 -0
  353. package/dist/state/session-state-unit.d.ts +9 -0
  354. package/dist/state/session-state-unit.d.ts.map +1 -0
  355. package/dist/state/shell-state-unit.d.ts +33 -0
  356. package/dist/state/shell-state-unit.d.ts.map +1 -0
  357. package/dist/{sv-EWULDN6E.mjs → sv-L4TJQ2UH.js} +3 -21
  358. package/dist/sv-L4TJQ2UH.js.map +1 -0
  359. package/dist/{test-utils.d.mts → test-utils.d.ts} +18 -21
  360. package/dist/test-utils.d.ts.map +1 -0
  361. package/dist/{test-utils.mjs → test-utils.js} +5 -5
  362. package/dist/{th-TGOBHFG4.mjs → th-6O7Y6O2Q.js} +3 -21
  363. package/dist/th-6O7Y6O2Q.js.map +1 -0
  364. package/dist/{tr-LMMPBMV7.mjs → tr-D4CQCSNO.js} +3 -21
  365. package/dist/tr-D4CQCSNO.js.map +1 -0
  366. package/dist/types/AnnotationManager.d.ts +53 -0
  367. package/dist/types/AnnotationManager.d.ts.map +1 -0
  368. package/dist/{TranslationManager-9Xj3MIWQ.d.mts → types/TranslationManager.d.ts} +2 -3
  369. package/dist/types/TranslationManager.d.ts.map +1 -0
  370. package/dist/types/annotation-props.d.ts +108 -0
  371. package/dist/types/annotation-props.d.ts.map +1 -0
  372. package/dist/types/collapsible-navigation.d.ts +69 -0
  373. package/dist/types/collapsible-navigation.d.ts.map +1 -0
  374. package/dist/types/modals.d.ts +77 -0
  375. package/dist/types/modals.d.ts.map +1 -0
  376. package/dist/types/navigation.d.ts +35 -0
  377. package/dist/types/navigation.d.ts.map +1 -0
  378. package/dist/types/resource-viewer.d.ts +19 -0
  379. package/dist/types/resource-viewer.d.ts.map +1 -0
  380. package/dist/types/simple-navigation.d.ts +15 -0
  381. package/dist/types/simple-navigation.d.ts.map +1 -0
  382. package/dist/types/translation.d.ts +5 -0
  383. package/dist/types/translation.d.ts.map +1 -0
  384. package/dist/{uk-IPGRRJY6.mjs → uk-2HMQG6ND.js} +3 -21
  385. package/dist/uk-2HMQG6ND.js.map +1 -0
  386. package/dist/{vi-Q676OJQS.mjs → vi-XVJ4RUEJ.js} +3 -21
  387. package/dist/vi-XVJ4RUEJ.js.map +1 -0
  388. package/dist/{zh-F3MTWQDX.mjs → zh-K2KDPGHK.js} +3 -21
  389. package/dist/zh-K2KDPGHK.js.map +1 -0
  390. package/package.json +19 -18
  391. package/src/components/resource/HistoryEvent.tsx +0 -3
  392. package/src/components/resource/__tests__/HistoryEvent.test.tsx +1 -4
  393. package/src/components/resource/__tests__/event-formatting.test.ts +2 -14
  394. package/src/components/resource/event-formatting.ts +3 -4
  395. package/src/components/resource/panels/AssessmentEntry.tsx +4 -1
  396. package/src/components/resource/panels/CommentEntry.tsx +4 -1
  397. package/src/components/resource/panels/HighlightEntry.tsx +4 -1
  398. package/src/components/resource/panels/ReferenceEntry.tsx +4 -1
  399. package/src/components/resource/panels/ResourceInfoPanel.tsx +11 -23
  400. package/src/components/resource/panels/TagEntry.tsx +17 -3
  401. package/src/components/resource/panels/TaggingPanel.tsx +83 -41
  402. package/src/components/resource/panels/__tests__/CommentEntry.test.tsx +2 -2
  403. package/src/components/resource/panels/__tests__/ResourceInfoPanel.test.tsx +12 -16
  404. package/src/components/resource/panels/__tests__/TagEntry.test.tsx +26 -19
  405. package/src/components/resource/panels/__tests__/TaggingPanel.test.tsx +128 -38
  406. package/src/components/resource/panels/__tests__/agent-label.test.ts +93 -0
  407. package/src/components/resource/panels/agent-label.ts +20 -0
  408. package/src/features/moderate-tag-schemas/components/TagSchemasPage.tsx +3 -3
  409. package/src/features/resource-compose/state/compose-page-state-unit.ts +0 -1
  410. package/src/features/resource-viewer/components/ResourceViewerPage.tsx +0 -1
  411. package/translations/ar.json +1 -19
  412. package/translations/bn.json +1 -19
  413. package/translations/cs.json +1 -19
  414. package/translations/da.json +1 -19
  415. package/translations/de.json +1 -19
  416. package/translations/el.json +1 -19
  417. package/translations/en.json +3 -21
  418. package/translations/es.json +1 -19
  419. package/translations/fa.json +1 -19
  420. package/translations/fi.json +1 -19
  421. package/translations/fr.json +1 -19
  422. package/translations/he.json +1 -19
  423. package/translations/hi.json +1 -19
  424. package/translations/id.json +1 -19
  425. package/translations/it.json +1 -19
  426. package/translations/ja.json +1 -19
  427. package/translations/ko.json +1 -19
  428. package/translations/ms.json +1 -19
  429. package/translations/nl.json +1 -19
  430. package/translations/no.json +1 -19
  431. package/translations/pl.json +1 -19
  432. package/translations/pt.json +1 -19
  433. package/translations/ro.json +1 -19
  434. package/translations/sv.json +1 -19
  435. package/translations/th.json +1 -19
  436. package/translations/tr.json +1 -19
  437. package/translations/uk.json +1 -19
  438. package/translations/vi.json +1 -19
  439. package/translations/zh.json +1 -19
  440. package/dist/ar-3W37O3R3.mjs.map +0 -1
  441. package/dist/bn-JZTJLMVE.mjs.map +0 -1
  442. package/dist/chunk-NOD3NCXE.mjs.map +0 -1
  443. package/dist/cs-XYHH7HNE.mjs.map +0 -1
  444. package/dist/da-MZKIECVT.mjs.map +0 -1
  445. package/dist/de-AYXTMRQW.mjs.map +0 -1
  446. package/dist/el-A6CVQWAW.mjs.map +0 -1
  447. package/dist/es-M2HXLJGT.mjs.map +0 -1
  448. package/dist/fa-V6JZJDYP.mjs.map +0 -1
  449. package/dist/fi-ONDTZ5H7.mjs.map +0 -1
  450. package/dist/fr-PAPV4H4G.mjs.map +0 -1
  451. package/dist/he-F6VTLJLW.mjs.map +0 -1
  452. package/dist/hi-CFUAV4BF.mjs.map +0 -1
  453. package/dist/id-NBKLCCI7.mjs.map +0 -1
  454. package/dist/index.d.mts +0 -3548
  455. package/dist/index.mjs.map +0 -1
  456. package/dist/it-SLSOWVVU.mjs.map +0 -1
  457. package/dist/ja-L5IG4ECE.mjs.map +0 -1
  458. package/dist/ko-QYMTULKK.mjs.map +0 -1
  459. package/dist/ms-5DGSFKM2.mjs.map +0 -1
  460. package/dist/nl-VZPCGONO.mjs.map +0 -1
  461. package/dist/no-MF6F352I.mjs.map +0 -1
  462. package/dist/pl-WIK72JUO.mjs.map +0 -1
  463. package/dist/pt-RRP5ZF6A.mjs.map +0 -1
  464. package/dist/ro-XHQLC3T7.mjs.map +0 -1
  465. package/dist/sv-EWULDN6E.mjs.map +0 -1
  466. package/dist/th-TGOBHFG4.mjs.map +0 -1
  467. package/dist/tr-LMMPBMV7.mjs.map +0 -1
  468. package/dist/uk-IPGRRJY6.mjs.map +0 -1
  469. package/dist/vi-Q676OJQS.mjs.map +0 -1
  470. package/dist/zh-F3MTWQDX.mjs.map +0 -1
  471. /package/dist/{PdfAnnotationCanvas.client-5QESNO5H.mjs.map → PdfAnnotationCanvas.client-CN3C3S55.js.map} +0 -0
  472. /package/dist/{chunk-7VWNZ5YX.mjs.map → chunk-3Q3TUKWP.js.map} +0 -0
  473. /package/dist/{chunk-D4GAAQMM.mjs.map → chunk-K6BJDL2I.js.map} +0 -0
  474. /package/dist/{en-YPQQBI4T.mjs.map → en-L45VK7BS.js.map} +0 -0
  475. /package/dist/{test-utils.mjs.map → test-utils.js.map} +0 -0
  476. /package/src/integrations/{tailwind-plugin.js → tailwind-plugin.cjs} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnnotateView.d.ts","sourceRoot":"","sources":["../../../src/components/resource/AnnotateView.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAmB,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC5H,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAG7F,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;AAE5D,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,qBAAqB,CAAC;IACnC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACnE,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,QAAuB,EACvB,WAAW,EACX,WAAW,EACX,OAAO,EACP,eAAe,EACf,aAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,eAAuB,EACvB,YAAkB,EAClB,YAAY,EACb,EAAE,KAAK,2CAkPP"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { RouteBuilder, LinkComponentProps } from '../../contexts/RoutingContext';
3
+ import type { ResourceId } from '@semiont/core';
4
+ interface Props {
5
+ rUri: ResourceId;
6
+ hoveredAnnotationId?: string | null;
7
+ onEventHover?: (annotationId: string | null) => void;
8
+ onEventClick?: (annotationId: string | null) => void;
9
+ Link: React.ComponentType<LinkComponentProps>;
10
+ routes: RouteBuilder;
11
+ }
12
+ export declare function AnnotationHistory({ rUri, hoveredAnnotationId, onEventHover, onEventClick, Link, routes }: Props): import("react/jsx-runtime").JSX.Element | null;
13
+ export {};
14
+ //# sourceMappingURL=AnnotationHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnnotationHistory.d.ts","sourceRoot":"","sources":["../../../src/components/resource/AnnotationHistory.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,UAAU,KAAK;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC9C,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,kDA+G/G"}
@@ -0,0 +1,28 @@
1
+ import { type ClickAction } from '../annotation/AnnotateToolbar';
2
+ import type { AnnotationsCollection } from '../../types/annotation-props';
3
+ interface Props {
4
+ content: string;
5
+ mimeType: string;
6
+ resourceUri: string;
7
+ annotations: AnnotationsCollection;
8
+ hoveredAnnotationId?: string | null;
9
+ selectedClick?: ClickAction;
10
+ annotateMode: boolean;
11
+ hoverDelayMs?: number;
12
+ }
13
+ /**
14
+ * View component for browsing annotated resources in read-only mode.
15
+ *
16
+ * Two-layer rendering:
17
+ * - Layer 1: Markdown renders once (MemoizedMarkdown, cached by content)
18
+ * - Layer 2: Annotation overlay applied via DOM Range API after paint
19
+ *
20
+ * @emits browse:click - User clicked on annotation. Payload: { annotationId: string, motivation: Motivation }
21
+ * @emits beckon:hover - User hovered over annotation. Payload: { annotationId: string | null }
22
+ *
23
+ * @subscribes beckon:hover - Highlight annotation on hover. Payload: { annotationId: string | null }
24
+ * @subscribes beckon:focus - Scroll to and highlight annotation. Payload: { annotationId: string }
25
+ */
26
+ export declare const BrowseView: import("react").MemoExoticComponent<({ content, mimeType, resourceUri, annotations, selectedClick, annotateMode, hoverDelayMs }: Props) => import("react/jsx-runtime").JSX.Element>;
27
+ export {};
28
+ //# sourceMappingURL=BrowseView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrowseView.d.ts","sourceRoot":"","sources":["../../../src/components/resource/BrowseView.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAkB1E,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,qBAAqB,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAoBD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,mIAQpB,KAAK,6CAsNN,CAAC"}
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import type { RouteBuilder, LinkComponentProps } from '../../contexts/RoutingContext';
3
+ import type { StoredEventLike } from '@semiont/core';
4
+ type TranslateFn = (key: string, params?: Record<string, string | number>) => string;
5
+ interface Props {
6
+ event: StoredEventLike;
7
+ annotations: any[];
8
+ allEvents: StoredEventLike[];
9
+ isRelated: boolean;
10
+ t: TranslateFn;
11
+ Link: React.ComponentType<LinkComponentProps>;
12
+ routes: RouteBuilder;
13
+ onEventRef?: (annotationId: string | null, element: HTMLElement | null) => void;
14
+ onEventClick?: (annotationId: string | null) => void;
15
+ onEventHover?: (annotationId: string | null) => void;
16
+ }
17
+ export declare function HistoryEvent({ event, annotations, allEvents, isRelated, t, Link, routes, onEventRef, onEventClick, onEventHover }: Props): import("react/jsx-runtime").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=HistoryEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HistoryEvent.d.ts","sourceRoot":"","sources":["../../../src/components/resource/HistoryEvent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAsB,MAAM,eAAe,CAAC;AAYzE,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;AAErF,UAAU,KAAK;IACb,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,CAAC,EAAE,WAAW,CAAC;IACf,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC9C,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAChF,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACrD,YAAY,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACtD;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,WAAW,EACX,SAAS,EACT,SAAS,EACT,CAAC,EACD,IAAI,EACJ,MAAM,EACN,UAAU,EACV,YAAY,EACZ,YAAY,EACb,EAAE,KAAK,2CAmIP"}
@@ -0,0 +1,46 @@
1
+ import type { ResourceDescriptor as SemiontResource } from '@semiont/core';
2
+ import type { AnnotationsCollection } from '../../types/annotation-props';
3
+ /**
4
+ * ResourceViewer - Display and interact with resource content and annotations
5
+ *
6
+ * This component uses event-driven architecture for real-time updates:
7
+ * - Subscribes to make-meaning events (mark:added, mark:removed, mark:body-updated)
8
+ * - Automatically invalidates cache when annotations change
9
+ * - No manual refetch needed - events handle cache invalidation
10
+ *
11
+ * Requirements:
12
+ * - Must be wrapped in SemiontProvider (which owns the session's event bus)
13
+ * - Must be wrapped in CacheContext (provides cache manager)
14
+ *
15
+ * Event flow:
16
+ * make-meaning → EventLog → SSE → EventBus → ResourceViewer → Cache invalidation
17
+ *
18
+ * Phase 2 complete: Event-based cache invalidation replaces manual refetch
19
+ * Phase 3 complete: Fully event-driven - all user interactions use unified event bus
20
+ */
21
+ interface Props {
22
+ resource: SemiontResource & {
23
+ content: string;
24
+ };
25
+ annotations: AnnotationsCollection;
26
+ generatingReferenceId?: string | null;
27
+ showLineNumbers?: boolean;
28
+ hoverDelayMs?: number;
29
+ hoveredAnnotationId?: string | null;
30
+ }
31
+ /**
32
+ * @emits mark:delete - User requested to delete annotation. Payload: { annotationId: string }
33
+ * @emits panel:open - Request to open panel with annotation. Payload: { panel: string, scrollToAnnotationId?: string, motivation?: Motivation }
34
+ *
35
+ * @subscribes mark:mode-toggled - Toggles between browse and annotate mode. Payload: { mode: 'browse' | 'annotate' }
36
+ * @subscribes mark:added - New annotation was added. Payload: { annotation: Annotation }
37
+ * @subscribes mark:removed - Annotation was removed. Payload: { annotationId: string }
38
+ * @subscribes mark:body-updated - Annotation was updated. Payload: { annotation: Annotation }
39
+ * @subscribes mark:selection-changed - Text selection tool changed. Payload: { selection: boolean }
40
+ * @subscribes mark:click-changed - Click annotation tool changed. Payload: { click: 'detail' | 'scroll' | null }
41
+ * @subscribes mark:shape-changed - Drawing shape changed. Payload: { shape: string }
42
+ * @subscribes browse:click - User clicked on annotation. Payload: { annotationId: string }
43
+ */
44
+ export declare function ResourceViewer({ resource, annotations, generatingReferenceId, showLineNumbers, hoverDelayMs, hoveredAnnotationId: hoveredAnnotationIdProp }: Props): import("react/jsx-runtime").JSX.Element;
45
+ export {};
46
+ //# sourceMappingURL=ResourceViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceViewer.d.ts","sourceRoot":"","sources":["../../../src/components/resource/ResourceViewer.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAA4B,kBAAkB,IAAI,eAAe,EAAc,MAAM,eAAe,CAAC;AAOjH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAG1E;;;;;;;;;;;;;;;;;GAiBG;AACH,UAAU,KAAK;IACb,QAAQ,EAAE,eAAe,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,WAAW,EAAE,qBAAqB,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,WAAW,EACX,qBAAqB,EACrB,eAAuB,EACvB,YAAY,EACZ,mBAAmB,EAAE,uBAAuB,EAC7C,EAAE,KAAK,2CA8ZP"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Event Formatting Utilities
3
+ *
4
+ * Display and formatting utilities for resource events.
5
+ * No React dependencies - safe to use in any JavaScript environment.
6
+ */
7
+ import type { StoredEventLike, PersistedEventType } from '@semiont/core';
8
+ import type { Annotation } from '@semiont/core';
9
+ type TranslateFn = (key: string, params?: Record<string, string | number>) => string;
10
+ /**
11
+ * Format a DID or user ID for display.
12
+ *
13
+ * did:web:example.com:users:admin%40example.com → admin@example.com
14
+ * did:web:system:smelter → Smelter
15
+ * plain-string → plain-string
16
+ */
17
+ export declare function formatUserId(userId: string): string;
18
+ /**
19
+ * Format event type for display with i18n support
20
+ */
21
+ export declare function formatEventType(type: PersistedEventType, t: TranslateFn, payload?: any): string;
22
+ /**
23
+ * Get emoji for event type
24
+ * For unified annotation events, pass the payload to determine motivation
25
+ */
26
+ export declare function getEventEmoji(type: PersistedEventType, payload?: any): string;
27
+ /**
28
+ * Format timestamp as relative time with i18n support
29
+ */
30
+ export declare function formatRelativeTime(timestamp: string, t: TranslateFn): string;
31
+ /**
32
+ * Get display content from event payload - complete implementation
33
+ */
34
+ export declare function getEventDisplayContent(event: StoredEventLike, annotations: Annotation[], // Unified annotations array (all types)
35
+ allEvents: StoredEventLike[]): {
36
+ exact: string;
37
+ isQuoted: boolean;
38
+ isTag: boolean;
39
+ } | null;
40
+ /**
41
+ * Get entity types from event payload
42
+ */
43
+ export declare function getEventEntityTypes(event: StoredEventLike): string[];
44
+ /**
45
+ * Resource creation details derived from a yield:created or yield:cloned
46
+ * event. The creation kind (`type`) is read from the event channel —
47
+ * the redundant `creationMethod` payload field is gone.
48
+ */
49
+ export interface ResourceCreationDetails {
50
+ type: 'created' | 'cloned';
51
+ userId?: string;
52
+ sourceDocId?: string;
53
+ parentResourceId?: string;
54
+ metadata?: Record<string, any>;
55
+ }
56
+ /**
57
+ * Get resource creation details from event
58
+ */
59
+ export declare function getResourceCreationDetails(event: StoredEventLike): ResourceCreationDetails | null;
60
+ export {};
61
+ //# sourceMappingURL=event-formatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-formatting.d.ts","sourceRoot":"","sources":["../../../src/components/resource/event-formatting.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,KAAK,WAAW,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;AAMrF;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAiBnD;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,kBAAkB,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM,CA2C/F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,MAAM,CA0C7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,GAAG,MAAM,CAc5E;AAUD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,UAAU,EAAE,EAAE,wCAAwC;AACnE,SAAS,EAAE,eAAe,EAAE,GAC3B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CA6G7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,EAAE,CAapE;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,eAAe,GAAG,uBAAuB,GAAG,IAAI,CAuBjG"}
@@ -0,0 +1,11 @@
1
+ import type { Ref } from 'react';
2
+ import type { Annotation } from '@semiont/core';
3
+ interface AssessmentEntryProps {
4
+ assessment: Annotation;
5
+ isFocused: boolean;
6
+ isHovered?: boolean;
7
+ ref?: Ref<HTMLDivElement>;
8
+ }
9
+ export declare function AssessmentEntry({ assessment, isFocused, isHovered, ref, }: AssessmentEntryProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=AssessmentEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssessmentEntry.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/AssessmentEntry.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAehD,UAAU,oBAAoB;IAC5B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AA+CD,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,SAAS,EACT,SAAiB,EACjB,GAAG,GACJ,EAAE,oBAAoB,2CA6CtB"}
@@ -0,0 +1,32 @@
1
+ import type { components, Selector } from '@semiont/core';
2
+ import './AssessmentPanel.css';
3
+ import type { Annotation } from '@semiont/core';
4
+ type Motivation = components['schemas']['Motivation'];
5
+ type JobProgress = components['schemas']['JobProgress'];
6
+ interface PendingAnnotation {
7
+ selector: Selector | Selector[];
8
+ motivation: Motivation;
9
+ }
10
+ interface AssessmentPanelProps {
11
+ annotations: Annotation[];
12
+ pendingAnnotation: PendingAnnotation | null;
13
+ isAssisting?: boolean;
14
+ progress?: JobProgress | null;
15
+ locale?: string;
16
+ /** BCP-47 tag of the resource being analyzed — forwarded to the assist call. */
17
+ sourceLanguage?: string;
18
+ annotateMode?: boolean;
19
+ scrollToAnnotationId?: string | null;
20
+ onScrollCompleted?: () => void;
21
+ hoveredAnnotationId?: string | null;
22
+ }
23
+ /**
24
+ * Panel for managing assessment annotations with text input
25
+ *
26
+ * @emits mark:create - Create new assessment annotation. Payload: { motivation: 'assessing', selector: Selector | Selector[], body: Body[] }
27
+ * @emits mark:cancel-pending - Cancel pending assessment annotation. Payload: undefined
28
+ * @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
29
+ */
30
+ export declare function AssessmentPanel({ annotations, pendingAnnotation, isAssisting, progress, locale, sourceLanguage, annotateMode, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: AssessmentPanelProps): import("react/jsx-runtime").JSX.Element;
31
+ export {};
32
+ //# sourceMappingURL=AssessmentPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssessmentPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/AssessmentPanel.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAK1D,OAAO,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,KAAK,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;AACtD,KAAK,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAGxD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;CACxB;AAmBD,UAAU,oBAAoB;IAC5B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,iBAAiB,EACjB,WAAmB,EACnB,QAAQ,EACR,MAAM,EACN,cAAc,EACd,YAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GACpB,EAAE,oBAAoB,2CAyMtB"}
@@ -0,0 +1,27 @@
1
+ import type { components } from '@semiont/core';
2
+ import './AssistSection.css';
3
+ type JobProgress = components['schemas']['JobProgress'];
4
+ interface AssistSectionProps {
5
+ annotationType: 'highlight' | 'assessment' | 'comment';
6
+ isAssisting: boolean;
7
+ /** User UI locale — written into the annotation body's `language` field for comment/assessment. */
8
+ locale?: string;
9
+ /** BCP-47 tag of the resource being analyzed. Forwarded to the prompt so the LLM analyzes non-English source correctly. */
10
+ sourceLanguage?: string;
11
+ progress?: JobProgress | null | undefined;
12
+ }
13
+ /**
14
+ * Shared assist section for Highlight, Assessment, and Comment panels
15
+ *
16
+ * Provides:
17
+ * - Optional instructions textarea
18
+ * - Optional tone selector (for comments)
19
+ * - Assist button with sparkle animation
20
+ * - Progress display during annotation assist
21
+ *
22
+ * @emits mark:assist-request - Start assist for annotation type. Payload: { motivation: Motivation, options: { instructions?: string, tone?: string, density?: number } }
23
+ * @emits mark:progress-dismiss - Dismiss the annotation progress display
24
+ */
25
+ export declare function AssistSection({ annotationType, isAssisting, locale, sourceLanguage, progress, }: AssistSectionProps): import("react/jsx-runtime").JSX.Element;
26
+ export {};
27
+ //# sourceMappingURL=AssistSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssistSection.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/AssistSection.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,qBAAqB,CAAC;AAE7B,KAAK,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAExD,UAAU,kBAAkB;IAC1B,cAAc,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC;IACvD,WAAW,EAAE,OAAO,CAAC;IACrB,mGAAmG;IACnG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2HAA2H;IAC3H,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;CAC3C;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAC5B,cAAc,EACd,WAAW,EACX,MAAM,EACN,cAAc,EACd,QAAQ,GACT,EAAE,kBAAkB,2CA8NpB"}
@@ -0,0 +1,28 @@
1
+ import type { ConnectionState } from '@semiont/core';
2
+ import './CollaborationPanel.css';
3
+ interface Props {
4
+ /**
5
+ * Connection state from `client.actor.state$`. See
6
+ * `packages/api-client/src/state/domain/actor-state-unit.ts`.
7
+ *
8
+ * UI mapping:
9
+ * `open` | `reconnecting` | `initial` | `connecting`
10
+ * → treated as "healthy" (green dot, "Live" label, event count visible).
11
+ * `reconnecting` is specifically INCLUDED in healthy because a
12
+ * brief reconnect (mount churn, channel-set change, quick blip)
13
+ * shouldn't alarm the user. The 100 ms reconnect debounce and
14
+ * sub-second fetch retry make `reconnecting` a transient state.
15
+ * `degraded` | `closed`
16
+ * → treated as "disconnected" (red dot, "Disconnected" label).
17
+ * `degraded` is the 3 s threshold at which the state machine
18
+ * decides the disconnect is sustained; this is the UI-banner
19
+ * trigger the plan was designed around.
20
+ */
21
+ state: ConnectionState;
22
+ eventCount: number;
23
+ lastEventTimestamp?: string;
24
+ knowledgeBaseName?: string;
25
+ }
26
+ export declare function CollaborationPanel({ state, eventCount, lastEventTimestamp, knowledgeBaseName }: Props): import("react/jsx-runtime").JSX.Element;
27
+ export {};
28
+ //# sourceMappingURL=CollaborationPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollaborationPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/CollaborationPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,0BAA0B,CAAC;AAElC,UAAU,KAAK;IACb;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EAClB,EAAE,KAAK,2CAoGP"}
@@ -0,0 +1,12 @@
1
+ import { type Ref } from 'react';
2
+ import type { Annotation } from '@semiont/core';
3
+ interface CommentEntryProps {
4
+ comment: Annotation;
5
+ isFocused: boolean;
6
+ isHovered?: boolean;
7
+ annotateMode?: boolean;
8
+ ref?: Ref<HTMLDivElement>;
9
+ }
10
+ export declare function CommentEntry({ comment, isFocused, isHovered, annotateMode, ref, }: CommentEntryProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=CommentEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommentEntry.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/CommentEntry.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoD,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAEnF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAOhD,UAAU,iBAAiB;IACzB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAmBD,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,SAAS,EACT,SAAiB,EACjB,YAAmB,EACnB,GAAG,GACJ,EAAE,iBAAiB,2CAyHnB"}
@@ -0,0 +1,32 @@
1
+ import type { components, Selector } from '@semiont/core';
2
+ import './CommentsPanel.css';
3
+ import type { Annotation } from '@semiont/core';
4
+ type Motivation = components['schemas']['Motivation'];
5
+ type JobProgress = components['schemas']['JobProgress'];
6
+ interface PendingAnnotation {
7
+ selector: Selector | Selector[];
8
+ motivation: Motivation;
9
+ }
10
+ interface CommentsPanelProps {
11
+ annotations: Annotation[];
12
+ pendingAnnotation: PendingAnnotation | null;
13
+ annotateMode?: boolean;
14
+ isAssisting?: boolean;
15
+ progress?: JobProgress | null;
16
+ locale?: string;
17
+ /** BCP-47 tag of the resource being analyzed — forwarded to the assist call. */
18
+ sourceLanguage?: string;
19
+ scrollToAnnotationId?: string | null;
20
+ onScrollCompleted?: () => void;
21
+ hoveredAnnotationId?: string | null;
22
+ }
23
+ /**
24
+ * Panel for managing comment annotations with text input
25
+ *
26
+ * @emits mark:create - Create new comment annotation. Payload: { motivation: 'commenting', selector: Selector | Selector[], body: Body[] }
27
+ * @emits mark:cancel-pending - Cancel pending comment annotation. Payload: undefined
28
+ * @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
29
+ */
30
+ export declare function CommentsPanel({ annotations, pendingAnnotation, annotateMode, isAssisting, progress, locale, sourceLanguage, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: CommentsPanelProps): import("react/jsx-runtime").JSX.Element;
31
+ export {};
32
+ //# sourceMappingURL=CommentsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommentsPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/CommentsPanel.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAK1D,OAAO,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,KAAK,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;AACtD,KAAK,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAGxD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;CACxB;AAmBD,UAAU,kBAAkB;IAC1B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EACX,iBAAiB,EACjB,YAAmB,EACnB,WAAmB,EACnB,QAAQ,EACR,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GACpB,EAAE,kBAAkB,2CAoNpB"}
@@ -0,0 +1,11 @@
1
+ import type { Ref } from 'react';
2
+ import type { Annotation } from '@semiont/core';
3
+ interface HighlightEntryProps {
4
+ highlight: Annotation;
5
+ isFocused: boolean;
6
+ isHovered?: boolean;
7
+ ref?: Ref<HTMLDivElement>;
8
+ }
9
+ export declare function HighlightEntry({ highlight, isFocused, isHovered, ref, }: HighlightEntryProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=HighlightEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HighlightEntry.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/HighlightEntry.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAOhD,UAAU,mBAAmB;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAmBD,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,SAAS,EACT,SAAiB,EACjB,GAAG,GACJ,EAAE,mBAAmB,2CAqCrB"}
@@ -0,0 +1,30 @@
1
+ import type { components, Selector } from '@semiont/core';
2
+ import './HighlightPanel.css';
3
+ import type { Annotation } from '@semiont/core';
4
+ type Motivation = components['schemas']['Motivation'];
5
+ type JobProgress = components['schemas']['JobProgress'];
6
+ interface PendingAnnotation {
7
+ selector: Selector | Selector[];
8
+ motivation: Motivation;
9
+ }
10
+ interface HighlightPanelProps {
11
+ annotations: Annotation[];
12
+ pendingAnnotation: PendingAnnotation | null;
13
+ isAssisting?: boolean;
14
+ progress?: JobProgress | null;
15
+ annotateMode?: boolean;
16
+ scrollToAnnotationId?: string | null;
17
+ onScrollCompleted?: () => void;
18
+ hoveredAnnotationId?: string | null;
19
+ /** BCP-47 tag of the resource being analyzed — forwarded to the assist call so the LLM analyzes non-English source correctly. */
20
+ sourceLanguage?: string;
21
+ }
22
+ /**
23
+ * Panel for managing highlight annotations with auto-creation
24
+ *
25
+ * @emits mark:create - Create new highlight annotation (auto-triggered). Payload: { motivation: 'highlighting', selector: Selector | Selector[], body: Body[] }
26
+ * @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
27
+ */
28
+ export declare function HighlightPanel({ annotations, pendingAnnotation, isAssisting, progress, annotateMode, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, sourceLanguage, }: HighlightPanelProps): import("react/jsx-runtime").JSX.Element;
29
+ export {};
30
+ //# sourceMappingURL=HighlightPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HighlightPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/HighlightPanel.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAK1D,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,KAAK,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;AACtD,KAAK,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAGxD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;CACxB;AAED,UAAU,mBAAmB;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,iIAAiI;IACjI,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAC7B,WAAW,EACX,iBAAiB,EACjB,WAAmB,EACnB,QAAQ,EACR,YAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,EAAE,mBAAmB,2CAgIrB"}
@@ -0,0 +1,9 @@
1
+ import type { components } from '@semiont/core';
2
+ import './JsonLdPanel.css';
3
+ type SemiontResource = components['schemas']['ResourceDescriptor'];
4
+ interface Props {
5
+ resource: SemiontResource;
6
+ }
7
+ export declare function JsonLdPanel({ resource: semiontResource }: Props): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=JsonLdPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonLdPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/JsonLdPanel.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,mBAAmB,CAAC;AAE3B,KAAK,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;AAEnE,UAAU,KAAK;IACb,QAAQ,EAAE,eAAe,CAAC;CAC3B;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,KAAK,2CAmF/D"}
@@ -0,0 +1,13 @@
1
+ interface PanelHeaderProps {
2
+ annotationType: 'highlight' | 'reference' | 'assessment' | 'comment' | 'tag';
3
+ count: number;
4
+ title: string;
5
+ }
6
+ /**
7
+ * Shared header for annotation panels
8
+ *
9
+ * Displays the annotation icon, translated title, and count in a consistent format
10
+ */
11
+ export declare function PanelHeader({ count, title }: PanelHeaderProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=PanelHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PanelHeader.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/PanelHeader.tsx"],"names":[],"mappings":"AAEA,UAAU,gBAAgB;IACxB,cAAc,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,KAAK,CAAC;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,gBAAgB,2CAS7D"}
@@ -0,0 +1,15 @@
1
+ import type { Ref } from 'react';
2
+ import type { RouteBuilder } from '../../../contexts/RoutingContext';
3
+ import type { Annotation } from '@semiont/core';
4
+ interface ReferenceEntryProps {
5
+ reference: Annotation;
6
+ isFocused: boolean;
7
+ isHovered?: boolean;
8
+ routes: RouteBuilder;
9
+ annotateMode?: boolean;
10
+ isGenerating?: boolean;
11
+ ref?: Ref<HTMLDivElement>;
12
+ }
13
+ export declare function ReferenceEntry({ reference, isFocused, isHovered, routes, annotateMode, isGenerating, ref, }: ReferenceEntryProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=ReferenceEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferenceEntry.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/ReferenceEntry.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAiBhD,UAAU,mBAAmB;IAC3B,SAAS,EAAE,UAAU,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,SAAS,EACT,SAAiB,EACjB,MAAM,EACN,YAAmB,EACnB,YAAoB,EACpB,GAAG,GACJ,EAAE,mBAAmB,2CA6IrB"}
@@ -0,0 +1,43 @@
1
+ import React from 'react';
2
+ import type { RouteBuilder, LinkComponentProps } from '../../../contexts/RoutingContext';
3
+ import type { components, Selector } from '@semiont/core';
4
+ import './ReferencesPanel.css';
5
+ type JobProgress = components['schemas']['JobProgress'];
6
+ import type { Annotation } from '@semiont/core';
7
+ type Motivation = components['schemas']['Motivation'];
8
+ type ReferencedBy = components['schemas']['GetReferencedByResponse']['referencedBy'][number];
9
+ interface PendingAnnotation {
10
+ selector: Selector | Selector[];
11
+ motivation: Motivation;
12
+ }
13
+ interface Props {
14
+ annotations?: Annotation[];
15
+ isAssisting: boolean;
16
+ progress: JobProgress | null;
17
+ annotateMode?: boolean;
18
+ Link: React.ComponentType<LinkComponentProps>;
19
+ routes: RouteBuilder;
20
+ allEntityTypes: string[];
21
+ generatingReferenceId?: string | null;
22
+ referencedBy?: ReferencedBy[];
23
+ referencedByLoading?: boolean;
24
+ pendingAnnotation: PendingAnnotation | null;
25
+ scrollToAnnotationId?: string | null;
26
+ onScrollCompleted?: () => void;
27
+ hoveredAnnotationId?: string | null;
28
+ /** User UI locale — stamped on the unresolved-reference body's `language` field. */
29
+ locale?: string;
30
+ /** BCP-47 tag of the resource being analyzed — fed into the prompt for source-aware analysis. */
31
+ sourceLanguage?: string;
32
+ }
33
+ /**
34
+ * Panel for managing reference annotations with entity type annotation
35
+ *
36
+ * @emits annotate:detect-request - Start reference annotation. Payload: { motivation: 'linking', options: { entityTypes: string[], includeDescriptiveReferences: boolean } }
37
+ * @emits mark:create - Create new reference annotation. Payload: { motivation: 'linking', selector: Selector | Selector[], body: Body[] }
38
+ * @emits mark:cancel-pending - Cancel pending reference annotation. Payload: undefined
39
+ * @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
40
+ */
41
+ export declare function ReferencesPanel({ annotations, isAssisting, progress, annotateMode, Link, routes, allEntityTypes, generatingReferenceId, referencedBy, referencedByLoading, pendingAnnotation, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, locale, sourceLanguage, }: Props): import("react/jsx-runtime").JSX.Element;
42
+ export {};
43
+ //# sourceMappingURL=ReferencesPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferencesPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/ReferencesPanel.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAKjF,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGzF,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG1D,OAAO,uBAAuB,CAAC;AAE/B,KAAK,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;AAExD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,KAAK,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC;AACtD,KAAK,YAAY,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAG7F,UAAU,iBAAiB;IACzB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAChC,UAAU,EAAE,UAAU,CAAC;CACxB;AAmBD,UAAU,KAAK;IAEb,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC9C,MAAM,EAAE,YAAY,CAAC;IAGrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC5C,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAgB,EAChB,WAAW,EACX,QAAQ,EACR,YAAmB,EACnB,IAAI,EACJ,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,YAAiB,EACjB,mBAA2B,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,MAAM,EACN,cAAc,GACf,EAAE,KAAK,2CA8bP"}
@@ -0,0 +1,27 @@
1
+ import { type components } from '@semiont/core';
2
+ import './ResourceInfoPanel.css';
3
+ type Agent = components['schemas']['Agent'];
4
+ interface Props {
5
+ resourceId: string;
6
+ documentEntityTypes: string[];
7
+ documentLocale?: string | undefined;
8
+ primaryMediaType?: string | undefined;
9
+ primaryByteSize?: number | undefined;
10
+ storageUri?: string | undefined;
11
+ isArchived?: boolean;
12
+ dateCreated?: string | undefined;
13
+ dateModified?: string | undefined;
14
+ wasAttributedTo?: Agent | Agent[] | undefined;
15
+ wasDerivedFrom?: string | string[] | undefined;
16
+ generator?: Agent | Agent[] | undefined;
17
+ }
18
+ /**
19
+ * Panel for displaying resource metadata and management actions
20
+ *
21
+ * @emits yield:clone - Clone this resource
22
+ * @emits mark:unarchive - Unarchive this resource
23
+ * @emits mark:archive - Archive this resource
24
+ */
25
+ export declare function ResourceInfoPanel({ resourceId, documentEntityTypes, documentLocale, primaryMediaType, primaryByteSize, storageUri, isArchived, dateCreated, dateModified, wasAttributedTo, wasDerivedFrom, generator, }: Props): import("react/jsx-runtime").JSX.Element;
26
+ export {};
27
+ //# sourceMappingURL=ResourceInfoPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourceInfoPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/ResourceInfoPanel.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAE9E,OAAO,yBAAyB,CAAC;AAEjC,KAAK,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;AAE5C,UAAU,KAAK;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,eAAe,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,SAAS,CAAC;IAC9C,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/C,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,SAAS,CAAC;CACzC;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,UAAkB,EAClB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,cAAc,EACd,SAAS,GACV,EAAE,KAAK,2CA+KP"}
@@ -0,0 +1,12 @@
1
+ import './StatisticsPanel.css';
2
+ import type { Annotation } from '@semiont/core';
3
+ interface StatisticsPanelProps {
4
+ highlights: Annotation[];
5
+ comments: Annotation[];
6
+ assessments: Annotation[];
7
+ references: Annotation[];
8
+ tags: Annotation[];
9
+ }
10
+ export declare function StatisticsPanel({ highlights, comments, assessments, references, tags }: StatisticsPanelProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=StatisticsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatisticsPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/StatisticsPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,UAAU,oBAAoB;IAC5B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,IAAI,EAAE,UAAU,EAAE,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAC9B,UAAU,EACV,QAAQ,EACR,WAAW,EACX,UAAU,EACV,IAAI,EACL,EAAE,oBAAoB,2CAyGtB"}
@@ -0,0 +1,11 @@
1
+ import type { Ref } from 'react';
2
+ import type { Annotation } from '@semiont/core';
3
+ interface TagEntryProps {
4
+ tag: Annotation;
5
+ isFocused: boolean;
6
+ isHovered?: boolean;
7
+ ref?: Ref<HTMLDivElement>;
8
+ }
9
+ export declare function TagEntry({ tag, isFocused, isHovered, ref, }: TagEntryProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=TagEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagEntry.d.ts","sourceRoot":"","sources":["../../../../src/components/resource/panels/TagEntry.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQhD,UAAU,aAAa;IACrB,GAAG,EAAE,UAAU,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,SAAS,EACT,SAAiB,EACjB,GAAG,GACJ,EAAE,aAAa,2CAwDf"}