@semiont/react-ui 0.5.9 → 0.5.11

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 (209) hide show
  1. package/README.md +1 -1
  2. package/dist/{PdfAnnotationCanvas.client-U4EVBZEV.js → PdfAnnotationCanvas.client-KWQ7XDWT.js} +5 -2
  3. package/dist/PdfAnnotationCanvas.client-KWQ7XDWT.js.map +1 -0
  4. package/dist/{ar-WA47UUWA.js → ar-ZHKO4XDR.js} +45 -4
  5. package/dist/ar-ZHKO4XDR.js.map +1 -0
  6. package/dist/{bn-5ANDRIU6.js → bn-3BUDKAK5.js} +45 -4
  7. package/dist/bn-3BUDKAK5.js.map +1 -0
  8. package/dist/{chunk-YBGN4ACY.js → chunk-O23TLLXW.js} +1 -6
  9. package/dist/{chunk-WHUGODTB.js → chunk-PFUXQPWJ.js} +127 -127
  10. package/dist/{chunk-WHUGODTB.js.map → chunk-PFUXQPWJ.js.map} +1 -1
  11. package/dist/{chunk-GERSK2DY.js → chunk-R52YAGHK.js} +42 -1
  12. package/dist/chunk-R52YAGHK.js.map +1 -0
  13. package/dist/{cs-3RU7F4JX.js → cs-2EFEUKTW.js} +45 -4
  14. package/dist/cs-2EFEUKTW.js.map +1 -0
  15. package/dist/{da-GSW5P5HG.js → da-SUD3Q44Q.js} +45 -4
  16. package/dist/da-SUD3Q44Q.js.map +1 -0
  17. package/dist/{de-JUAUYF4Z.js → de-6IC5QRX7.js} +45 -4
  18. package/dist/de-6IC5QRX7.js.map +1 -0
  19. package/dist/{el-JNLWCKEC.js → el-Q4NAXFRC.js} +45 -4
  20. package/dist/el-Q4NAXFRC.js.map +1 -0
  21. package/dist/{en-RBN2GUHF.js → en-P2L4X27N.js} +5 -3
  22. package/dist/{es-WPOX225H.js → es-YUKZBD4W.js} +45 -4
  23. package/dist/es-YUKZBD4W.js.map +1 -0
  24. package/dist/{fa-TAEP6N77.js → fa-OJ47LILE.js} +45 -4
  25. package/dist/fa-OJ47LILE.js.map +1 -0
  26. package/dist/{fi-ZVZHANSP.js → fi-QFFL5CUB.js} +45 -4
  27. package/dist/fi-QFFL5CUB.js.map +1 -0
  28. package/dist/{fr-VLZW7M4N.js → fr-BOQZZWP4.js} +45 -4
  29. package/dist/fr-BOQZZWP4.js.map +1 -0
  30. package/dist/{he-QFAFYA77.js → he-LXDY3TFA.js} +45 -4
  31. package/dist/he-LXDY3TFA.js.map +1 -0
  32. package/dist/{hi-AO3DQPCV.js → hi-HOJER77V.js} +45 -4
  33. package/dist/hi-HOJER77V.js.map +1 -0
  34. package/dist/{id-GTXF42WM.js → id-I5WQ6EWD.js} +45 -4
  35. package/dist/id-I5WQ6EWD.js.map +1 -0
  36. package/dist/index.css +150 -112
  37. package/dist/index.css.map +1 -1
  38. package/dist/index.d.ts +403 -45
  39. package/dist/index.js +4660 -18860
  40. package/dist/index.js.map +1 -1
  41. package/dist/integrations/css-modules-helper.js +1 -1
  42. package/dist/integrations/styled-components-theme.js +1 -1
  43. package/dist/{it-AS5GM232.js → it-UYH642IJ.js} +45 -4
  44. package/dist/it-UYH642IJ.js.map +1 -0
  45. package/dist/{ja-GZ4HLUOF.js → ja-JTVWAC4L.js} +45 -4
  46. package/dist/ja-JTVWAC4L.js.map +1 -0
  47. package/dist/{ko-A4XUXFGJ.js → ko-IHXFMOIZ.js} +45 -4
  48. package/dist/ko-IHXFMOIZ.js.map +1 -0
  49. package/dist/{ms-YBAO3S6K.js → ms-JH25VFLO.js} +45 -4
  50. package/dist/ms-JH25VFLO.js.map +1 -0
  51. package/dist/{nl-3TJGIIIU.js → nl-SURXW7IQ.js} +45 -4
  52. package/dist/nl-SURXW7IQ.js.map +1 -0
  53. package/dist/{no-4AXIQPRQ.js → no-HXIKQFDZ.js} +45 -4
  54. package/dist/no-HXIKQFDZ.js.map +1 -0
  55. package/dist/{pl-5GP6GKXO.js → pl-7A4KU6XK.js} +45 -4
  56. package/dist/pl-7A4KU6XK.js.map +1 -0
  57. package/dist/{pt-26Y6JFG5.js → pt-6MGYP7Q5.js} +45 -4
  58. package/dist/pt-6MGYP7Q5.js.map +1 -0
  59. package/dist/{ro-C7UXFRWJ.js → ro-IROCHNIA.js} +45 -4
  60. package/dist/ro-IROCHNIA.js.map +1 -0
  61. package/dist/{sv-44DVD76T.js → sv-WDJD75CV.js} +45 -4
  62. package/dist/sv-WDJD75CV.js.map +1 -0
  63. package/dist/test-utils.js +9 -4
  64. package/dist/test-utils.js.map +1 -1
  65. package/dist/{th-GIQRTBOY.js → th-RIO2E6B3.js} +45 -4
  66. package/dist/th-RIO2E6B3.js.map +1 -0
  67. package/dist/{tr-WMQWO4D6.js → tr-TZ7ERCIN.js} +45 -4
  68. package/dist/tr-TZ7ERCIN.js.map +1 -0
  69. package/dist/{uk-I7ML6RGG.js → uk-ZFWDKLUE.js} +45 -4
  70. package/dist/uk-ZFWDKLUE.js.map +1 -0
  71. package/dist/{vi-FGWECASQ.js → vi-UIOSP2JG.js} +45 -4
  72. package/dist/vi-UIOSP2JG.js.map +1 -0
  73. package/dist/{zh-L5FN73XC.js → zh-6R6YUY46.js} +45 -4
  74. package/dist/zh-6R6YUY46.js.map +1 -0
  75. package/package.json +18 -9
  76. package/src/components/AnnotateReferencesProgressWidget.tsx +35 -16
  77. package/src/components/ResourceTagsInline.tsx +94 -11
  78. package/src/components/StatusDisplay.css +36 -0
  79. package/src/components/__tests__/AnnotateReferencesProgressWidget.test.tsx +41 -91
  80. package/src/components/__tests__/ResourceTagsInline.test.tsx +101 -3
  81. package/src/components/annotation/AnnotateToolbar.tsx +53 -28
  82. package/src/components/annotation/__tests__/AnnotateToolbar.display.test.tsx +76 -0
  83. package/src/components/annotation/__tests__/AnnotateToolbar.test.tsx +124 -360
  84. package/src/components/image-annotation/SvgDrawingCanvas.tsx +5 -1
  85. package/src/components/modals/ConfigureGatherStep.tsx +102 -0
  86. package/src/components/modals/ContextSummary.tsx +15 -6
  87. package/src/components/modals/GatherContextStep.tsx +104 -59
  88. package/src/components/modals/ResourceGenerateModal.tsx +258 -0
  89. package/src/components/modals/__tests__/ConfigureGatherStep.test.tsx +82 -0
  90. package/src/components/modals/__tests__/GatherContextStep.resource.test.tsx +107 -0
  91. package/src/components/modals/__tests__/ResourceGenerateModal.test.tsx +197 -0
  92. package/src/components/pdf-annotation/PdfAnnotationCanvas.tsx +5 -0
  93. package/src/components/pdf-annotation/__tests__/PdfAnnotationCanvas.test.tsx +6 -6
  94. package/src/components/resource/AnnotateView.tsx +59 -38
  95. package/src/components/resource/BrowseView.tsx +159 -133
  96. package/src/components/resource/ResourceViewer.tsx +119 -128
  97. package/src/components/resource/__tests__/AnnotateView.embeddable.test.tsx +55 -0
  98. package/src/components/resource/__tests__/BrowseView.embeddable.test.tsx +49 -0
  99. package/src/components/resource/__tests__/BrowseView.links.test.tsx +60 -0
  100. package/src/components/resource/__tests__/BrowseView.overlay-async.test.tsx +113 -0
  101. package/src/components/resource/__tests__/BrowseView.reference-hover.test.tsx +161 -0
  102. package/src/components/resource/__tests__/BrowseView.registry.test.tsx +43 -0
  103. package/src/components/resource/__tests__/BrowseView.test.tsx +35 -22
  104. package/src/components/resource/__tests__/ResourceViewer.embeddable.test.tsx +63 -0
  105. package/src/components/resource/__tests__/ResourceViewer.mode-switch.test.tsx +12 -7
  106. package/src/components/resource/__tests__/ResourceViewer.toolbar-opt-out.test.tsx +135 -0
  107. package/src/components/resource/__tests__/ResourceViewer.toolbar-prefs.test.tsx +200 -0
  108. package/src/components/resource/__tests__/browse-renderers.test.tsx +34 -0
  109. package/src/components/resource/__tests__/inline-embedding.test.tsx +81 -0
  110. package/src/components/resource/__tests__/media-completeness.test.tsx +88 -0
  111. package/src/components/resource/browse-renderers.tsx +63 -0
  112. package/src/components/resource/panels/AssessmentPanel.tsx +4 -0
  113. package/src/components/resource/panels/CommentsPanel.tsx +4 -0
  114. package/src/components/resource/panels/HighlightPanel.tsx +4 -0
  115. package/src/components/resource/panels/ReferencesPanel.tsx +14 -0
  116. package/src/components/resource/panels/ResourceInfoPanel.tsx +22 -0
  117. package/src/components/resource/panels/TaggingPanel.tsx +4 -0
  118. package/src/components/resource/panels/UnifiedAnnotationsPanel.tsx +5 -2
  119. package/src/components/resource/panels/__tests__/AssessmentPanel.test.tsx +1 -0
  120. package/src/components/resource/panels/__tests__/CommentsPanel.test.tsx +1 -0
  121. package/src/components/resource/panels/__tests__/HighlightPanel.annotationProgress.test.tsx +16 -16
  122. package/src/components/resource/panels/__tests__/ReferencesPanel.observable-flow.test.tsx +1 -1
  123. package/src/components/resource/panels/__tests__/ReferencesPanel.test.tsx +1 -0
  124. package/src/components/resource/panels/__tests__/ResourceInfoPanel.test.tsx +26 -0
  125. package/src/components/resource/panels/__tests__/TaggingPanel.test.tsx +1 -0
  126. package/src/components/toolbar/Toolbar.css +14 -0
  127. package/src/features/admin-exchange/state/__tests__/exchange-state-unit.test.ts +14 -0
  128. package/src/features/admin-exchange/state/exchange-state-unit.ts +4 -2
  129. package/src/features/admin-security/state/__tests__/admin-security-state-unit.test.ts +14 -0
  130. package/src/features/admin-security/state/admin-security-state-unit.ts +4 -2
  131. package/src/features/admin-users/state/__tests__/admin-users-state-unit.test.ts +12 -5
  132. package/src/features/admin-users/state/admin-users-state-unit.ts +4 -2
  133. package/src/features/auth-welcome/state/__tests__/welcome-state-unit.test.ts +11 -0
  134. package/src/features/auth-welcome/state/welcome-state-unit.ts +1 -1
  135. package/src/features/moderate-entity-tags/state/__tests__/entity-tags-state-unit.test.ts +14 -0
  136. package/src/features/moderate-entity-tags/state/entity-tags-state-unit.ts +4 -2
  137. package/src/features/resource-compose/components/ResourceComposePage.tsx +13 -7
  138. package/src/features/resource-compose/state/__tests__/compose-page-state-unit.test.ts +13 -0
  139. package/src/features/resource-compose/state/compose-page-state-unit.ts +5 -2
  140. package/src/features/resource-discovery/state/__tests__/discover-state-unit.test.ts +15 -9
  141. package/src/features/resource-discovery/state/discover-state-unit.ts +5 -2
  142. package/src/features/resource-viewer/__tests__/ResourceViewerPage.test.tsx +7 -17
  143. package/src/features/resource-viewer/components/ResourceViewerPage.tsx +119 -17
  144. package/src/features/resource-viewer/state/__tests__/resource-loader-state-unit.test.ts +11 -0
  145. package/src/features/resource-viewer/state/__tests__/resource-viewer-page-state-unit.test.ts +30 -0
  146. package/src/features/resource-viewer/state/resource-loader-state-unit.ts +1 -1
  147. package/src/features/resource-viewer/state/resource-viewer-page-state-unit.ts +7 -16
  148. package/src/styles/features/resource-viewer.css +19 -0
  149. package/translations/ar.json +41 -2
  150. package/translations/bn.json +41 -2
  151. package/translations/cs.json +41 -2
  152. package/translations/da.json +41 -2
  153. package/translations/de.json +41 -2
  154. package/translations/el.json +41 -2
  155. package/translations/en.json +39 -0
  156. package/translations/es.json +41 -2
  157. package/translations/fa.json +41 -2
  158. package/translations/fi.json +41 -2
  159. package/translations/fr.json +41 -2
  160. package/translations/he.json +41 -2
  161. package/translations/hi.json +41 -2
  162. package/translations/id.json +41 -2
  163. package/translations/it.json +41 -2
  164. package/translations/ja.json +41 -2
  165. package/translations/ko.json +41 -2
  166. package/translations/ms.json +41 -2
  167. package/translations/nl.json +41 -2
  168. package/translations/no.json +41 -2
  169. package/translations/pl.json +41 -2
  170. package/translations/pt.json +41 -2
  171. package/translations/ro.json +41 -2
  172. package/translations/sv.json +41 -2
  173. package/translations/th.json +41 -2
  174. package/translations/tr.json +41 -2
  175. package/translations/uk.json +41 -2
  176. package/translations/vi.json +41 -2
  177. package/translations/zh.json +41 -2
  178. package/dist/PdfAnnotationCanvas.client-U4EVBZEV.js.map +0 -1
  179. package/dist/ar-WA47UUWA.js.map +0 -1
  180. package/dist/bn-5ANDRIU6.js.map +0 -1
  181. package/dist/chunk-GERSK2DY.js.map +0 -1
  182. package/dist/cs-3RU7F4JX.js.map +0 -1
  183. package/dist/da-GSW5P5HG.js.map +0 -1
  184. package/dist/de-JUAUYF4Z.js.map +0 -1
  185. package/dist/el-JNLWCKEC.js.map +0 -1
  186. package/dist/es-WPOX225H.js.map +0 -1
  187. package/dist/fa-TAEP6N77.js.map +0 -1
  188. package/dist/fi-ZVZHANSP.js.map +0 -1
  189. package/dist/fr-VLZW7M4N.js.map +0 -1
  190. package/dist/he-QFAFYA77.js.map +0 -1
  191. package/dist/hi-AO3DQPCV.js.map +0 -1
  192. package/dist/id-GTXF42WM.js.map +0 -1
  193. package/dist/it-AS5GM232.js.map +0 -1
  194. package/dist/ja-GZ4HLUOF.js.map +0 -1
  195. package/dist/ko-A4XUXFGJ.js.map +0 -1
  196. package/dist/ms-YBAO3S6K.js.map +0 -1
  197. package/dist/nl-3TJGIIIU.js.map +0 -1
  198. package/dist/no-4AXIQPRQ.js.map +0 -1
  199. package/dist/pl-5GP6GKXO.js.map +0 -1
  200. package/dist/pt-26Y6JFG5.js.map +0 -1
  201. package/dist/ro-C7UXFRWJ.js.map +0 -1
  202. package/dist/sv-44DVD76T.js.map +0 -1
  203. package/dist/th-GIQRTBOY.js.map +0 -1
  204. package/dist/tr-WMQWO4D6.js.map +0 -1
  205. package/dist/uk-I7ML6RGG.js.map +0 -1
  206. package/dist/vi-FGWECASQ.js.map +0 -1
  207. package/dist/zh-L5FN73XC.js.map +0 -1
  208. /package/dist/{chunk-YBGN4ACY.js.map → chunk-O23TLLXW.js.map} +0 -0
  209. /package/dist/{en-RBN2GUHF.js.map → en-P2L4X27N.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import * as _semiont_react_ui from '@semiont/react-ui';
2
- import { Annotation, ResourceId, Selector, components, ResourceDescriptor, ValidationResult, EventMap, AnnotationId, AnchorStrategy, AnchorConfidence, StoredEventLike, ConnectionState, GatheredContext, BackendDownload, ProgressEvent, AccessToken } from '@semiont/core';
2
+ import { Annotation, ResourceId, Selector, components, ResourceDescriptor, ValidationResult, StateUnit, GatheredContext, EventMap, AnnotationId, AnchorStrategy, AnchorConfidence, StoredEventLike, ConnectionState, BackendDownload, ProgressEvent, AccessToken } from '@semiont/core';
3
3
  export { Annotation } from '@semiont/core';
4
4
  import * as React$1 from 'react';
5
- import React__default, { ComponentType, ReactNode, KeyboardEvent as KeyboardEvent$1, Component, ErrorInfo, Ref } from 'react';
5
+ import React__default, { ComponentType, ReactNode, KeyboardEvent as KeyboardEvent$1, Component, ErrorInfo, MouseEvent, Ref } from 'react';
6
6
  import * as _codemirror_state from '@codemirror/state';
7
7
  import { HighlightStyle } from '@codemirror/language';
8
8
  import { WidgetType } from '@codemirror/view';
9
- import { StateUnit, SemiontBrowser, SessionStorage, SessionFactory, SemiontSession, OpenResource, TagSchema, UploadProgress, SemiontClient, BeckonStateUnit, MarkStateUnit, GatherStateUnit, YieldStateUnit, ReferencedByEntry } from '@semiont/sdk';
9
+ import { SemiontClient, SemiontSession, SemiontBrowser, SessionStorage, SessionFactory, OpenResource, TagSchema, UploadProgress, BeckonStateUnit, MarkStateUnit, GatherStateUnit, YieldStateUnit, ReferencedByEntry } from '@semiont/sdk';
10
10
  export { BeckonStateUnit, GatherStateUnit, GenerateDocumentOptions, HOVER_DELAY_MS, HoverHandlers, MarkStateUnit, MatchStateUnit, PendingAnnotation, SearchPipeline, SearchPipelineOptions, SearchState, TagSchema, YieldStateUnit, createBeckonStateUnit, createGatherStateUnit, createHoverHandlers, createMarkStateUnit, createMatchStateUnit, createSearchPipeline, createYieldStateUnit } from '@semiont/sdk';
11
11
  import { Observable } from 'rxjs';
12
12
 
@@ -359,26 +359,38 @@ declare function hideWidgetPreview(container: HTMLElement): void;
359
359
  type SelectionMotivation = 'linking' | 'highlighting' | 'assessing' | 'commenting' | 'tagging';
360
360
  type ClickAction = 'detail' | 'follow' | 'jsonld' | 'deleting';
361
361
  type ShapeType = 'rectangle' | 'circle' | 'polygon';
362
+ /** The bar's composable controls, in fixed render order. */
363
+ type ToolbarPart = 'clickAction' | 'mode' | 'selection' | 'shape';
362
364
  interface AnnotateToolbarProps {
363
365
  selectedMotivation: SelectionMotivation | null;
364
366
  selectedClick: ClickAction;
365
- showSelectionGroup?: boolean;
366
367
  showDeleteButton?: boolean;
367
- showShapeGroup?: boolean;
368
368
  selectedShape?: ShapeType;
369
369
  mediaType?: string | null;
370
370
  annotateMode: boolean;
371
371
  annotators: Record<string, Annotator>;
372
+ /**
373
+ * Which controls to render (composition over CSS hiding). Default: all four.
374
+ * Order is fixed (click, mode, selection, shape); shape stays media-gated.
375
+ */
376
+ parts?: ToolbarPart[];
377
+ /**
378
+ * Purely presentational: each control reports the chosen value via its
379
+ * callback; the owner (viewer instance or host) applies it. The bar holds no
380
+ * pref state, emits no bus events, and touches no storage.
381
+ */
382
+ onModeChange?: (mode: boolean) => void;
383
+ onClickActionChange?: (action: ClickAction) => void;
384
+ onSelectionChange?: (motivation: SelectionMotivation | null) => void;
385
+ onShapeChange?: (shape: ShapeType) => void;
386
+ compact?: boolean;
372
387
  }
373
388
  /**
374
- * Toolbar for annotation controls with mode, selection, click, and shape options
375
- *
376
- * @emits mark:selection-changed - Selection motivation changed. Payload: { motivation: SelectionMotivation | null }
377
- * @emits mark:click-changed - Click action mode changed. Payload: { action: ClickAction }
378
- * @emits mark:shape-changed - Drawing shape changed. Payload: { shape: ShapeType }
379
- * @emits mark:mode-toggled - View mode toggled between browse and annotate. Payload: undefined
389
+ * Toolbar for annotation controls with mode, selection, click, and shape options.
390
+ * Purely presentational (TOOLBAR-PREFS-AS-PROPS): renders the given values for the
391
+ * given `parts` and reports choices via the on*Change callbacks no bus, no storage.
380
392
  */
381
- declare function AnnotateToolbar({ selectedMotivation, selectedClick, showSelectionGroup, showDeleteButton, showShapeGroup, selectedShape, mediaType, annotateMode, annotators }: AnnotateToolbarProps): React__default.JSX.Element;
393
+ declare function AnnotateToolbar({ selectedMotivation, selectedClick, showDeleteButton, selectedShape, mediaType, annotateMode, annotators, parts, onModeChange, onClickActionChange, onSelectionChange, onShapeChange, compact, }: AnnotateToolbarProps): React__default.JSX.Element;
382
394
 
383
395
  /**
384
396
  * Media Type Shape Support
@@ -392,10 +404,17 @@ declare function AnnotateToolbar({ selectedMotivation, selectedClick, showSelect
392
404
  */
393
405
  type SelectorType = 'fragment' | 'svg' | 'text';
394
406
  /**
395
- * Get supported annotation shapes for a given media type
407
+ * Get supported annotation shapes for a given media type.
408
+ *
409
+ * This set is the host-facing CONTRACT for "which shapes can this medium
410
+ * draw" — gate shape UI on it directly.
396
411
  *
397
- * PDF: Only rectangles (FragmentSelector with RFC 3778 viewrect)
398
- * Images: All shapes (SvgSelector supports rect, circle, polygon)
412
+ * PDF: only rectangles (FragmentSelector with RFC 3778 viewrect).
413
+ * Images: all shapes (SvgSelector supports rect, circle, polygon).
414
+ * Everything else — including text media and absent/unknown types — supports
415
+ * NONE: those anchor by character offsets (TextPositionSelector /
416
+ * TextQuoteSelector), and no selector can carry a shape. Mirrors
417
+ * `getSelectorType`'s 'text' fallback.
399
418
  *
400
419
  * @param mediaType - MIME type of the resource (e.g., 'application/pdf', 'image/png')
401
420
  * @returns Array of supported shape types for annotation
@@ -840,8 +859,136 @@ declare function useLocalStorage<T>(key: string, initialValue: T): [T, (value: T
840
859
  interface UseResourceContentResult {
841
860
  content: string;
842
861
  loading: boolean;
862
+ error: Error | null;
863
+ }
864
+ /**
865
+ * Fetch + decode a resource's primary representation from a bare client — the
866
+ * content sibling of `useResourceLoader`/`useMediaToken` (bring-your-own-client;
867
+ * `null` → idle). Headless: errors are RETURNED, never toasted — the host
868
+ * decides chrome (the Browser page toasts; an embedded host may render inline
869
+ * or ignore). `enabled=false` fetches nothing (the binary/media-token path).
870
+ */
871
+ declare function useResourceContent(client: SemiontClient | null, rUri: ResourceId, resource: ResourceDescriptor, enabled?: boolean): UseResourceContentResult;
872
+
873
+ interface ResourceGatherOptions {
874
+ depth?: number;
875
+ maxResources?: number;
876
+ includeContent?: boolean;
877
+ includeSummary?: boolean;
878
+ /** Entity types to exclude from the gather's semantic recall (e.g. ['Question']). */
879
+ excludeEntityTypes?: string[];
880
+ }
881
+ interface UseResourceGatherResult {
882
+ context: GatheredContext | null;
883
+ loading: boolean;
884
+ error: Error | null;
885
+ /** Run a resource gather (`gather.resource`) and store the result. */
886
+ gather: (resourceId: string, options?: ResourceGatherOptions) => Promise<void>;
887
+ reset: () => void;
888
+ }
889
+ /**
890
+ * Drives a whole-resource gather (`client.gather.resource`, a Promise — no progress
891
+ * stream) into React state. The home for the GENERATE-FROM-BUTTON resource-gather flow.
892
+ */
893
+ declare function useResourceGather(): UseResourceGatherResult;
894
+
895
+ interface UseResourceLoaderResult {
896
+ resource: ResourceDescriptor | undefined;
897
+ annotations: AnnotationsCollection;
898
+ loading: boolean;
899
+ error: Error | null;
900
+ }
901
+ /**
902
+ * Load a resource + its annotations from a bare client — no page, no composite
903
+ * state unit, no providers. The lightweight alternative to `ResourceViewerPage`
904
+ * for a bring-your-own-session host; feed the result straight into `<ResourceViewer>`.
905
+ *
906
+ * `loading` is true until BOTH the resource and its annotation list have first
907
+ * emitted; `annotations` is bucketed via the shared `groupAnnotations`. A null
908
+ * client subscribes to nothing (stays loading) and re-subscribes when one arrives.
909
+ */
910
+ declare function useResourceLoader(client: SemiontClient | null, resourceId: ResourceId): UseResourceLoaderResult;
911
+
912
+ interface UseMediaTokenResult {
913
+ token: string | undefined;
914
+ loading: boolean;
915
+ }
916
+ /**
917
+ * Mint (and periodically refresh) a short-lived authed media token for a
918
+ * resource — the query param that makes `<img>` / PDF URLs load. Takes the
919
+ * client explicitly (not `useSemiont()`), so a bring-your-own-session host can
920
+ * use it with a bare session; the batteries-included page passes `session.client`.
921
+ */
922
+ declare function useMediaToken(client: SemiontClient | null, id: ResourceId): UseMediaTokenResult;
923
+
924
+ /**
925
+ * Subscribe to session-scoped bus events on an explicit `SemiontSession` — the
926
+ * provider-free counterpart to `useEventSubscriptions`. The embeddable viewer
927
+ * path takes its session as a prop (bring-your-own-session), so it can't reach
928
+ * the app-scoped `SemiontBrowser` bus; every channel it needs (`mark:*`,
929
+ * `browse:click`) is session-scoped anyway and reaches it via `session.subscribe`.
930
+ *
931
+ * Same stable-handler / stable-key semantics as `useEventSubscriptions`:
932
+ * handlers may change every render without re-subscribing; re-subscription
933
+ * happens only when the set of channel names or the session changes. A null
934
+ * session subscribes to nothing, and cleanly re-subscribes when one arrives.
935
+ */
936
+ declare function useSessionEventSubscriptions(session: SemiontSession | null, subscriptions: {
937
+ [K in keyof EventMap]?: (payload: EventMap[K]) => void;
938
+ }): void;
939
+
940
+ interface ToolbarPrefs {
941
+ annotateMode: boolean;
942
+ setAnnotateMode: (mode: boolean) => void;
943
+ clickAction: ClickAction;
944
+ setClickAction: (action: ClickAction) => void;
945
+ selectionMotivation: SelectionMotivation | null;
946
+ setSelectionMotivation: (motivation: SelectionMotivation | null) => void;
947
+ shape: ShapeType;
948
+ setShape: (shape: ShapeType) => void;
843
949
  }
844
- declare function useResourceContent(rUri: ResourceId, resource: ResourceDescriptor, enabled?: boolean): UseResourceContentResult;
950
+ /**
951
+ * The POLICY layer for toolbar preferences (TOOLBAR-PREFS-AS-PROPS): one shared,
952
+ * localStorage-persisted prefs state — the Semiont Browser's global-toolbar UX,
953
+ * relocated from inside the components to a visible page-layer hook. Feed the
954
+ * returned values/setters to every viewer you compose (as its controlled props)
955
+ * and they stay in lockstep and survive remounts. The components themselves hold
956
+ * no persistence and no cross-instance sync; this hook is the one legitimate home
957
+ * for both. Keys are the historical ones, so existing users' prefs carry over.
958
+ *
959
+ * `selectorType` scopes the SHAPE pref exactly as before: per selector type
960
+ * (persisted only for 'svg'; 'fragment' is always rectangle).
961
+ */
962
+ declare function useToolbarPrefs(selectorType?: SelectorType): ToolbarPrefs;
963
+
964
+ /**
965
+ * A claimed `mark:requested` — the typed event payload (selector + motivation +
966
+ * source), re-exported rather than a parallel shape.
967
+ */
968
+ type PendingCreation = EventMap['mark:requested'];
969
+ /**
970
+ * The consuming half of the viewer's capture/policy split (HEADLESS-CREATION-SEAM).
971
+ *
972
+ * The viewer captures gestures and emits source-scoped `mark:requested`; this
973
+ * hook claims them for ONE viewer: an event is claimed iff
974
+ * `enabled && event.source === resourceId` — N mounted hooks on one session each
975
+ * claim only their own (the multi-mount contract MARK-REQUESTED-RESOURCE-SCOPE
976
+ * created). A new request for the same resource REPLACES an unresolved pending
977
+ * (the user reselected; the stale pending is abandoned).
978
+ *
979
+ * Headless by contract: no creation call, no UI, no toast in here — resolution
980
+ * (chooser flows, body forms, `mark.annotation`) is host policy. Session-first
981
+ * like every subscribing primitive (`session.subscribe` is the sanctioned
982
+ * generic-channel path); `null` → inert.
983
+ *
984
+ * @param session Session whose bus carries this viewer's events; null → inert.
985
+ * @param resourceId Claim only events whose `source` is this resource.
986
+ * @param enabled The host's annotate-mode gate — browse-mode viewers never claim.
987
+ */
988
+ declare function usePendingCreation(session: SemiontSession | null, resourceId: ResourceId, enabled: boolean): {
989
+ pending: PendingCreation | null;
990
+ clearPending: () => void;
991
+ };
845
992
 
846
993
  interface SemiontProviderProps {
847
994
  /** Inject a fully-constructed browser (tests, embedded hosts that build their own). Omit to use the default. */
@@ -1121,16 +1268,37 @@ declare function CodeMirrorRenderer({ content, segments, onChange, editable, new
1121
1268
 
1122
1269
  type Motivation$6 = components['schemas']['Motivation'];
1123
1270
  type JobProgress$7 = components['schemas']['JobProgress'];
1271
+ interface JobProgressWidgetTranslations {
1272
+ /** Header title (e.g. "Annotating Entity References" / "Generating Resource"). */
1273
+ title: string;
1274
+ /** Cancel-button title attribute. */
1275
+ cancel: string;
1276
+ /** Default in-progress status message (used when the job sends no `message`). */
1277
+ inProgress: string;
1278
+ complete: string;
1279
+ failed: string;
1280
+ /** Completed entity-type log line (annotation flow only). */
1281
+ found?: (count: number) => string;
1282
+ /** Current entity-type status (annotation flow only). */
1283
+ current?: (entityType: string) => string;
1284
+ }
1124
1285
  interface AnnotateReferencesProgressWidgetProps {
1125
1286
  progress: JobProgress$7 | null;
1126
- annotationType?: Motivation$6 | 'reference';
1287
+ /** CSS `data-type` hook. */
1288
+ annotationType?: Motivation$6 | 'reference' | 'generation';
1289
+ /** Job type the cancel button requests. */
1290
+ cancelJobType: 'annotation' | 'generation';
1291
+ translations: JobProgressWidgetTranslations;
1127
1292
  }
1128
1293
  /**
1129
- * Widget for displaying reference annotation progress with cancel functionality
1294
+ * Job-progress widget (header + cancel + status). Shared by the annotation
1295
+ * (reference) flow and the resource-generate flow — the title, status copy, and
1296
+ * cancel job type are supplied by the caller so neither flow's wording leaks into
1297
+ * the other.
1130
1298
  *
1131
- * @emits job:cancel-requested - User requested to cancel annotation job. Payload: { jobType: string }
1299
+ * @emits job:cancel-requested - User requested to cancel the job. Payload: { jobType: string }
1132
1300
  */
1133
- declare function AnnotateReferencesProgressWidget({ progress, annotationType }: AnnotateReferencesProgressWidgetProps): React$1.JSX.Element | null;
1301
+ declare function AnnotateReferencesProgressWidget({ progress, annotationType, cancelJobType, translations: tr }: AnnotateReferencesProgressWidgetProps): React$1.JSX.Element | null;
1134
1302
 
1135
1303
  interface Props$a {
1136
1304
  children: ReactNode;
@@ -1262,10 +1430,23 @@ interface ResourceTagsInlineProps {
1262
1430
  resourceId: string;
1263
1431
  tags: string[];
1264
1432
  isEditing: boolean;
1433
+ /**
1434
+ * Commit: called ONCE per edit with the FULL new tag set (the host diffs —
1435
+ * its SDK call takes `(current, updated)`). Awaited; the editor renders
1436
+ * inert while the returned promise is pending.
1437
+ */
1265
1438
  onUpdate: (tags: string[]) => Promise<void>;
1266
1439
  disabled?: boolean;
1440
+ /**
1441
+ * The KB's registered entity types — the CONTROLLED VOCABULARY, host-supplied
1442
+ * (the component is session-less; hosts fetch via `browse.entityTypes()`).
1443
+ * Adds are a picker constrained to it: no free-text minting. Without it the
1444
+ * editor is REMOVAL-ONLY (it cannot offer valid candidates). Removal is never
1445
+ * vocabulary-gated — stale/unregistered tags must stay removable.
1446
+ */
1447
+ vocabulary?: string[];
1267
1448
  }
1268
- declare function ResourceTagsInline({ tags }: ResourceTagsInlineProps): React$1.JSX.Element | null;
1449
+ declare function ResourceTagsInline({ tags, isEditing, onUpdate, disabled, vocabulary, }: ResourceTagsInlineProps): React$1.JSX.Element | null;
1269
1450
 
1270
1451
  type ToastType = 'success' | 'error' | 'info' | 'warning';
1271
1452
  interface ToastMessage {
@@ -1375,6 +1556,8 @@ declare function AnnotationOverlay({ annotations, imageWidth, imageHeight, displ
1375
1556
  type DrawingMode = 'rectangle' | 'polygon' | 'circle' | 'freeform' | null;
1376
1557
  interface SvgDrawingCanvasProps {
1377
1558
  imageUrl: string;
1559
+ /** The '@id' of the annotated resource — stamped as `source` on mark:requested (multi-viewer routing). */
1560
+ resourceUri: string;
1378
1561
  existingAnnotations?: Annotation[];
1379
1562
  drawingMode: DrawingMode;
1380
1563
  selectedMotivation?: SelectionMotivation | null;
@@ -1389,7 +1572,7 @@ interface SvgDrawingCanvasProps {
1389
1572
  * @emits browse:click - Annotation clicked on canvas. Payload: { annotationId: string, motivation: Motivation }
1390
1573
  * @emits mark:requested - New annotation drawn on canvas. Payload: { selector: SvgSelector, motivation: SelectionMotivation }
1391
1574
  */
1392
- declare function SvgDrawingCanvas({ imageUrl, existingAnnotations, drawingMode, selectedMotivation, session, hoveredAnnotationId, selectedAnnotationId }: SvgDrawingCanvasProps): React__default.JSX.Element;
1575
+ declare function SvgDrawingCanvas({ imageUrl, resourceUri, existingAnnotations, drawingMode, selectedMotivation, session, hoveredAnnotationId, selectedAnnotationId }: SvgDrawingCanvasProps): React__default.JSX.Element;
1393
1576
 
1394
1577
  interface KeyboardShortcutsHelpModalProps {
1395
1578
  isOpen: boolean;
@@ -1424,7 +1607,8 @@ declare function SessionExpiredModal(): React$1.JSX.Element;
1424
1607
  interface Props$8 {
1425
1608
  content: string;
1426
1609
  mimeType?: string;
1427
- resourceUri?: string;
1610
+ /** The '@id' of the shown resource — stamped as `source` on mark:requested (multi-viewer routing). */
1611
+ resourceUri: string;
1428
1612
  annotations: AnnotationsCollection;
1429
1613
  uiState: AnnotationUIState;
1430
1614
  onUIStateChange?: (state: Partial<AnnotationUIState>) => void;
@@ -1435,17 +1619,22 @@ interface Props$8 {
1435
1619
  showLineNumbers?: boolean;
1436
1620
  hoverDelayMs?: number;
1437
1621
  annotateMode: boolean;
1622
+ /** Session for the shown resource — its client emits mark:* / mark.request; its bus feeds toolbar + beckon events. */
1623
+ session: SemiontSession | null;
1624
+ /** Recently-created annotation ids to sparkle (host-provided; was ResourceAnnotationsContext). */
1625
+ newAnnotationIds?: Set<string>;
1626
+ /** The bar's Mode control reports the chosen mode here (the owner applies it). */
1627
+ onModeChange?: (mode: boolean) => void;
1628
+ /** Render the built-in bar (default). false → no bar; selection capture and drawing stay live. */
1629
+ showToolbar?: boolean;
1438
1630
  }
1439
1631
  /**
1440
1632
  * View component for annotating resources with text selection and drawing
1441
1633
  *
1442
1634
  * @emits mark:requested - User requested to create annotation. Payload: { selector: Selector | Selector[], motivation: SelectionMotivation }
1443
- * @subscribes mark:selection-changed - Toolbar selection changed. Payload: { motivation: string | null }
1444
- * @subscribes mark:click-changed - Toolbar click action changed. Payload: { action: string }
1445
- * @subscribes mark:shape-changed - Toolbar shape changed. Payload: { shape: string }
1446
1635
  * @subscribes beckon:hover - Annotation hovered. Payload: { annotationId: string | null }
1447
1636
  */
1448
- declare function AnnotateView({ content, mimeType, resourceUri, annotations, uiState, onUIStateChange, enableWidgets, getTargetResourceName, generatingReferenceId, showLineNumbers, hoverDelayMs, annotateMode }: Props$8): React$1.JSX.Element;
1637
+ declare function AnnotateView({ content, mimeType, resourceUri, annotations, uiState, onUIStateChange, enableWidgets, getTargetResourceName, generatingReferenceId, showLineNumbers, hoverDelayMs, annotateMode, session, newAnnotationIds, onModeChange, showToolbar, }: Props$8): React$1.JSX.Element;
1449
1638
 
1450
1639
  interface Props$7 {
1451
1640
  rUri: ResourceId;
@@ -1457,6 +1646,29 @@ interface Props$7 {
1457
1646
  }
1458
1647
  declare function AnnotationHistory({ rUri, hoveredAnnotationId, onEventHover, onEventClick, Link, routes }: Props$7): React__default.JSX.Element | null;
1459
1648
 
1649
+ /**
1650
+ * Common props for a read-only ("browse") media renderer. `content` is decoded
1651
+ * text for the text renderer, or a media URL for the image / PDF renderers.
1652
+ * A consumer can implement this interface to swap in a custom renderer.
1653
+ */
1654
+ interface MediaRendererProps {
1655
+ content: string;
1656
+ mimeType: string;
1657
+ resourceUri: string;
1658
+ annotations: Annotation[];
1659
+ }
1660
+ /** Read-only media dispatch, keyed by the registry render mode. */
1661
+ type BrowseMediaRenderers = Partial<Record<string, ComponentType<MediaRendererProps>>>;
1662
+ declare function TextBrowseRenderer({ content }: MediaRendererProps): React$1.JSX.Element;
1663
+ declare function ImageBrowseRenderer({ content, mimeType }: MediaRendererProps): React$1.JSX.Element;
1664
+ declare function PdfBrowseRenderer({ content, resourceUri, annotations }: MediaRendererProps): React$1.JSX.Element;
1665
+ /**
1666
+ * Default read-only media renderers. `BrowseView` merges a caller's `renderers`
1667
+ * override on top of these, so a host can swap one renderer (e.g. its own PDF
1668
+ * viewer) or add a mode without forking the view.
1669
+ */
1670
+ declare const defaultBrowseRenderers: Record<'text' | 'image' | 'pdf', ComponentType<MediaRendererProps>>;
1671
+
1460
1672
  interface Props$6 {
1461
1673
  content: string;
1462
1674
  mimeType: string;
@@ -1466,6 +1678,36 @@ interface Props$6 {
1466
1678
  selectedClick?: ClickAction;
1467
1679
  annotateMode: boolean;
1468
1680
  hoverDelayMs?: number;
1681
+ /** Session for the shown resource — emits browse:click / beckon:hover; its bus feeds beckon events. */
1682
+ session: SemiontSession | null;
1683
+ /** Recently-created annotation ids to sparkle (host-provided; was ResourceAnnotationsContext). */
1684
+ newAnnotationIds?: Set<string>;
1685
+ /** Override the read-only media renderers (render mode → renderer); merged over the defaults. */
1686
+ renderers?: BrowseMediaRenderers;
1687
+ /** A content link (`<a href>` in the rendered content) was clicked. The viewer preventDefaults and
1688
+ * delegates; it never navigates on its own. Omit → the click is still blocked (nothing happens). */
1689
+ onLinkClick?: (link: {
1690
+ href: string;
1691
+ event: MouseEvent;
1692
+ }) => void;
1693
+ /** A RESOLVED reference span is hovered: fires after the dwell AND the referent's cached descriptor
1694
+ * resolves; `null` on leave (only if a hover fired — stubs stay silent). Host renders its own preview. */
1695
+ onReferenceHover?: (hover: ReferenceHover | null) => void;
1696
+ /** Inline display variant: auto-height to content, no inner scroll container, no pane chrome —
1697
+ * drops into a chat bubble / card / list item. Default: fill-the-pane (unchanged). */
1698
+ inline?: boolean;
1699
+ /** The bar's Mode control reports the chosen mode here (the owner applies it). */
1700
+ onModeChange?: (mode: boolean) => void;
1701
+ /** The bar's Click control reports the chosen action here (the owner applies it). */
1702
+ onClickActionChange?: (action: ClickAction) => void;
1703
+ /** Render the built-in bar (default). false → no bar; all other seams stay live. */
1704
+ showToolbar?: boolean;
1705
+ }
1706
+ /** Payload for `onReferenceHover` — the hovered linking annotation, its resolved referent, and where the span is. */
1707
+ interface ReferenceHover {
1708
+ annotation: Annotation;
1709
+ referent: ResourceDescriptor;
1710
+ anchorRect: DOMRect;
1469
1711
  }
1470
1712
  /**
1471
1713
  * View component for browsing annotated resources in read-only mode.
@@ -1480,7 +1722,7 @@ interface Props$6 {
1480
1722
  * @subscribes beckon:hover - Highlight annotation on hover. Payload: { annotationId: string | null }
1481
1723
  * @subscribes beckon:focus - Scroll to and highlight annotation. Payload: { annotationId: string }
1482
1724
  */
1483
- declare const BrowseView: React$1.MemoExoticComponent<({ content, mimeType, resourceUri, annotations, selectedClick, annotateMode, hoverDelayMs }: Props$6) => React$1.JSX.Element>;
1725
+ declare const BrowseView: React$1.MemoExoticComponent<({ content, mimeType, resourceUri, annotations, selectedClick, onModeChange, onClickActionChange, showToolbar, annotateMode, hoverDelayMs, session, newAnnotationIds, renderers, onLinkClick, onReferenceHover, inline, }: Props$6) => React$1.JSX.Element>;
1484
1726
 
1485
1727
  type TranslateFn$4 = (key: string, params?: Record<string, string | number>) => string;
1486
1728
  interface Props$5 {
@@ -1505,9 +1747,11 @@ declare function HistoryEvent({ event, annotations, allEvents, isRelated, t, Lin
1505
1747
  * - Automatically invalidates cache when annotations change
1506
1748
  * - No manual refetch needed - events handle cache invalidation
1507
1749
  *
1508
- * Requirements:
1509
- * - Must be wrapped in SemiontProvider (which owns the session's event bus)
1510
- * - Must be wrapped in CacheContext (provides cache manager)
1750
+ * Bring-your-own-session: the `session` (SemiontSession) and the host's
1751
+ * navigation / panel callbacks come in as props no SemiontProvider required.
1752
+ * Every event it subscribes to is session-scoped (mark:*, browse:click) and
1753
+ * reaches it via `session.subscribe`. Translations fall back to built-in English
1754
+ * when no TranslationProvider is mounted; caching flows through `session.client.browse.*`.
1511
1755
  *
1512
1756
  * Event flow:
1513
1757
  * make-meaning → EventLog → SSE → EventBus → ResourceViewer → Cache invalidation
@@ -1520,25 +1764,62 @@ interface Props$4 {
1520
1764
  content: string;
1521
1765
  };
1522
1766
  annotations: AnnotationsCollection;
1767
+ /** Session for the shown resource — its client mutates/invalidates, its bus feeds annotation events. */
1768
+ session: SemiontSession | null;
1769
+ /** Host-owned navigation: a resolved reference was followed. Omit for a view with no follow behavior. */
1770
+ onOpenResource?: (resourceId: string) => void;
1771
+ /** Host-owned panel control (annotation clicks open a panel). Omit for hosts without side panels. */
1772
+ onOpenPanel?: (event: EventMap['panel:open']) => void;
1773
+ /** A content link in the rendered content was clicked — the viewer preventDefaults and delegates; it never navigates on its own. */
1774
+ onLinkClick?: (link: {
1775
+ href: string;
1776
+ event: React__default.MouseEvent;
1777
+ }) => void;
1778
+ /** A resolved reference span is hovered (after dwell + referent descriptor resolve); `null` on leave. Host renders its own preview. */
1779
+ onReferenceHover?: (hover: ReferenceHover | null) => void;
1780
+ /** Inline display variant: auto-height, no inner scroll, no pane chrome (browse path). Default: fill-the-pane. */
1781
+ inline?: boolean;
1782
+ /** Recently-created annotation ids to sparkle (threaded to the browse/annotate subtree). */
1783
+ newAnnotationIds?: Set<string>;
1523
1784
  generatingReferenceId?: string | null;
1524
1785
  showLineNumbers?: boolean;
1525
1786
  hoverDelayMs?: number;
1526
1787
  hoveredAnnotationId?: string | null;
1788
+ /**
1789
+ * Toolbar preferences as controlled props (TOOLBAR-PREFS-AS-PROPS). Supply a value
1790
+ * to own that pref: the instance renders it and reports intents via the callback —
1791
+ * it never self-mutates, never persists, never listens to other instances. Omit for
1792
+ * a plain uncontrolled default (false / 'detail' / 'linking' / 'rectangle').
1793
+ * Hosts wanting the shared+persisted Browser UX compose `useToolbarPrefs()`.
1794
+ */
1795
+ annotateMode?: boolean;
1796
+ onAnnotateModeChange?: (mode: boolean) => void;
1797
+ clickAction?: ClickAction;
1798
+ onClickActionChange?: (action: ClickAction) => void;
1799
+ selectionMotivation?: SelectionMotivation | null;
1800
+ onSelectionMotivationChange?: (motivation: SelectionMotivation | null) => void;
1801
+ shape?: ShapeType;
1802
+ onShapeChange?: (shape: ShapeType) => void;
1803
+ /**
1804
+ * Render the built-in AnnotateToolbar (default true — today's behavior,
1805
+ * byte-identical). `false` → no bar at any internal site (browse + every
1806
+ * annotate render mode), while every seam stays live: annotate-mode selection
1807
+ * capture, image/pdf drawing, `mark.request` emission, and the controlled
1808
+ * props. Tier-2 hosts compose their own controls from the controlled props;
1809
+ * this makes that opt-out a contract instead of a CSS override.
1810
+ */
1811
+ showToolbar?: boolean;
1527
1812
  }
1528
1813
  /**
1529
1814
  * @emits mark:delete - User requested to delete annotation. Payload: { annotationId: string }
1530
1815
  * @emits panel:open - Request to open panel with annotation. Payload: { panel: string, scrollToAnnotationId?: string, motivation?: Motivation }
1531
1816
  *
1532
- * @subscribes mark:mode-toggled - Toggles between browse and annotate mode. Payload: { mode: 'browse' | 'annotate' }
1533
1817
  * @subscribes mark:added - New annotation was added. Payload: { annotation: Annotation }
1534
1818
  * @subscribes mark:removed - Annotation was removed. Payload: { annotationId: string }
1535
1819
  * @subscribes mark:body-updated - Annotation was updated. Payload: { annotation: Annotation }
1536
- * @subscribes mark:selection-changed - Text selection tool changed. Payload: { selection: boolean }
1537
- * @subscribes mark:click-changed - Click annotation tool changed. Payload: { click: 'detail' | 'scroll' | null }
1538
- * @subscribes mark:shape-changed - Drawing shape changed. Payload: { shape: string }
1539
1820
  * @subscribes browse:click - User clicked on annotation. Payload: { annotationId: string }
1540
1821
  */
1541
- declare function ResourceViewer({ resource, annotations, generatingReferenceId, showLineNumbers, hoverDelayMs, hoveredAnnotationId: hoveredAnnotationIdProp }: Props$4): React__default.JSX.Element;
1822
+ declare function ResourceViewer({ resource, annotations, session, onOpenResource, onOpenPanel, onLinkClick, onReferenceHover, inline, newAnnotationIds, generatingReferenceId, showLineNumbers, hoverDelayMs, hoveredAnnotationId: hoveredAnnotationIdProp, annotateMode: annotateModeProp, onAnnotateModeChange, clickAction: clickActionProp, onClickActionChange, selectionMotivation: selectionMotivationProp, onSelectionMotivationChange, shape: shapeProp, onShapeChange, showToolbar, }: Props$4): React__default.JSX.Element;
1542
1823
 
1543
1824
  interface AssessmentEntryProps {
1544
1825
  assessment: Annotation;
@@ -1555,6 +1836,8 @@ interface PendingAnnotation$5 {
1555
1836
  motivation: Motivation$5;
1556
1837
  }
1557
1838
  interface AssessmentPanelProps {
1839
+ /** The '@id' of the panel's resource — stamped as `source` on mark:submit (multi-viewer routing). */
1840
+ resourceId: string;
1558
1841
  annotations: Annotation[];
1559
1842
  pendingAnnotation: PendingAnnotation$5 | null;
1560
1843
  isAssisting?: boolean;
@@ -1574,7 +1857,7 @@ interface AssessmentPanelProps {
1574
1857
  * @emits mark:cancel-pending - Cancel pending assessment annotation. Payload: undefined
1575
1858
  * @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
1576
1859
  */
1577
- declare function AssessmentPanel({ annotations, pendingAnnotation, isAssisting, progress, locale, sourceLanguage, annotateMode, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: AssessmentPanelProps): React$1.JSX.Element;
1860
+ declare function AssessmentPanel({ resourceId, annotations, pendingAnnotation, isAssisting, progress, locale, sourceLanguage, annotateMode, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: AssessmentPanelProps): React$1.JSX.Element;
1578
1861
 
1579
1862
  interface Props$3 {
1580
1863
  /**
@@ -1617,6 +1900,8 @@ interface PendingAnnotation$4 {
1617
1900
  motivation: Motivation$4;
1618
1901
  }
1619
1902
  interface CommentsPanelProps {
1903
+ /** The '@id' of the panel's resource — stamped as `source` on mark:submit (multi-viewer routing). */
1904
+ resourceId: string;
1620
1905
  annotations: Annotation[];
1621
1906
  pendingAnnotation: PendingAnnotation$4 | null;
1622
1907
  annotateMode?: boolean;
@@ -1636,7 +1921,7 @@ interface CommentsPanelProps {
1636
1921
  * @emits mark:cancel-pending - Cancel pending comment annotation. Payload: undefined
1637
1922
  * @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
1638
1923
  */
1639
- declare function CommentsPanel({ annotations, pendingAnnotation, annotateMode, isAssisting, progress, locale, sourceLanguage, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: CommentsPanelProps): React$1.JSX.Element;
1924
+ declare function CommentsPanel({ resourceId, annotations, pendingAnnotation, annotateMode, isAssisting, progress, locale, sourceLanguage, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, }: CommentsPanelProps): React$1.JSX.Element;
1640
1925
 
1641
1926
  type JobProgress$4 = components['schemas']['JobProgress'];
1642
1927
  interface AssistSectionProps {
@@ -1677,6 +1962,8 @@ interface PendingAnnotation$3 {
1677
1962
  motivation: Motivation$3;
1678
1963
  }
1679
1964
  interface HighlightPanelProps {
1965
+ /** The '@id' of the panel's resource — stamped as `source` on mark:submit (multi-viewer routing). */
1966
+ resourceId: string;
1680
1967
  annotations: Annotation[];
1681
1968
  pendingAnnotation: PendingAnnotation$3 | null;
1682
1969
  isAssisting?: boolean;
@@ -1694,7 +1981,7 @@ interface HighlightPanelProps {
1694
1981
  * @emits mark:create - Create new highlight annotation (auto-triggered). Payload: { motivation: 'highlighting', selector: Selector | Selector[], body: Body[] }
1695
1982
  * @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
1696
1983
  */
1697
- declare function HighlightPanel({ annotations, pendingAnnotation, isAssisting, progress, annotateMode, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, sourceLanguage, }: HighlightPanelProps): React$1.JSX.Element;
1984
+ declare function HighlightPanel({ resourceId, annotations, pendingAnnotation, isAssisting, progress, annotateMode, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, sourceLanguage, }: HighlightPanelProps): React$1.JSX.Element;
1698
1985
 
1699
1986
  interface Props$2 {
1700
1987
  resourceId: ResourceId;
@@ -1741,6 +2028,8 @@ interface PendingAnnotation$2 {
1741
2028
  motivation: Motivation$2;
1742
2029
  }
1743
2030
  interface Props$1 {
2031
+ /** The '@id' of the panel's resource — stamped as `source` on mark:submit (multi-viewer routing). */
2032
+ resourceId: string;
1744
2033
  annotations?: Annotation[];
1745
2034
  isAssisting: boolean;
1746
2035
  progress: JobProgress$2 | null;
@@ -1768,7 +2057,7 @@ interface Props$1 {
1768
2057
  * @emits mark:cancel-pending - Cancel pending reference annotation. Payload: undefined
1769
2058
  * @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
1770
2059
  */
1771
- declare function ReferencesPanel({ annotations, isAssisting, progress, annotateMode, Link, routes, allEntityTypes, generatingReferenceId, referencedBy, referencedByLoading, pendingAnnotation, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, locale, sourceLanguage, }: Props$1): React__default.JSX.Element;
2060
+ declare function ReferencesPanel({ resourceId, annotations, isAssisting, progress, annotateMode, Link, routes, allEntityTypes, generatingReferenceId, referencedBy, referencedByLoading, pendingAnnotation, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, locale, sourceLanguage, }: Props$1): React__default.JSX.Element;
1772
2061
 
1773
2062
  type Agent = components['schemas']['Agent'];
1774
2063
  interface Props {
@@ -1784,6 +2073,12 @@ interface Props {
1784
2073
  wasAttributedTo?: Agent | Agent[] | undefined;
1785
2074
  wasDerivedFrom?: string | string[] | undefined;
1786
2075
  generator?: Agent | Agent[] | undefined;
2076
+ /**
2077
+ * Open the resource-generate flow. UI-only — the SDK isn't involved in
2078
+ * *opening* the display (if collaborative gather ever lands, this graduates
2079
+ * to a verb). Omit to hide the Generate action.
2080
+ */
2081
+ onGenerate?: () => void;
1787
2082
  }
1788
2083
  /**
1789
2084
  * Panel for displaying resource metadata and management actions
@@ -1792,7 +2087,7 @@ interface Props {
1792
2087
  * @emits mark:unarchive - Unarchive this resource
1793
2088
  * @emits mark:archive - Archive this resource
1794
2089
  */
1795
- declare function ResourceInfoPanel({ resourceId, documentEntityTypes, documentLocale, primaryMediaType, primaryByteSize, storageUri, isArchived, dateCreated, dateModified, wasAttributedTo, wasDerivedFrom, generator, }: Props): React$1.JSX.Element;
2090
+ declare function ResourceInfoPanel({ resourceId, documentEntityTypes, documentLocale, primaryMediaType, primaryByteSize, storageUri, isArchived, dateCreated, dateModified, wasAttributedTo, wasDerivedFrom, generator, onGenerate, }: Props): React$1.JSX.Element;
1796
2091
 
1797
2092
  interface StatisticsPanelProps {
1798
2093
  highlights: Annotation[];
@@ -1818,6 +2113,8 @@ interface PendingAnnotation$1 {
1818
2113
  motivation: Motivation$1;
1819
2114
  }
1820
2115
  interface TaggingPanelProps {
2116
+ /** The '@id' of the panel's resource — stamped as `source` on mark:submit (multi-viewer routing). */
2117
+ resourceId: string;
1821
2118
  annotations: Annotation[];
1822
2119
  annotateMode?: boolean;
1823
2120
  isAssisting?: boolean;
@@ -1839,7 +2136,7 @@ interface TaggingPanelProps {
1839
2136
  * @emits mark:create - Create new tag annotation. Payload: { motivation: 'tagging', selector: Selector | Selector[], body: Body[] }
1840
2137
  * @subscribes browse:click - Annotation clicked. Payload: { annotationId: string }
1841
2138
  */
1842
- declare function TaggingPanel({ annotations, annotateMode, isAssisting, progress, pendingAnnotation, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, locale, sourceLanguage, }: TaggingPanelProps): React$1.JSX.Element;
2139
+ declare function TaggingPanel({ resourceId, annotations, annotateMode, isAssisting, progress, pendingAnnotation, scrollToAnnotationId, onScrollCompleted, hoveredAnnotationId, locale, sourceLanguage, }: TaggingPanelProps): React$1.JSX.Element;
1843
2140
 
1844
2141
  type JobProgress = components['schemas']['JobProgress'];
1845
2142
 
@@ -1869,7 +2166,7 @@ interface UnifiedAnnotationsPanelProps {
1869
2166
  generatingReferenceId?: string | null;
1870
2167
  referencedBy?: any[];
1871
2168
  referencedByLoading?: boolean;
1872
- resourceId?: string;
2169
+ resourceId: string;
1873
2170
  initialTab?: TabKey;
1874
2171
  initialTabGeneration?: number;
1875
2172
  scrollToAnnotationId?: string | null;
@@ -2169,6 +2466,67 @@ interface ReferenceWizardModalProps {
2169
2466
  }
2170
2467
  declare function ReferenceWizardModal({ isOpen, onClose, annotationId, resourceId, defaultTitle, entityTypes, locale, context, contextLoading, contextError, onGenerateSubmit, onLinkResource, onComposeNavigate, translations: t, }: ReferenceWizardModalProps): React$1.JSX.Element;
2171
2468
 
2469
+ interface ResourceGatherConfig {
2470
+ depth: number;
2471
+ maxResources: number;
2472
+ includeContent: boolean;
2473
+ includeSummary: boolean;
2474
+ }
2475
+
2476
+ interface ResourceGenerateModalTranslations {
2477
+ gatherTitle: string;
2478
+ reviewTitle: string;
2479
+ configureTitle: string;
2480
+ next: string;
2481
+ back: string;
2482
+ cancel: string;
2483
+ gatherIntro: string;
2484
+ includeContent: string;
2485
+ includeSummary: string;
2486
+ gatherDepth: string;
2487
+ gatherMaxResources: string;
2488
+ gatherButton: string;
2489
+ excludeLabel: string;
2490
+ loadingContext: string;
2491
+ failedContext: string;
2492
+ sourceContextLabel: string;
2493
+ connectionsLabel: string;
2494
+ citedByLabel: string;
2495
+ resourceTitle: string;
2496
+ resourceTitlePlaceholder: string;
2497
+ additionalInstructions: string;
2498
+ additionalInstructionsPlaceholder: string;
2499
+ language: string;
2500
+ languageHelp: string;
2501
+ creativity: string;
2502
+ creativityFocused: string;
2503
+ creativityCreative: string;
2504
+ maxLength: string;
2505
+ maxLengthHelp: string;
2506
+ generate: string;
2507
+ }
2508
+ interface ResourceGenerateModalProps {
2509
+ isOpen: boolean;
2510
+ onClose: () => void;
2511
+ resourceId: string;
2512
+ defaultTitle: string;
2513
+ locale: string;
2514
+ gatherDefaults?: Partial<ResourceGatherConfig>;
2515
+ /**
2516
+ * Emit the chosen generation config. The parent runs the job
2517
+ * (`client.yield.fromResource(resourceId, …).run(…)`) — mirrors how the
2518
+ * annotation wizard delegates `yield.fromAnnotation` to its parent.
2519
+ */
2520
+ onGenerateSubmit: (resourceId: string, config: GenerationConfig) => void;
2521
+ translations: ResourceGenerateModalTranslations;
2522
+ }
2523
+ /**
2524
+ * Resource-generate flow (GENERATE-FROM-BUTTON): configure gather options →
2525
+ * `gather.resource` → review the gathered `GatheredContext` → configure
2526
+ * generation → emit. Reuses the kind-aware `GatherContextStep` for the review.
2527
+ */
2528
+ declare function ResourceGenerateModal({ isOpen, onClose, resourceId, defaultTitle, locale, gatherDefaults, onGenerateSubmit, translations: t, }: ResourceGenerateModalProps): React$1.JSX.Element;
2529
+
2172
2530
  interface SearchModalProps$1 {
2173
2531
  isOpen: boolean;
2174
2532
  onClose: () => void;
@@ -3730,5 +4088,5 @@ declare function useShellStateUnit(): ShellStateUnit;
3730
4088
  */
3731
4089
  declare function useObservable<T>(obs$: Observable<T> | null | undefined): T | undefined;
3732
4090
 
3733
- export { ANNOTATORS, AVAILABLE_LOCALES, AdminDevOpsPage, AdminExchangePage, AdminSecurityPage, AdminUsersPage, AnnotateReferencesProgressWidget, AnnotateToolbar, AnnotateView, AnnotationHistory, AnnotationOverlay, AnnotationProvider, AssessmentEntry, AssessmentPanel, AssistSection, AsyncErrorBoundary, AuthErrorDisplay, BrowseView, Button, ButtonGroup, COMMON_PANELS, CodeMirrorRenderer, CollaborationPanel, CollapsibleResourceNavigation, CommentEntry, CommentsPanel, ComposeLoadingState, EntityTagsPage, EntityTypeBadges, ErrorBoundary, ExportCard, Footer, HighlightEntry, HighlightPanel, HistoryEvent, ImageURLSchema, ImageViewer, ImportCard, ImportProgress, JsonLdPanel, JsonLdView, KeyboardShortcutsHelpModal, LeftSidebar, LinkedDataPage, LiveRegionProvider, NavigationMenu, OAuthUserSchema, ObservableLink, PageLayout, PanelHeader, PermissionDeniedModal, PopupContainer, PopupHeader, ProtectedErrorBoundary, RESOURCE_PANELS, RecentDocumentsPage, ReferenceEntry, ReferenceResolutionWidget, ReferenceWizardModal, ReferencesPanel, ResizeHandle, ResourceAnnotationsProvider, ResourceCard, ResourceComposePage, ResourceDiscoveryPage, ResourceErrorState, ResourceInfoPanel, ResourceLoadingState, ResourceSearchModal, ResourceTagsInline, ResourceViewer, ResourceViewerPage, SearchModal, SelectedTextDisplay, SemiontBranding, SemiontFavicon, SemiontProvider, SessionExpiredModal, SessionExpiryBanner, SessionTimer, SettingsPanel, SignInForm, SignUpForm, SimpleNavigation, SkipLinks, SortableResourceTab, StatisticsPanel, StatusDisplay, SvgDrawingCanvas, TagEntry, TagSchemasPage, TaggingPanel, ThemeProvider, ToastContainer, ToastProvider, Toolbar, TranslationProvider, UnifiedAnnotationsPanel, UnifiedHeader, UploadProgressBar, UserMenuSkeleton, WebBrowserStorage, WelcomePage, applyHighlights, buildSourceToRenderedMap, buildTextNodeIndex, buttonStyles, clearHighlights, createAdminSecurityStateUnit, createAdminUsersStateUnit, createComposePageStateUnit, createDiscoverStateUnit, createEntityTagsStateUnit, createExchangeStateUnit, createResourceLoaderStateUnit, createResourceViewerPageStateUnit, createSessionStateUnit, createShellStateUnit, createWelcomeStateUnit, cssVariables, faviconPaths, formatTime, generateCSSVariables, getResourceIcon, getSelectedShapeForSelectorType, getSelectorType, getShortcutDisplay, getSupportedShapes, hideWidgetPreview, isShapeSupported, jsonLightHighlightStyle, jsonLightTheme, resolveAnnotationRanges, sanitizeImageURL, saveSelectedShapeForSelectorType, setPdfWorkerSrc, showWidgetPreview, supportsDetection, toOverlayAnnotations, tokens, useAnnotationManager, useDebounce, useDebouncedCallback, useDocumentAnnouncements, useDoubleKeyPress, useDropdown, useEventSubscription, useEventSubscriptions, useFormAnnouncements, useHoverDelay, useHoverEmitter, useIsTyping, useKeyboardShortcuts, useLanguageChangeAnnouncements, useLineNumbers, useLiveRegion, useLoadingState, useLocalStorage, useObservable, useObservableExternalNavigation, useObservableRouter, usePanelWidth, usePreloadTranslations, useResourceAnnotations, useResourceContent, useResourceLoadingAnnouncements, useRovingTabIndex, useSearchAnnouncements, useSemiont, useSessionExpiry, useShellStateUnit, useStateUnit, useTheme, useToast, useTranslations };
3734
- export type { AdminDevOpsPageProps, AdminExchangePageProps, AdminExchangePageTranslations, AdminSecurityPageProps, AdminSecurityStateUnit, AdminUser, AdminUserStats, AdminUsersPageProps, AdminUsersStateUnit, AnnotationConfig, AnnotationCreationHandler, AnnotationGroups, AnnotationHandlers, AnnotationManager, AnnotationProviderProps, AnnotationUIState, AnnotationsCollection, Annotator, AuthErrorDisplayProps, AvailableLocale, BorderRadiusToken, ButtonGroupProps, ButtonProps, ClickAction, CloneData, CollapsibleResourceNavigationProps, ColorToken, ComposeLoadingStateProps, ComposeMode, ComposePageStateUnit, ComposeParams, CreateAnnotationParams, CreateConfig, DeleteAnnotationParams, DetectionConfig, DevOpsFeature, DiscoverStateUnit, DrawingMode, EntityTagsPageProps, EntityTagsStateUnit, ExchangeStateUnit, ExportCardProps, ExportCardTranslations, HoverEmitterProps, ImportCardProps, ImportCardTranslations, ImportPreview, ImportProgressProps, ImportProgressTranslations, KeyboardShortcut, LinkComponentProps, LinkedDataPageProps, LinkedDataPageTranslations, Motivation$8 as Motivation, NavigationItem, NavigationMenuHelper, NavigationProps, OAuthProvider, OAuthUser, ObservableLinkProps, OverlayAnnotation, RecentDocumentsPageProps, ReferenceData, ReferenceWizardModalProps, ResolvedTheme, ResourceCardProps, ResourceComposePageProps, ResourceDiscoveryPageProps, ResourceErrorStateProps, ResourceLoaderStateUnit, ResourceSearchModalProps, ResourceViewerPageProps, ResourceViewerPageStateUnit, RouteBuilder, SaveResourceParams$1 as SaveResourceParams, SearchModalProps, SelectionMotivation, SelectorType, SemiontProviderProps, SemiontResource$1 as SemiontResource, SessionStateUnit, ShadowToken, ShapeType, ShellStateUnit, ShellStateUnitOptions, SignInFormProps, SignUpFormProps, SimpleNavigationItem, SimpleNavigationProps, SortableResourceTabProps, SpacingToken, TagSchemasPageProps, TextSegment, TextSelection, Theme, ToastMessage, ToastType, ToolbarPanelType, TransitionToken, TranslationManager, TranslationProviderProps, TypographyToken, UICreateAnnotationParams, UploadProgressBarProps, UseResourceContentResult, WelcomePageProps, WelcomeStateUnit, WizardState };
4091
+ export { ANNOTATORS, AVAILABLE_LOCALES, AdminDevOpsPage, AdminExchangePage, AdminSecurityPage, AdminUsersPage, AnnotateReferencesProgressWidget, AnnotateToolbar, AnnotateView, AnnotationHistory, AnnotationOverlay, AnnotationProvider, AssessmentEntry, AssessmentPanel, AssistSection, AsyncErrorBoundary, AuthErrorDisplay, BrowseView, Button, ButtonGroup, COMMON_PANELS, CodeMirrorRenderer, CollaborationPanel, CollapsibleResourceNavigation, CommentEntry, CommentsPanel, ComposeLoadingState, EntityTagsPage, EntityTypeBadges, ErrorBoundary, ExportCard, Footer, HighlightEntry, HighlightPanel, HistoryEvent, ImageBrowseRenderer, ImageURLSchema, ImageViewer, ImportCard, ImportProgress, JsonLdPanel, JsonLdView, KeyboardShortcutsHelpModal, LeftSidebar, LinkedDataPage, LiveRegionProvider, NavigationMenu, OAuthUserSchema, ObservableLink, PageLayout, PanelHeader, PdfBrowseRenderer, PermissionDeniedModal, PopupContainer, PopupHeader, ProtectedErrorBoundary, RESOURCE_PANELS, RecentDocumentsPage, ReferenceEntry, ReferenceResolutionWidget, ReferenceWizardModal, ReferencesPanel, ResizeHandle, ResourceAnnotationsProvider, ResourceCard, ResourceComposePage, ResourceDiscoveryPage, ResourceErrorState, ResourceGenerateModal, ResourceInfoPanel, ResourceLoadingState, ResourceSearchModal, ResourceTagsInline, ResourceViewer, ResourceViewerPage, SearchModal, SelectedTextDisplay, SemiontBranding, SemiontFavicon, SemiontProvider, SessionExpiredModal, SessionExpiryBanner, SessionTimer, SettingsPanel, SignInForm, SignUpForm, SimpleNavigation, SkipLinks, SortableResourceTab, StatisticsPanel, StatusDisplay, SvgDrawingCanvas, TagEntry, TagSchemasPage, TaggingPanel, TextBrowseRenderer, ThemeProvider, ToastContainer, ToastProvider, Toolbar, TranslationProvider, UnifiedAnnotationsPanel, UnifiedHeader, UploadProgressBar, UserMenuSkeleton, WebBrowserStorage, WelcomePage, applyHighlights, buildSourceToRenderedMap, buildTextNodeIndex, buttonStyles, clearHighlights, createAdminSecurityStateUnit, createAdminUsersStateUnit, createComposePageStateUnit, createDiscoverStateUnit, createEntityTagsStateUnit, createExchangeStateUnit, createResourceLoaderStateUnit, createResourceViewerPageStateUnit, createSessionStateUnit, createShellStateUnit, createWelcomeStateUnit, cssVariables, defaultBrowseRenderers, faviconPaths, formatTime, generateCSSVariables, getResourceIcon, getSelectedShapeForSelectorType, getSelectorType, getShortcutDisplay, getSupportedShapes, hideWidgetPreview, isShapeSupported, jsonLightHighlightStyle, jsonLightTheme, resolveAnnotationRanges, sanitizeImageURL, saveSelectedShapeForSelectorType, setPdfWorkerSrc, showWidgetPreview, supportsDetection, toOverlayAnnotations, tokens, useAnnotationManager, useDebounce, useDebouncedCallback, useDocumentAnnouncements, useDoubleKeyPress, useDropdown, useEventSubscription, useEventSubscriptions, useFormAnnouncements, useHoverDelay, useHoverEmitter, useIsTyping, useKeyboardShortcuts, useLanguageChangeAnnouncements, useLineNumbers, useLiveRegion, useLoadingState, useLocalStorage, useMediaToken, useObservable, useObservableExternalNavigation, useObservableRouter, usePanelWidth, usePendingCreation, usePreloadTranslations, useResourceAnnotations, useResourceContent, useResourceGather, useResourceLoader, useResourceLoadingAnnouncements, useRovingTabIndex, useSearchAnnouncements, useSemiont, useSessionEventSubscriptions, useSessionExpiry, useShellStateUnit, useStateUnit, useTheme, useToast, useToolbarPrefs, useTranslations };
4092
+ export type { AdminDevOpsPageProps, AdminExchangePageProps, AdminExchangePageTranslations, AdminSecurityPageProps, AdminSecurityStateUnit, AdminUser, AdminUserStats, AdminUsersPageProps, AdminUsersStateUnit, AnnotationConfig, AnnotationCreationHandler, AnnotationGroups, AnnotationHandlers, AnnotationManager, AnnotationProviderProps, AnnotationUIState, AnnotationsCollection, Annotator, AuthErrorDisplayProps, AvailableLocale, BorderRadiusToken, BrowseMediaRenderers, ButtonGroupProps, ButtonProps, ClickAction, CloneData, CollapsibleResourceNavigationProps, ColorToken, ComposeLoadingStateProps, ComposeMode, ComposePageStateUnit, ComposeParams, CreateAnnotationParams, CreateConfig, DeleteAnnotationParams, DetectionConfig, DevOpsFeature, DiscoverStateUnit, DrawingMode, EntityTagsPageProps, EntityTagsStateUnit, ExchangeStateUnit, ExportCardProps, ExportCardTranslations, HoverEmitterProps, ImportCardProps, ImportCardTranslations, ImportPreview, ImportProgressProps, ImportProgressTranslations, JobProgressWidgetTranslations, KeyboardShortcut, LinkComponentProps, LinkedDataPageProps, LinkedDataPageTranslations, MediaRendererProps, Motivation$8 as Motivation, NavigationItem, NavigationMenuHelper, NavigationProps, OAuthProvider, OAuthUser, ObservableLinkProps, OverlayAnnotation, PendingCreation, RecentDocumentsPageProps, ReferenceData, ReferenceHover, ReferenceWizardModalProps, ResolvedTheme, ResourceCardProps, ResourceComposePageProps, ResourceDiscoveryPageProps, ResourceErrorStateProps, ResourceGatherOptions, ResourceGenerateModalProps, ResourceGenerateModalTranslations, ResourceLoaderStateUnit, ResourceSearchModalProps, ResourceViewerPageProps, ResourceViewerPageStateUnit, RouteBuilder, SaveResourceParams$1 as SaveResourceParams, SearchModalProps, SelectionMotivation, SelectorType, SemiontProviderProps, SemiontResource$1 as SemiontResource, SessionStateUnit, ShadowToken, ShapeType, ShellStateUnit, ShellStateUnitOptions, SignInFormProps, SignUpFormProps, SimpleNavigationItem, SimpleNavigationProps, SortableResourceTabProps, SpacingToken, TagSchemasPageProps, TextSegment, TextSelection, Theme, ToastMessage, ToastType, ToolbarPanelType, ToolbarPart, ToolbarPrefs, TransitionToken, TranslationManager, TranslationProviderProps, TypographyToken, UICreateAnnotationParams, UploadProgressBarProps, UseMediaTokenResult, UseResourceContentResult, UseResourceGatherResult, UseResourceLoaderResult, WelcomePageProps, WelcomeStateUnit, WizardState };