@semiont/react-ui 0.2.30 → 0.2.31

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 (225) hide show
  1. package/README.md +34 -1
  2. package/dist/{ar-TQSFB35U.mjs → ar-6QTTYSKD.mjs} +44 -2
  3. package/dist/ar-6QTTYSKD.mjs.map +1 -0
  4. package/dist/{bn-525U24T3.mjs → bn-AHD2VP4T.mjs} +44 -2
  5. package/dist/bn-AHD2VP4T.mjs.map +1 -0
  6. package/dist/{chunk-BHAP6MVA.mjs → chunk-GDEHLKCO.mjs} +44 -2
  7. package/dist/chunk-GDEHLKCO.mjs.map +1 -0
  8. package/dist/{chunk-W6E2UESX.mjs → chunk-WHI4ECK4.mjs} +89 -47
  9. package/dist/chunk-WHI4ECK4.mjs.map +1 -0
  10. package/dist/{cs-OYWTGLFM.mjs → cs-WKZ5PTM3.mjs} +44 -2
  11. package/dist/cs-WKZ5PTM3.mjs.map +1 -0
  12. package/dist/{da-BDXG2ITK.mjs → da-JLWQLEH2.mjs} +44 -2
  13. package/dist/da-JLWQLEH2.mjs.map +1 -0
  14. package/dist/{de-NB5JLMES.mjs → de-TOCT63PC.mjs} +44 -2
  15. package/dist/de-TOCT63PC.mjs.map +1 -0
  16. package/dist/{el-3SVXEAJI.mjs → el-2XXDPBHO.mjs} +44 -2
  17. package/dist/el-2XXDPBHO.mjs.map +1 -0
  18. package/dist/{en-DVB4OE2R.mjs → en-OAKDUA6C.mjs} +10 -2
  19. package/dist/{es-YBOFA3W5.mjs → es-VQZSZSKB.mjs} +44 -2
  20. package/dist/es-VQZSZSKB.mjs.map +1 -0
  21. package/dist/{fa-7MU36AMY.mjs → fa-HFYV6XFA.mjs} +44 -2
  22. package/dist/fa-HFYV6XFA.mjs.map +1 -0
  23. package/dist/{fi-PQKJB32G.mjs → fi-GYTT42QN.mjs} +44 -2
  24. package/dist/fi-GYTT42QN.mjs.map +1 -0
  25. package/dist/{fr-U4HK5GM6.mjs → fr-RBOM5A35.mjs} +44 -2
  26. package/dist/fr-RBOM5A35.mjs.map +1 -0
  27. package/dist/{he-F5MNZHAL.mjs → he-KNB7K2AV.mjs} +44 -2
  28. package/dist/he-KNB7K2AV.mjs.map +1 -0
  29. package/dist/{hi-2PHI37ZX.mjs → hi-QJ6E72XH.mjs} +44 -2
  30. package/dist/hi-QJ6E72XH.mjs.map +1 -0
  31. package/dist/{id-JPRBNCGS.mjs → id-EKQVDHC7.mjs} +44 -2
  32. package/dist/id-EKQVDHC7.mjs.map +1 -0
  33. package/dist/index.d.mts +775 -127
  34. package/dist/index.mjs +8786 -2892
  35. package/dist/index.mjs.map +1 -1
  36. package/dist/{it-MRLWI5OS.mjs → it-43QKJZRF.mjs} +44 -2
  37. package/dist/it-43QKJZRF.mjs.map +1 -0
  38. package/dist/{ja-YQ6RPI2T.mjs → ja-SZUXDDO5.mjs} +44 -2
  39. package/dist/ja-SZUXDDO5.mjs.map +1 -0
  40. package/dist/{ko-DUAVCEXX.mjs → ko-HIR2TG2Q.mjs} +44 -2
  41. package/dist/ko-HIR2TG2Q.mjs.map +1 -0
  42. package/dist/{ms-FBHSR4PG.mjs → ms-6EJXSDHO.mjs} +44 -2
  43. package/dist/ms-6EJXSDHO.mjs.map +1 -0
  44. package/dist/{nl-IC2MPZXN.mjs → nl-AAAXD3KD.mjs} +44 -2
  45. package/dist/nl-AAAXD3KD.mjs.map +1 -0
  46. package/dist/{no-LLD43NRM.mjs → no-CEBS75VU.mjs} +44 -2
  47. package/dist/no-CEBS75VU.mjs.map +1 -0
  48. package/dist/{pl-DDOJBR4D.mjs → pl-SIB6PH3I.mjs} +44 -2
  49. package/dist/pl-SIB6PH3I.mjs.map +1 -0
  50. package/dist/{pt-7TFHQRRN.mjs → pt-6BMNSQTQ.mjs} +44 -2
  51. package/dist/pt-6BMNSQTQ.mjs.map +1 -0
  52. package/dist/{ro-P4PJEGDU.mjs → ro-63CZRSZ7.mjs} +44 -2
  53. package/dist/ro-63CZRSZ7.mjs.map +1 -0
  54. package/dist/{sv-LF3VEQD2.mjs → sv-BRAAQGIC.mjs} +44 -2
  55. package/dist/sv-BRAAQGIC.mjs.map +1 -0
  56. package/dist/test-utils.mjs +2 -2
  57. package/dist/{th-YUQAOFXF.mjs → th-DQEDBNDR.mjs} +44 -2
  58. package/dist/th-DQEDBNDR.mjs.map +1 -0
  59. package/dist/{tr-CSIGLMJC.mjs → tr-IR5MEUEU.mjs} +44 -2
  60. package/dist/tr-IR5MEUEU.mjs.map +1 -0
  61. package/dist/{uk-LW3QBKSR.mjs → uk-BVRTOFAO.mjs} +44 -2
  62. package/dist/uk-BVRTOFAO.mjs.map +1 -0
  63. package/dist/{vi-W464Y6ZC.mjs → vi-QRBKNVJA.mjs} +44 -2
  64. package/dist/vi-QRBKNVJA.mjs.map +1 -0
  65. package/dist/{zh-R5XLM3EI.mjs → zh-VQVBROMT.mjs} +44 -2
  66. package/dist/zh-VQVBROMT.mjs.map +1 -0
  67. package/package.json +44 -6
  68. package/public/favicons/android-chrome-192x192.png +0 -0
  69. package/public/favicons/android-chrome-512x512.png +0 -0
  70. package/public/favicons/apple-touch-icon.png +0 -0
  71. package/public/favicons/favicon-128x128.png +0 -0
  72. package/public/favicons/favicon-16x16.png +0 -0
  73. package/public/favicons/favicon-32x32.png +0 -0
  74. package/public/favicons/favicon-48x48.png +0 -0
  75. package/public/favicons/favicon-64x64.png +0 -0
  76. package/public/favicons/favicon-96x96.png +0 -0
  77. package/public/favicons/favicon.ico +0 -0
  78. package/public/favicons/favicon.svg +47 -0
  79. package/public/favicons/site.webmanifest +19 -0
  80. package/src/examples/ButtonUsageExample.tsx +242 -0
  81. package/src/examples/button-css-modules.module.css +164 -0
  82. package/src/examples/button-styled-components.tsx +215 -0
  83. package/src/examples/button-tailwind.css +51 -0
  84. package/src/integrations/css-modules-helper.tsx +223 -0
  85. package/src/integrations/styled-components-theme.ts +405 -0
  86. package/src/integrations/tailwind-plugin.js +224 -0
  87. package/src/styles/base/reset.css +105 -0
  88. package/src/styles/base/utilities.css +465 -0
  89. package/src/styles/components/annotation-entries.css +138 -0
  90. package/src/styles/components/annotations.css +51 -0
  91. package/src/styles/components/auth.css +309 -0
  92. package/src/styles/components/branding.css +131 -0
  93. package/src/styles/components/cards.css +136 -0
  94. package/src/styles/components/collapsible-resource-navigation.css +161 -0
  95. package/src/styles/components/detection-widget.css +499 -0
  96. package/src/styles/components/footer.css +98 -0
  97. package/src/styles/components/header.css +109 -0
  98. package/src/styles/components/left-sidebar.css +138 -0
  99. package/src/styles/components/modals.css +672 -0
  100. package/src/styles/components/navigation-menu.css +59 -0
  101. package/src/styles/components/navigation-tabs.css +474 -0
  102. package/src/styles/components/panel-sections.css +440 -0
  103. package/src/styles/components/panels-base.css +404 -0
  104. package/src/styles/components/panels.css +100 -0
  105. package/src/styles/components/references.css +430 -0
  106. package/src/styles/components/resize-handle.css +110 -0
  107. package/src/styles/components/search-modal.css +463 -0
  108. package/src/styles/components/skip-links.css +101 -0
  109. package/src/styles/components/status-display.css +409 -0
  110. package/src/styles/components/tables.css +199 -0
  111. package/src/styles/components/toast.css +130 -0
  112. package/src/styles/components/toolbar.css +201 -0
  113. package/src/styles/core/badges.css +209 -0
  114. package/src/styles/core/buttons.css +781 -0
  115. package/src/styles/core/checkboxes.css +92 -0
  116. package/src/styles/core/forms.css +254 -0
  117. package/src/styles/core/index.css +43 -0
  118. package/src/styles/core/indicators.css +225 -0
  119. package/src/styles/core/inputs.css +117 -0
  120. package/src/styles/core/progress.css +170 -0
  121. package/src/styles/core/selects.css +135 -0
  122. package/src/styles/core/sliders.css +236 -0
  123. package/src/styles/core/tags.css +203 -0
  124. package/src/styles/core/textareas.css +134 -0
  125. package/src/styles/core/toggles.css +86 -0
  126. package/src/styles/features/admin.css +293 -0
  127. package/src/styles/features/compose.css +192 -0
  128. package/src/styles/features/devops.css +154 -0
  129. package/src/styles/features/entity-tags.css +140 -0
  130. package/src/styles/features/recent-docs.css +97 -0
  131. package/src/styles/features/resource-discovery.css +387 -0
  132. package/src/styles/features/resource-viewer.css +508 -0
  133. package/src/styles/features/resource.css +506 -0
  134. package/src/styles/features/schemas.css +222 -0
  135. package/src/styles/features/static-pages.css +589 -0
  136. package/src/styles/features/welcome.css +81 -0
  137. package/src/styles/index.css +93 -0
  138. package/src/styles/layout/layout.css +85 -0
  139. package/src/styles/motivations/motivation-assessment.css +234 -0
  140. package/src/styles/motivations/motivation-comment.css +245 -0
  141. package/src/styles/motivations/motivation-highlight.css +195 -0
  142. package/src/styles/motivations/motivation-reference.css +210 -0
  143. package/src/styles/motivations/motivation-tag.css +254 -0
  144. package/src/styles/panels/assessment-panel.css +91 -0
  145. package/src/styles/panels/collaboration-panel.css +222 -0
  146. package/src/styles/panels/comments-panel.css +130 -0
  147. package/src/styles/panels/highlight-panel.css +63 -0
  148. package/src/styles/panels/history-panel.css +301 -0
  149. package/src/styles/panels/jsonld-panel.css +41 -0
  150. package/src/styles/panels/references-panel.css +85 -0
  151. package/src/styles/panels/resource-info-panel.css +230 -0
  152. package/src/styles/panels/settings-panel.css +58 -0
  153. package/src/styles/panels/statistics-panel.css +147 -0
  154. package/src/styles/panels/tagging-panel.css +59 -0
  155. package/src/styles/panels/unified-annotations-panel.css +133 -0
  156. package/src/styles/panels/user-panel.css +24 -0
  157. package/src/styles/patterns/errors.css +24 -0
  158. package/src/styles/patterns/loading.css +26 -0
  159. package/src/styles/utilities/contrast.css +443 -0
  160. package/src/styles/utilities/focus-extended.css +539 -0
  161. package/src/styles/utilities/focus.css +108 -0
  162. package/src/styles/utilities/motion-overrides.css +378 -0
  163. package/src/styles/utilities/motion.css +370 -0
  164. package/src/styles/utilities/semantic-indicators.css +321 -0
  165. package/src/styles/variables.css +354 -0
  166. package/translations/ar.json +35 -1
  167. package/translations/bn.json +35 -1
  168. package/translations/cs.json +35 -1
  169. package/translations/da.json +35 -1
  170. package/translations/de.json +35 -1
  171. package/translations/el.json +35 -1
  172. package/translations/en.json +35 -1
  173. package/translations/es.json +35 -1
  174. package/translations/fa.json +35 -1
  175. package/translations/fi.json +35 -1
  176. package/translations/fr.json +35 -1
  177. package/translations/he.json +35 -1
  178. package/translations/hi.json +35 -1
  179. package/translations/id.json +35 -1
  180. package/translations/it.json +35 -1
  181. package/translations/ja.json +35 -1
  182. package/translations/ko.json +35 -1
  183. package/translations/ms.json +35 -1
  184. package/translations/nl.json +35 -1
  185. package/translations/no.json +35 -1
  186. package/translations/pl.json +35 -1
  187. package/translations/pt.json +35 -1
  188. package/translations/ro.json +35 -1
  189. package/translations/sv.json +35 -1
  190. package/translations/th.json +35 -1
  191. package/translations/tr.json +35 -1
  192. package/translations/uk.json +35 -1
  193. package/translations/vi.json +35 -1
  194. package/translations/zh.json +35 -1
  195. package/dist/ar-TQSFB35U.mjs.map +0 -1
  196. package/dist/bn-525U24T3.mjs.map +0 -1
  197. package/dist/chunk-BHAP6MVA.mjs.map +0 -1
  198. package/dist/chunk-W6E2UESX.mjs.map +0 -1
  199. package/dist/cs-OYWTGLFM.mjs.map +0 -1
  200. package/dist/da-BDXG2ITK.mjs.map +0 -1
  201. package/dist/de-NB5JLMES.mjs.map +0 -1
  202. package/dist/el-3SVXEAJI.mjs.map +0 -1
  203. package/dist/es-YBOFA3W5.mjs.map +0 -1
  204. package/dist/fa-7MU36AMY.mjs.map +0 -1
  205. package/dist/fi-PQKJB32G.mjs.map +0 -1
  206. package/dist/fr-U4HK5GM6.mjs.map +0 -1
  207. package/dist/he-F5MNZHAL.mjs.map +0 -1
  208. package/dist/hi-2PHI37ZX.mjs.map +0 -1
  209. package/dist/id-JPRBNCGS.mjs.map +0 -1
  210. package/dist/it-MRLWI5OS.mjs.map +0 -1
  211. package/dist/ja-YQ6RPI2T.mjs.map +0 -1
  212. package/dist/ko-DUAVCEXX.mjs.map +0 -1
  213. package/dist/ms-FBHSR4PG.mjs.map +0 -1
  214. package/dist/nl-IC2MPZXN.mjs.map +0 -1
  215. package/dist/no-LLD43NRM.mjs.map +0 -1
  216. package/dist/pl-DDOJBR4D.mjs.map +0 -1
  217. package/dist/pt-7TFHQRRN.mjs.map +0 -1
  218. package/dist/ro-P4PJEGDU.mjs.map +0 -1
  219. package/dist/sv-LF3VEQD2.mjs.map +0 -1
  220. package/dist/th-YUQAOFXF.mjs.map +0 -1
  221. package/dist/tr-CSIGLMJC.mjs.map +0 -1
  222. package/dist/uk-LW3QBKSR.mjs.map +0 -1
  223. package/dist/vi-W464Y6ZC.mjs.map +0 -1
  224. package/dist/zh-R5XLM3EI.mjs.map +0 -1
  225. /package/dist/{en-DVB4OE2R.mjs.map → en-OAKDUA6C.mjs.map} +0 -0
package/dist/index.d.mts CHANGED
@@ -1,10 +1,10 @@
1
1
  import * as _semiont_api_client from '@semiont/api-client';
2
- import { components, ResourceUri, Selector, GenerationContext, SemiontApiClient, AnnotationUri, ResourceAnnotationUri, ValidationResult, DetectionProgress as DetectionProgress$1, GenerationProgress as GenerationProgress$1, ResourceEvent as ResourceEvent$1, StoredEvent, paths } from '@semiont/api-client';
2
+ import { components, ResourceUri, Selector, SemiontApiClient, AnnotationUri, ResourceAnnotationUri, ValidationResult, DetectionProgress as DetectionProgress$1, GenerationProgress as GenerationProgress$1, GenerationContext, ResourceEvent as ResourceEvent$1, StoredEvent, paths } from '@semiont/api-client';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { A as ApiClientManager, O as OpenResourcesManager, S as SessionManager, T as TranslationManager } from './TranslationManager-Co_5fSxl.mjs';
5
- export { a as OpenResource, b as SessionState } from './TranslationManager-Co_5fSxl.mjs';
5
+ export { a as OpenResourceFromManager, b as SessionState } from './TranslationManager-Co_5fSxl.mjs';
6
6
  import * as React$1 from 'react';
7
- import React__default, { MutableRefObject, KeyboardEvent as KeyboardEvent$1, ReactNode, Component, ErrorInfo } from 'react';
7
+ import React__default, { ComponentType, ReactNode, MutableRefObject, KeyboardEvent as KeyboardEvent$1, Component, ErrorInfo } from 'react';
8
8
  import * as _tanstack_react_query from '@tanstack/react-query';
9
9
  import { UseQueryOptions } from '@tanstack/react-query';
10
10
  import * as _codemirror_state from '@codemirror/state';
@@ -16,17 +16,17 @@ import { VFile } from 'vfile';
16
16
  import { TagSchema } from '@semiont/ontology';
17
17
  export { TAG_SCHEMAS, TagCategory, TagSchema, getAllTagSchemas, getSchemaCategory as getTagCategory, getTagSchema, getTagSchemasByDomain, isValidCategory } from '@semiont/ontology';
18
18
 
19
- type Annotation$o = components['schemas']['Annotation'];
19
+ type Annotation$p = components['schemas']['Annotation'];
20
20
  /**
21
21
  * Collection of all annotation types for a resource.
22
22
  * Replaces separate highlights, references, assessments, comments, tags props.
23
23
  */
24
24
  interface AnnotationsCollection {
25
- highlights: Annotation$o[];
26
- references: Annotation$o[];
27
- assessments: Annotation$o[];
28
- comments: Annotation$o[];
29
- tags: Annotation$o[];
25
+ highlights: Annotation$p[];
26
+ references: Annotation$p[];
27
+ assessments: Annotation$p[];
28
+ comments: Annotation$p[];
29
+ tags: Annotation$p[];
30
30
  }
31
31
  /**
32
32
  * Event handlers for annotation interactions.
@@ -34,7 +34,7 @@ interface AnnotationsCollection {
34
34
  */
35
35
  interface AnnotationHandlers {
36
36
  /** Unified click handler - routes based on annotation type and current mode */
37
- onClick?: (annotation: Annotation$o, event?: React.MouseEvent) => void;
37
+ onClick?: (annotation: Annotation$p, event?: React.MouseEvent) => void;
38
38
  /** Unified hover handler for all annotation types */
39
39
  onHover?: (annotationId: string | null) => void;
40
40
  /** Hover handler specifically for comment panel highlighting */
@@ -81,7 +81,7 @@ interface UICreateAnnotationParams {
81
81
  * - linking: Shows Quick Reference popup FIRST, creates when user confirms
82
82
  */
83
83
  interface AnnotationCreationHandler {
84
- onCreate?: (params: UICreateAnnotationParams) => void | Promise<void> | Promise<Annotation$o | undefined>;
84
+ onCreate?: (params: UICreateAnnotationParams) => void | Promise<void> | Promise<Annotation$p | undefined>;
85
85
  }
86
86
  /**
87
87
  * UI state for annotation toolbar and interactions.
@@ -116,7 +116,7 @@ interface AnnotationConfig {
116
116
  annotateMode?: boolean;
117
117
  }
118
118
 
119
- type Annotation$n = components['schemas']['Annotation'];
119
+ type Annotation$o = components['schemas']['Annotation'];
120
120
  /**
121
121
  * Parameters for creating an annotation
122
122
  */
@@ -163,7 +163,7 @@ interface AnnotationManager {
163
163
  * @param params - Creation parameters (rUri, motivation, selector, body)
164
164
  * @returns Promise resolving to the created annotation, or undefined if creation fails
165
165
  */
166
- createAnnotation: (params: CreateAnnotationParams) => Promise<Annotation$n | undefined>;
166
+ createAnnotation: (params: CreateAnnotationParams) => Promise<Annotation$o | undefined>;
167
167
  /**
168
168
  * Delete an annotation
169
169
  * @param params - Deletion parameters (annotationId, rUri)
@@ -228,13 +228,47 @@ interface CacheManager {
228
228
  invalidateEvents: (rUri: ResourceUri) => void | Promise<void>;
229
229
  }
230
230
 
231
+ /**
232
+ * Represents a single navigation item
233
+ */
234
+ interface NavigationItem {
235
+ /** Display name for the navigation item */
236
+ name: string;
237
+ /** Target URL/path for the navigation item */
238
+ href: string;
239
+ /** Icon component to display */
240
+ icon: ComponentType<any>;
241
+ /** Optional description/tooltip text */
242
+ description?: string;
243
+ }
244
+ /**
245
+ * Props for navigation components that need framework-specific routing
246
+ */
247
+ interface NavigationProps {
248
+ /** List of navigation items to display */
249
+ items: NavigationItem[];
250
+ /** Current active path for highlighting */
251
+ currentPath: string;
252
+ /** Framework-specific Link component (e.g., Next.js Link) */
253
+ LinkComponent: ComponentType<{
254
+ href: string;
255
+ className?: string;
256
+ children: ReactNode;
257
+ title?: string;
258
+ }>;
259
+ /** Optional CSS class name */
260
+ className?: string;
261
+ /** Optional section title */
262
+ title?: string;
263
+ }
264
+
231
265
  /**
232
266
  * Type definitions for resource viewer feature
233
267
  */
234
268
 
235
- type SemiontResource$2 = components['schemas']['ResourceDescriptor'];
236
- type Annotation$m = components['schemas']['Annotation'];
237
- type Motivation$2 = components['schemas']['Motivation'];
269
+ type SemiontResource$3 = components['schemas']['ResourceDescriptor'];
270
+ type Annotation$n = components['schemas']['Annotation'];
271
+ type Motivation$4 = components['schemas']['Motivation'];
238
272
  /**
239
273
  * Selection for creating annotations
240
274
  */
@@ -246,17 +280,6 @@ interface TextSelection {
246
280
  suffix?: string;
247
281
  svgSelector?: string;
248
282
  }
249
- /**
250
- * Generation options
251
- */
252
- interface GenerationOptions {
253
- title: string;
254
- prompt?: string;
255
- language?: string;
256
- temperature?: number;
257
- maxTokens?: number;
258
- context?: GenerationContext;
259
- }
260
283
 
261
284
  /**
262
285
  * Centralized annotation type registry
@@ -272,8 +295,8 @@ interface GenerationOptions {
272
295
  * No aliasing, wrappers, or compatibility layers elsewhere.
273
296
  */
274
297
 
275
- type Annotation$l = components['schemas']['Annotation'];
276
- type Motivation$1 = components['schemas']['Motivation'];
298
+ type Annotation$m = components['schemas']['Annotation'];
299
+ type Motivation$3 = components['schemas']['Motivation'];
277
300
  /**
278
301
  * Detection configuration for SSE-based annotation detection
279
302
  */
@@ -294,7 +317,7 @@ interface DetectionConfig {
294
317
  * Metadata is static (defined in registry), handlers are injected at runtime (from page.tsx)
295
318
  */
296
319
  interface Annotator {
297
- motivation: Motivation$1;
320
+ motivation: Motivation$3;
298
321
  internalType: string;
299
322
  displayName: string;
300
323
  description: string;
@@ -303,11 +326,11 @@ interface Annotator {
303
326
  isClickable: boolean;
304
327
  hasHoverInteraction: boolean;
305
328
  hasSidePanel: boolean;
306
- matchesAnnotation: (annotation: Annotation$l) => boolean;
329
+ matchesAnnotation: (annotation: Annotation$m) => boolean;
307
330
  announceOnCreate: string;
308
331
  detection?: DetectionConfig;
309
332
  handlers?: {
310
- onClick?: (annotation: Annotation$l) => void;
333
+ onClick?: (annotation: Annotation$m) => void;
311
334
  onHover?: (annotationId: string | null) => void;
312
335
  onDetect?: (...args: any[]) => void | Promise<void>;
313
336
  onUpdate?: (annotationId: string, ...args: any[]) => void | Promise<void>;
@@ -323,23 +346,23 @@ declare const ANNOTATORS: Record<string, Annotator>;
323
346
  * Get annotator for an annotation by checking all registered types
324
347
  * Returns null if annotation doesn't match any registered type
325
348
  */
326
- declare function getAnnotator(annotation: Annotation$l): Annotator | null;
349
+ declare function getAnnotator(annotation: Annotation$m): Annotator | null;
327
350
  /**
328
351
  * Get CSS className for an annotation
329
352
  * Falls back to highlight style if no match found
330
353
  */
331
- declare function getAnnotationClassName(annotation: Annotation$l): string;
354
+ declare function getAnnotationClassName(annotation: Annotation$m): string;
332
355
  /**
333
356
  * Get internal type string for an annotation (e.g., 'highlight', 'comment')
334
357
  * Falls back to 'highlight' if no match found
335
358
  */
336
- declare function getAnnotationInternalType(annotation: Annotation$l): string;
359
+ declare function getAnnotationInternalType(annotation: Annotation$m): string;
337
360
  /**
338
361
  * Group annotations by their internal type
339
362
  * Returns a record with keys like 'highlight', 'comment', 'assessment', 'reference'
340
363
  * Each value is an array of annotations of that type
341
364
  */
342
- declare function groupAnnotationsByType(annotations: Annotation$l[]): Record<string, Annotation$l[]>;
365
+ declare function groupAnnotationsByType(annotations: Annotation$m[]): Record<string, Annotation$m[]>;
343
366
  /**
344
367
  * Create a copy of annotators with handlers injected
345
368
  * Use this in page.tsx to inject runtime handlers into the registry
@@ -355,7 +378,7 @@ declare function withHandlers(handlers: Record<string, Annotator['handlers']>):
355
378
  declare function createDetectionHandler(annotator: Annotator, context: {
356
379
  client: any;
357
380
  rUri: any;
358
- setDetectingMotivation: (motivation: Motivation$1 | null) => void;
381
+ setDetectingMotivation: (motivation: Motivation$3 | null) => void;
359
382
  setMotivationDetectionProgress: (progress: any) => void;
360
383
  detectionStreamRef: MutableRefObject<any>;
361
384
  cacheManager: CacheManager;
@@ -368,7 +391,7 @@ declare function createDetectionHandler(annotator: Annotator, context: {
368
391
  */
369
392
  declare function createCancelDetectionHandler(context: {
370
393
  detectionStreamRef: MutableRefObject<any>;
371
- setDetectingMotivation: (motivation: Motivation$1 | null) => void;
394
+ setDetectingMotivation: (motivation: Motivation$3 | null) => void;
372
395
  setMotivationDetectionProgress: (progress: any) => void;
373
396
  }): () => void;
374
397
 
@@ -784,21 +807,21 @@ declare function dispatch403Error(message?: string): void;
784
807
  */
785
808
  declare const buttonStyles: {
786
809
  readonly primary: {
787
- readonly base: "px-6 py-2 bg-gradient-to-r from-cyan-500/20 to-blue-500/20 hover:from-cyan-600 hover:to-blue-600 dark:from-cyan-600/20 dark:to-blue-600/20 dark:hover:from-cyan-500 dark:hover:to-blue-500 text-cyan-700 hover:text-white dark:text-cyan-400 dark:hover:text-white border border-cyan-400/30 hover:border-cyan-600 dark:border-cyan-500/30 dark:hover:border-cyan-400 rounded-lg transition-all duration-300 backdrop-blur-sm disabled:opacity-50 disabled:cursor-not-allowed";
788
- readonly large: "w-full py-3 bg-gradient-to-r from-cyan-500/20 to-blue-500/20 hover:from-cyan-600 hover:to-blue-600 dark:from-cyan-600/20 dark:to-blue-600/20 dark:hover:from-cyan-500 dark:hover:to-blue-500 text-cyan-700 hover:text-white dark:text-cyan-400 dark:hover:text-white border border-cyan-400/30 hover:border-cyan-600 dark:border-cyan-500/30 dark:hover:border-cyan-400 rounded-lg transition-all duration-300 transform hover:scale-[1.02] font-medium flex items-center justify-center gap-2 backdrop-blur-sm disabled:opacity-50 disabled:cursor-not-allowed";
810
+ readonly base: "semiont-button semiont-button--primary";
811
+ readonly large: "semiont-button semiont-button--primary semiont-button--large";
789
812
  };
790
813
  readonly secondary: {
791
- readonly base: "px-6 py-2 bg-black/10 hover:bg-black/20 dark:bg-white/10 dark:hover:bg-white/20 border border-black/20 dark:border-white/20 text-gray-900 dark:text-white rounded-lg disabled:opacity-50 disabled:cursor-not-allowed transition-all duration-300";
792
- readonly withScale: "px-6 py-2 bg-black/10 hover:bg-black/20 dark:bg-white/10 dark:hover:bg-white/20 border border-black/20 dark:border-white/20 text-gray-900 dark:text-white rounded-lg disabled:opacity-50 disabled:cursor-not-allowed transition-all duration-300 transform hover:scale-105";
814
+ readonly base: "semiont-button semiont-button--secondary";
815
+ readonly withScale: "semiont-button semiont-button--secondary semiont-button--scale";
793
816
  };
794
817
  readonly tertiary: {
795
- readonly base: "px-4 py-2 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors";
818
+ readonly base: "semiont-button semiont-button--tertiary";
796
819
  };
797
820
  readonly danger: {
798
- readonly base: "px-6 py-2 text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20 border border-red-200 dark:border-red-800 rounded-lg transition-all duration-300";
821
+ readonly base: "semiont-button semiont-button--danger";
799
822
  };
800
823
  readonly warning: {
801
- readonly base: "px-6 py-2 bg-yellow-400/20 hover:bg-yellow-400/30 dark:bg-yellow-500/20 dark:hover:bg-yellow-500/30 text-yellow-800 hover:text-yellow-900 dark:text-yellow-300 dark:hover:text-yellow-200 border border-yellow-400/30 hover:border-yellow-500 dark:border-yellow-500/30 dark:hover:border-yellow-400 rounded-lg transition-all duration-300 backdrop-blur-sm";
824
+ readonly base: "semiont-button semiont-button--warning";
802
825
  };
803
826
  readonly combine: (...classes: string[]) => string;
804
827
  };
@@ -815,18 +838,18 @@ declare const jsonLightHighlightStyle: HighlightStyle;
815
838
  * - Entity type badges
816
839
  */
817
840
 
818
- type Annotation$k = components['schemas']['Annotation'];
841
+ type Annotation$l = components['schemas']['Annotation'];
819
842
  /**
820
843
  * Reference Resolution Widget
821
844
  * Shows a small indicator next to references with hover preview
822
845
  */
823
846
  declare class ReferenceResolutionWidget extends WidgetType {
824
- readonly annotation: Annotation$k;
847
+ readonly annotation: Annotation$l;
825
848
  readonly targetDocumentName?: string | undefined;
826
849
  readonly onNavigate?: ((documentId: string) => void) | undefined;
827
- readonly onUnresolvedClick?: ((annotation: Annotation$k) => void) | undefined;
850
+ readonly onUnresolvedClick?: ((annotation: Annotation$l) => void) | undefined;
828
851
  readonly isGenerating?: boolean | undefined;
829
- constructor(annotation: Annotation$k, targetDocumentName?: string | undefined, onNavigate?: ((documentId: string) => void) | undefined, onUnresolvedClick?: ((annotation: Annotation$k) => void) | undefined, isGenerating?: boolean | undefined);
852
+ constructor(annotation: Annotation$l, targetDocumentName?: string | undefined, onNavigate?: ((documentId: string) => void) | undefined, onUnresolvedClick?: ((annotation: Annotation$l) => void) | undefined, isGenerating?: boolean | undefined);
830
853
  eq(other: ReferenceResolutionWidget): boolean;
831
854
  toDOM(): HTMLSpanElement;
832
855
  private showPreview;
@@ -986,7 +1009,7 @@ declare const OAuthUserSchema: {
986
1009
  */
987
1010
  declare function sanitizeImageURL(url: string): string | null;
988
1011
 
989
- type Annotation$j = components['schemas']['Annotation'];
1012
+ type Annotation$k = components['schemas']['Annotation'];
990
1013
  /**
991
1014
  * Shared logic for annotation panel components
992
1015
  *
@@ -997,7 +1020,7 @@ type Annotation$j = components['schemas']['Annotation'];
997
1020
  *
998
1021
  * Used by: HighlightPanel, AssessmentPanel, CommentsPanel, ReferencesPanel
999
1022
  */
1000
- declare function useAnnotationPanel<T extends Annotation$j>(annotations: T[], hoveredId: string | null | undefined): {
1023
+ declare function useAnnotationPanel<T extends Annotation$k>(annotations: T[], hoveredId: string | null | undefined): {
1001
1024
  sortedAnnotations: T[];
1002
1025
  containerRef: React$1.RefObject<HTMLDivElement>;
1003
1026
  handleAnnotationRef: (id: string, el: HTMLElement | null) => void;
@@ -1065,6 +1088,16 @@ declare function useFormValidation(options?: UseFormValidationOptions): {
1065
1088
  announceSuccess: (message: string) => void;
1066
1089
  getFieldError: (field: string) => string | null;
1067
1090
  hasErrors: () => boolean;
1091
+ getFieldProps: (fieldName: string) => {
1092
+ 'aria-invalid': boolean;
1093
+ 'aria-describedby': string | undefined;
1094
+ id: string;
1095
+ };
1096
+ getErrorProps: (fieldName: string) => {
1097
+ id: string;
1098
+ role: string;
1099
+ 'aria-live': string;
1100
+ };
1068
1101
  };
1069
1102
  declare const validationRules: {
1070
1103
  required: (message?: string) => (value: any) => string | null;
@@ -1133,6 +1166,42 @@ declare function useLineNumbers(): {
1133
1166
  toggleLineNumbers: () => void;
1134
1167
  };
1135
1168
 
1169
+ interface UsePanelWidthOptions {
1170
+ defaultWidth?: number;
1171
+ minWidth?: number;
1172
+ maxWidth?: number;
1173
+ storageKey?: string;
1174
+ }
1175
+ /**
1176
+ * Custom hook for managing resizable panel width with localStorage persistence
1177
+ *
1178
+ * @param options Configuration options for panel width behavior
1179
+ * @param options.defaultWidth Default width in pixels (default: 384px / 24rem)
1180
+ * @param options.minWidth Minimum allowed width in pixels (default: 256px / 16rem)
1181
+ * @param options.maxWidth Maximum allowed width in pixels (default: 800px / 50rem)
1182
+ * @param options.storageKey localStorage key for persistence (default: 'semiont-panel-width')
1183
+ *
1184
+ * @returns Object containing current width, setter function, and constraints
1185
+ *
1186
+ * @example
1187
+ * ```tsx
1188
+ * const { width, setWidth, minWidth, maxWidth } = usePanelWidth();
1189
+ *
1190
+ * <div style={{ width: `${width}px` }}>
1191
+ * <ResizeHandle onResize={setWidth} minWidth={minWidth} maxWidth={maxWidth} />
1192
+ * </div>
1193
+ * ```
1194
+ */
1195
+ declare function usePanelWidth({ defaultWidth, // 24rem
1196
+ minWidth, // 16rem
1197
+ maxWidth, // 50rem
1198
+ storageKey }?: UsePanelWidthOptions): {
1199
+ width: number;
1200
+ setWidth: (newWidth: number) => void;
1201
+ minWidth: number;
1202
+ maxWidth: number;
1203
+ };
1204
+
1136
1205
  /**
1137
1206
  * Resource event structure from the event store
1138
1207
  * (Re-exported from api-client for consistency)
@@ -1202,9 +1271,12 @@ declare function useSessionExpiry(): {
1202
1271
  };
1203
1272
 
1204
1273
  type Theme = 'light' | 'dark' | 'system';
1274
+ type ResolvedTheme = 'light' | 'dark';
1205
1275
  declare function useTheme(): {
1206
1276
  theme: Theme;
1207
1277
  setTheme: (newTheme: Theme) => void;
1278
+ resolvedTheme: ResolvedTheme;
1279
+ systemTheme: ResolvedTheme;
1208
1280
  };
1209
1281
 
1210
1282
  type ToolbarPanelType = 'document' | 'history' | 'info' | 'annotations' | 'settings' | 'collaboration' | 'user' | 'jsonld';
@@ -1410,7 +1482,7 @@ declare function OpenResourcesProvider({ openResourcesManager, children }: {
1410
1482
  */
1411
1483
  declare function useOpenResources(): OpenResourcesManager;
1412
1484
 
1413
- type Annotation$i = components['schemas']['Annotation'];
1485
+ type Annotation$j = components['schemas']['Annotation'];
1414
1486
  interface SelectionData {
1415
1487
  exact: string;
1416
1488
  start: number;
@@ -1418,7 +1490,7 @@ interface SelectionData {
1418
1490
  }
1419
1491
  interface ResourceAnnotationsContextType {
1420
1492
  newAnnotationIds: Set<string>;
1421
- createAnnotation: (rUri: ResourceUri, motivation: 'highlighting' | 'linking' | 'assessing' | 'commenting' | 'tagging', selector: Selector | Selector[], body?: any[]) => Promise<Annotation$i | undefined>;
1493
+ createAnnotation: (rUri: ResourceUri, motivation: 'highlighting' | 'linking' | 'assessing' | 'commenting' | 'tagging', selector: Selector | Selector[], body?: any[]) => Promise<Annotation$j | undefined>;
1422
1494
  deleteAnnotation: (annotationId: string, rUri: ResourceUri) => Promise<void>;
1423
1495
  clearNewAnnotationId: (id: AnnotationUri) => void;
1424
1496
  triggerSparkleAnimation: (annotationId: string) => void;
@@ -1562,17 +1634,17 @@ declare function usePreloadTranslations(): {
1562
1634
  isLoaded: (locale: string) => boolean;
1563
1635
  };
1564
1636
 
1565
- type Annotation$h = components['schemas']['Annotation'];
1637
+ type Annotation$i = components['schemas']['Annotation'];
1566
1638
  interface TextSegment {
1567
1639
  exact: string;
1568
- annotation?: Annotation$h;
1640
+ annotation?: Annotation$i;
1569
1641
  start: number;
1570
1642
  end: number;
1571
1643
  }
1572
1644
  interface Props$b {
1573
1645
  content: string;
1574
1646
  segments: TextSegment[];
1575
- onAnnotationClick?: (annotation: Annotation$h) => void;
1647
+ onAnnotationClick?: (annotation: Annotation$i) => void;
1576
1648
  onAnnotationHover?: (annotationId: string | null) => void;
1577
1649
  onTextSelect?: (exact: string, position: {
1578
1650
  start: number;
@@ -1589,18 +1661,20 @@ interface Props$b {
1589
1661
  enableWidgets?: boolean;
1590
1662
  onEntityTypeClick?: (entityType: string) => void;
1591
1663
  onReferenceNavigate?: (documentId: string) => void;
1592
- onUnresolvedReferenceClick?: (annotation: Annotation$h) => void;
1664
+ onUnresolvedReferenceClick?: (annotation: Annotation$i) => void;
1593
1665
  getTargetDocumentName?: (documentId: string) => string | undefined;
1594
1666
  generatingReferenceId?: string | null;
1595
- onDeleteAnnotation?: (annotation: Annotation$h) => void;
1667
+ onDeleteAnnotation?: (annotation: Annotation$i) => void;
1596
1668
  }
1597
1669
  declare function CodeMirrorRenderer({ content, segments, onAnnotationClick, onAnnotationHover, onTextSelect, onChange, editable, newAnnotationIds, hoveredAnnotationId, hoveredCommentId, scrollToAnnotationId, sourceView, showLineNumbers, enableWidgets, onEntityTypeClick, onReferenceNavigate, onUnresolvedReferenceClick, getTargetDocumentName, generatingReferenceId, onDeleteAnnotation }: Props$b): react_jsx_runtime.JSX.Element;
1598
1670
 
1671
+ type Motivation$2 = components['schemas']['Motivation'];
1599
1672
  interface DetectionProgressWidgetProps {
1600
1673
  progress: DetectionProgress | null;
1601
1674
  onCancel?: () => void;
1675
+ annotationType?: Motivation$2 | 'reference';
1602
1676
  }
1603
- declare function DetectionProgressWidget({ progress, onCancel }: DetectionProgressWidgetProps): react_jsx_runtime.JSX.Element | null;
1677
+ declare function DetectionProgressWidget({ progress, onCancel, annotationType }: DetectionProgressWidgetProps): react_jsx_runtime.JSX.Element | null;
1604
1678
 
1605
1679
  interface Props$a {
1606
1680
  children: ReactNode;
@@ -1630,7 +1704,7 @@ declare function AsyncErrorBoundary({ children }: {
1630
1704
  children: ReactNode;
1631
1705
  }): react_jsx_runtime.JSX.Element;
1632
1706
 
1633
- type Annotation$g = components['schemas']['Annotation'];
1707
+ type Annotation$h = components['schemas']['Annotation'];
1634
1708
  interface LiveRegionContextType {
1635
1709
  announce: (message: string, priority?: 'polite' | 'assertive') => void;
1636
1710
  }
@@ -1646,10 +1720,64 @@ declare function useSearchAnnouncements(): {
1646
1720
  declare function useDocumentAnnouncements(): {
1647
1721
  announceDocumentSaved: () => void;
1648
1722
  announceDocumentDeleted: () => void;
1649
- announceAnnotationCreated: (annotation: Annotation$g) => void;
1723
+ announceAnnotationCreated: (annotation: Annotation$h) => void;
1650
1724
  announceAnnotationDeleted: () => void;
1725
+ announceAnnotationUpdated: (annotation: Annotation$h) => void;
1651
1726
  announceError: (message: string) => void;
1652
1727
  };
1728
+ declare function useResourceLoadingAnnouncements(): {
1729
+ announceResourceLoading: (resourceName?: string) => void;
1730
+ announceResourceLoaded: (resourceName: string) => void;
1731
+ announceResourceLoadError: (resourceName?: string) => void;
1732
+ announceResourceUpdating: (resourceName: string) => void;
1733
+ };
1734
+ declare function useFormAnnouncements(): {
1735
+ announceFormSubmitting: () => void;
1736
+ announceFormSuccess: (message?: string) => void;
1737
+ announceFormError: (message?: string) => void;
1738
+ announceFormValidationError: (fieldCount: number) => void;
1739
+ };
1740
+ declare function useLanguageChangeAnnouncements(): {
1741
+ announceLanguageChanging: (newLanguage: string) => void;
1742
+ announceLanguageChanged: (newLanguage: string) => void;
1743
+ };
1744
+
1745
+ interface ResizeHandleProps {
1746
+ /** Callback fired when resize occurs */
1747
+ onResize: (newWidth: number) => void;
1748
+ /** Minimum allowed width in pixels */
1749
+ minWidth: number;
1750
+ /** Maximum allowed width in pixels */
1751
+ maxWidth: number;
1752
+ /** Position of handle - left or right edge */
1753
+ position?: 'left' | 'right';
1754
+ /** Aria label for accessibility */
1755
+ ariaLabel?: string;
1756
+ }
1757
+ /**
1758
+ * Draggable resize handle for panels and sidebars
1759
+ *
1760
+ * Features:
1761
+ * - Mouse drag to resize
1762
+ * - Keyboard navigation (Arrow keys: ±10px, Shift+Arrow: ±50px)
1763
+ * - Enforces min/max constraints
1764
+ * - Visual feedback on hover and drag
1765
+ * - Accessible (WCAG compliant)
1766
+ *
1767
+ * @example
1768
+ * ```tsx
1769
+ * <div className="panel" style={{ width: `${width}px` }}>
1770
+ * <ResizeHandle
1771
+ * onResize={setWidth}
1772
+ * minWidth={256}
1773
+ * maxWidth={800}
1774
+ * position="left"
1775
+ * />
1776
+ * <div>Panel content</div>
1777
+ * </div>
1778
+ * ```
1779
+ */
1780
+ declare function ResizeHandle({ onResize, minWidth, maxWidth, position, ariaLabel }: ResizeHandleProps): react_jsx_runtime.JSX.Element;
1653
1781
 
1654
1782
  interface ResourceTagsInlineProps {
1655
1783
  documentId: string;
@@ -1693,6 +1821,17 @@ interface Props$9<T extends string = string> {
1693
1821
  }
1694
1822
  declare function Toolbar<T extends string = string>({ context, activePanel, onPanelToggle, isArchived }: Props$9<T>): react_jsx_runtime.JSX.Element;
1695
1823
 
1824
+ interface SettingsPanelProps {
1825
+ showLineNumbers: boolean;
1826
+ onLineNumbersToggle: () => void;
1827
+ theme: 'light' | 'dark' | 'system';
1828
+ onThemeChange: (theme: 'light' | 'dark' | 'system') => void;
1829
+ locale: string;
1830
+ onLocaleChange: (locale: string) => void;
1831
+ isPendingLocaleChange?: boolean;
1832
+ }
1833
+ declare function SettingsPanel({ showLineNumbers, onLineNumbersToggle, theme, onThemeChange, locale, onLocaleChange, isPendingLocaleChange }: SettingsPanelProps): react_jsx_runtime.JSX.Element;
1834
+
1696
1835
  type SelectionMotivation = 'linking' | 'highlighting' | 'assessing' | 'commenting' | 'tagging';
1697
1836
  type ClickAction = 'detail' | 'follow' | 'jsonld' | 'deleting';
1698
1837
  type ShapeType = 'rectangle' | 'circle' | 'polygon';
@@ -1711,9 +1850,9 @@ interface AnnotateToolbarProps {
1711
1850
  }
1712
1851
  declare function AnnotateToolbar({ selectedMotivation, selectedClick, onSelectionChange, onClickChange, showSelectionGroup, showDeleteButton, showShapeGroup, selectedShape, onShapeChange, annotateMode, onAnnotateModeToggle }: AnnotateToolbarProps): react_jsx_runtime.JSX.Element;
1713
1852
 
1714
- type Annotation$f = components['schemas']['Annotation'];
1853
+ type Annotation$g = components['schemas']['Annotation'];
1715
1854
  interface JsonLdViewProps {
1716
- annotation: Annotation$f;
1855
+ annotation: Annotation$g;
1717
1856
  onBack: () => void;
1718
1857
  }
1719
1858
  declare function JsonLdView({ annotation, onBack }: JsonLdViewProps): react_jsx_runtime.JSX.Element;
@@ -1744,14 +1883,14 @@ interface PopupContainerProps {
1744
1883
  }
1745
1884
  declare function PopupContainer({ children, position, onClose, isOpen, wide }: PopupContainerProps): react_jsx_runtime.JSX.Element;
1746
1885
 
1747
- type Annotation$e = components['schemas']['Annotation'];
1886
+ type Annotation$f = components['schemas']['Annotation'];
1748
1887
  interface AnnotationOverlayProps {
1749
- annotations: Annotation$e[];
1888
+ annotations: Annotation$f[];
1750
1889
  imageWidth: number;
1751
1890
  imageHeight: number;
1752
1891
  displayWidth: number;
1753
1892
  displayHeight: number;
1754
- onAnnotationClick?: (annotation: Annotation$e) => void;
1893
+ onAnnotationClick?: (annotation: Annotation$f) => void;
1755
1894
  onAnnotationHover?: (annotationId: string | null) => void;
1756
1895
  hoveredAnnotationId?: string | null;
1757
1896
  selectedAnnotationId?: string | null;
@@ -1761,18 +1900,18 @@ interface AnnotationOverlayProps {
1761
1900
  */
1762
1901
  declare function AnnotationOverlay({ annotations, imageWidth, imageHeight, displayWidth, displayHeight, onAnnotationClick, onAnnotationHover, hoveredAnnotationId, selectedAnnotationId }: AnnotationOverlayProps): react_jsx_runtime.JSX.Element;
1763
1902
 
1764
- type Annotation$d = components['schemas']['Annotation'];
1903
+ type Annotation$e = components['schemas']['Annotation'];
1765
1904
  type DrawingMode = 'rectangle' | 'polygon' | 'circle' | 'freeform' | null;
1766
1905
  interface SvgDrawingCanvasProps {
1767
1906
  resourceUri: ResourceUri;
1768
- existingAnnotations?: Annotation$d[];
1907
+ existingAnnotations?: Annotation$e[];
1769
1908
  drawingMode: DrawingMode;
1770
1909
  selectedMotivation?: SelectionMotivation | null;
1771
1910
  onAnnotationCreate?: (svg: string, position?: {
1772
1911
  x: number;
1773
1912
  y: number;
1774
1913
  }) => void;
1775
- onAnnotationClick?: (annotation: Annotation$d) => void;
1914
+ onAnnotationClick?: (annotation: Annotation$e) => void;
1776
1915
  onAnnotationHover?: (annotationId: string | null) => void;
1777
1916
  hoveredAnnotationId?: string | null;
1778
1917
  selectedAnnotationId?: string | null;
@@ -1792,7 +1931,7 @@ interface ProposeEntitiesModalProps {
1792
1931
  }
1793
1932
  declare function ProposeEntitiesModal({ isOpen, onConfirm, onCancel }: ProposeEntitiesModalProps): react_jsx_runtime.JSX.Element;
1794
1933
 
1795
- type Annotation$c = components['schemas']['Annotation'];
1934
+ type Annotation$d = components['schemas']['Annotation'];
1796
1935
 
1797
1936
  interface Props$8 {
1798
1937
  content: string;
@@ -1807,10 +1946,10 @@ interface Props$8 {
1807
1946
  enableWidgets?: boolean;
1808
1947
  onEntityTypeClick?: (entityType: string) => void;
1809
1948
  onReferenceNavigate?: (documentId: string) => void;
1810
- onUnresolvedReferenceClick?: (annotation: Annotation$c) => void;
1949
+ onUnresolvedReferenceClick?: (annotation: Annotation$d) => void;
1811
1950
  getTargetDocumentName?: (documentId: string) => string | undefined;
1812
1951
  generatingReferenceId?: string | null;
1813
- onDeleteAnnotation?: (annotation: Annotation$c) => void;
1952
+ onDeleteAnnotation?: (annotation: Annotation$d) => void;
1814
1953
  showLineNumbers?: boolean;
1815
1954
  annotateMode: boolean;
1816
1955
  onAnnotateModeToggle: () => void;
@@ -1857,9 +1996,9 @@ interface Props$5 {
1857
1996
  }
1858
1997
  declare function HistoryEvent({ event, annotations, allEvents, isRelated, t, Link, routes, onEventRef, onEventClick, onEventHover }: Props$5): react_jsx_runtime.JSX.Element;
1859
1998
 
1860
- type SemiontResource$1 = components['schemas']['ResourceDescriptor'];
1999
+ type SemiontResource$2 = components['schemas']['ResourceDescriptor'];
1861
2000
  interface Props$4 {
1862
- resource: SemiontResource$1 & {
2001
+ resource: SemiontResource$2 & {
1863
2002
  content: string;
1864
2003
  };
1865
2004
  annotations: AnnotationsCollection;
@@ -1899,9 +2038,9 @@ interface Props$4 {
1899
2038
  }
1900
2039
  declare function ResourceViewer({ resource, annotations, onRefetchAnnotations, annotateMode, onAnnotateModeToggle, generatingReferenceId, onAnnotationHover, onCommentHover, hoveredAnnotationId, hoveredCommentId, scrollToAnnotationId, showLineNumbers, onCommentCreationRequested, onTagCreationRequested, onReferenceCreationRequested, onCommentClick, onReferenceClick, onHighlightClick, onAssessmentClick, onTagClick }: Props$4): react_jsx_runtime.JSX.Element;
1901
2040
 
1902
- type Annotation$b = components['schemas']['Annotation'];
2041
+ type Annotation$c = components['schemas']['Annotation'];
1903
2042
  interface AssessmentEntryProps {
1904
- assessment: Annotation$b;
2043
+ assessment: Annotation$c;
1905
2044
  isFocused: boolean;
1906
2045
  onClick: () => void;
1907
2046
  onAssessmentRef: (assessmentId: string, el: HTMLElement | null) => void;
@@ -1909,10 +2048,10 @@ interface AssessmentEntryProps {
1909
2048
  }
1910
2049
  declare function AssessmentEntry({ assessment, isFocused, onClick, onAssessmentRef, onAssessmentHover, }: AssessmentEntryProps): react_jsx_runtime.JSX.Element;
1911
2050
 
1912
- type Annotation$a = components['schemas']['Annotation'];
2051
+ type Annotation$b = components['schemas']['Annotation'];
1913
2052
  interface AssessmentPanelProps {
1914
- annotations: Annotation$a[];
1915
- onAnnotationClick: (annotation: Annotation$a) => void;
2053
+ annotations: Annotation$b[];
2054
+ onAnnotationClick: (annotation: Annotation$b) => void;
1916
2055
  focusedAnnotationId: string | null;
1917
2056
  hoveredAnnotationId?: string | null;
1918
2057
  onAnnotationHover?: (annotationId: string | null) => void;
@@ -1934,9 +2073,9 @@ interface Props$3 {
1934
2073
  }
1935
2074
  declare function CollaborationPanel({ isConnected, eventCount, lastEventTimestamp }: Props$3): react_jsx_runtime.JSX.Element;
1936
2075
 
1937
- type Annotation$9 = components['schemas']['Annotation'];
2076
+ type Annotation$a = components['schemas']['Annotation'];
1938
2077
  interface CommentEntryProps {
1939
- comment: Annotation$9;
2078
+ comment: Annotation$a;
1940
2079
  isFocused: boolean;
1941
2080
  onClick: () => void;
1942
2081
  onUpdate: (newText: string) => void;
@@ -1946,10 +2085,10 @@ interface CommentEntryProps {
1946
2085
  }
1947
2086
  declare function CommentEntry({ comment, isFocused, onClick, onUpdate, onCommentRef, onCommentHover, annotateMode, }: CommentEntryProps): react_jsx_runtime.JSX.Element;
1948
2087
 
1949
- type Annotation$8 = components['schemas']['Annotation'];
2088
+ type Annotation$9 = components['schemas']['Annotation'];
1950
2089
  interface CommentsPanelProps {
1951
- annotations: Annotation$8[];
1952
- onAnnotationClick: (annotation: Annotation$8) => void;
2090
+ annotations: Annotation$9[];
2091
+ onAnnotationClick: (annotation: Annotation$9) => void;
1953
2092
  onUpdate: (annotationId: string, newText: string) => void;
1954
2093
  onCreate?: (commentText: string) => void;
1955
2094
  focusedAnnotationId: string | null;
@@ -1996,9 +2135,9 @@ interface DetectSectionProps {
1996
2135
  */
1997
2136
  declare function DetectSection({ annotationType, isDetecting, detectionProgress, onDetect }: DetectSectionProps): react_jsx_runtime.JSX.Element;
1998
2137
 
1999
- type Annotation$7 = components['schemas']['Annotation'];
2138
+ type Annotation$8 = components['schemas']['Annotation'];
2000
2139
  interface HighlightEntryProps {
2001
- highlight: Annotation$7;
2140
+ highlight: Annotation$8;
2002
2141
  isFocused: boolean;
2003
2142
  onClick: () => void;
2004
2143
  onHighlightRef: (highlightId: string, el: HTMLElement | null) => void;
@@ -2006,10 +2145,10 @@ interface HighlightEntryProps {
2006
2145
  }
2007
2146
  declare function HighlightEntry({ highlight, isFocused, onClick, onHighlightRef, onHighlightHover, }: HighlightEntryProps): react_jsx_runtime.JSX.Element;
2008
2147
 
2009
- type Annotation$6 = components['schemas']['Annotation'];
2148
+ type Annotation$7 = components['schemas']['Annotation'];
2010
2149
  interface HighlightPanelProps {
2011
- annotations: Annotation$6[];
2012
- onAnnotationClick: (annotation: Annotation$6) => void;
2150
+ annotations: Annotation$7[];
2151
+ onAnnotationClick: (annotation: Annotation$7) => void;
2013
2152
  focusedAnnotationId: string | null;
2014
2153
  hoveredAnnotationId?: string | null;
2015
2154
  onAnnotationHover?: (annotationId: string | null) => void;
@@ -2024,9 +2163,9 @@ interface HighlightPanelProps {
2024
2163
  }
2025
2164
  declare function HighlightPanel({ annotations, onAnnotationClick, focusedAnnotationId, hoveredAnnotationId, onAnnotationHover, onDetect, isDetecting, detectionProgress, annotateMode, }: HighlightPanelProps): react_jsx_runtime.JSX.Element;
2026
2165
 
2027
- type SemiontResource = components['schemas']['ResourceDescriptor'];
2166
+ type SemiontResource$1 = components['schemas']['ResourceDescriptor'];
2028
2167
  interface Props$2 {
2029
- resource: SemiontResource;
2168
+ resource: SemiontResource$1;
2030
2169
  }
2031
2170
  declare function JsonLdPanel({ resource: semiontResource }: Props$2): react_jsx_runtime.JSX.Element;
2032
2171
 
@@ -2042,9 +2181,9 @@ interface PanelHeaderProps {
2042
2181
  */
2043
2182
  declare function PanelHeader({ annotationType, count, title }: PanelHeaderProps): react_jsx_runtime.JSX.Element;
2044
2183
 
2045
- type Annotation$5 = components['schemas']['Annotation'];
2184
+ type Annotation$6 = components['schemas']['Annotation'];
2046
2185
  interface ReferenceEntryProps {
2047
- reference: Annotation$5;
2186
+ reference: Annotation$6;
2048
2187
  isFocused: boolean;
2049
2188
  onClick: () => void;
2050
2189
  routes: RouteBuilder;
@@ -2054,13 +2193,15 @@ interface ReferenceEntryProps {
2054
2193
  title: string;
2055
2194
  prompt?: string;
2056
2195
  }) => void;
2196
+ onCreateDocument?: (annotationUri: string, title: string, entityTypes: string[]) => void;
2057
2197
  onSearchDocuments?: (referenceId: string, searchTerm: string) => void;
2058
- onUpdateReference?: (referenceId: string, updates: Partial<Annotation$5>) => void;
2198
+ onUpdateReference?: (referenceId: string, updates: Partial<Annotation$6>) => void;
2059
2199
  annotateMode?: boolean;
2200
+ isGenerating?: boolean;
2060
2201
  }
2061
- declare function ReferenceEntry({ reference, isFocused, onClick, routes, onReferenceRef, onReferenceHover, onGenerateDocument, onSearchDocuments, onUpdateReference, annotateMode, }: ReferenceEntryProps): react_jsx_runtime.JSX.Element;
2202
+ declare function ReferenceEntry({ reference, isFocused, onClick, routes, onReferenceRef, onReferenceHover, onGenerateDocument, onCreateDocument, onSearchDocuments, onUpdateReference, annotateMode, isGenerating, }: ReferenceEntryProps): react_jsx_runtime.JSX.Element;
2062
2203
 
2063
- type Annotation$4 = components['schemas']['Annotation'];
2204
+ type Annotation$5 = components['schemas']['Annotation'];
2064
2205
  type ResponseContent<T> = T extends {
2065
2206
  responses: {
2066
2207
  200: {
@@ -2072,8 +2213,8 @@ type ResponseContent<T> = T extends {
2072
2213
  } ? R : never;
2073
2214
  type ReferencedBy = ResponseContent<paths['/resources/{id}/referenced-by']['get']>['referencedBy'][number];
2074
2215
  interface Props$1 {
2075
- annotations?: Annotation$4[];
2076
- onAnnotationClick?: (annotation: Annotation$4) => void;
2216
+ annotations?: Annotation$5[];
2217
+ onAnnotationClick?: (annotation: Annotation$5) => void;
2077
2218
  focusedAnnotationId?: string | null;
2078
2219
  hoveredAnnotationId?: string | null;
2079
2220
  onAnnotationHover?: (annotationId: string | null) => void;
@@ -2087,11 +2228,13 @@ interface Props$1 {
2087
2228
  allEntityTypes: string[];
2088
2229
  onCancelDetection: () => void;
2089
2230
  onSearchDocuments?: (referenceId: string, searchTerm: string) => void;
2090
- onUpdate?: (referenceId: string, updates: Partial<Annotation$4>) => void;
2231
+ onUpdate?: (referenceId: string, updates: Partial<Annotation$5>) => void;
2091
2232
  onGenerateDocument?: (referenceId: string, options: {
2092
2233
  title: string;
2093
2234
  prompt?: string;
2094
2235
  }) => void;
2236
+ onCreateDocument?: (annotationUri: string, title: string, entityTypes: string[]) => void;
2237
+ generatingReferenceId?: string | null;
2095
2238
  mediaType?: string | undefined;
2096
2239
  referencedBy?: ReferencedBy[];
2097
2240
  referencedByLoading?: boolean;
@@ -2104,7 +2247,7 @@ interface Props$1 {
2104
2247
  svgSelector?: string;
2105
2248
  } | null;
2106
2249
  }
2107
- declare function ReferencesPanel({ annotations, onAnnotationClick, focusedAnnotationId, hoveredAnnotationId, onAnnotationHover, onDetect, onCreate, isDetecting, detectionProgress, annotateMode, Link, routes, allEntityTypes, onCancelDetection, onSearchDocuments, onUpdate, onGenerateDocument, mediaType, referencedBy, referencedByLoading, pendingSelection, }: Props$1): react_jsx_runtime.JSX.Element;
2250
+ declare function ReferencesPanel({ annotations, onAnnotationClick, focusedAnnotationId, hoveredAnnotationId, onAnnotationHover, onDetect, onCreate, isDetecting, detectionProgress, annotateMode, Link, routes, allEntityTypes, onCancelDetection, onSearchDocuments, onUpdate, onGenerateDocument, onCreateDocument, generatingReferenceId, mediaType, referencedBy, referencedByLoading, pendingSelection, }: Props$1): react_jsx_runtime.JSX.Element;
2108
2251
 
2109
2252
  interface Props {
2110
2253
  documentEntityTypes: string[];
@@ -2118,19 +2261,19 @@ interface Props {
2118
2261
  }
2119
2262
  declare function ResourceInfoPanel({ documentEntityTypes, documentLocale, primaryMediaType, primaryByteSize, isArchived, onArchive, onUnarchive, onClone }: Props): react_jsx_runtime.JSX.Element;
2120
2263
 
2121
- type Annotation$3 = components['schemas']['Annotation'];
2264
+ type Annotation$4 = components['schemas']['Annotation'];
2122
2265
  interface StatisticsPanelProps {
2123
- highlights: Annotation$3[];
2124
- comments: Annotation$3[];
2125
- assessments: Annotation$3[];
2126
- references: Annotation$3[];
2127
- tags: Annotation$3[];
2266
+ highlights: Annotation$4[];
2267
+ comments: Annotation$4[];
2268
+ assessments: Annotation$4[];
2269
+ references: Annotation$4[];
2270
+ tags: Annotation$4[];
2128
2271
  }
2129
2272
  declare function StatisticsPanel({ highlights, comments, assessments, references, tags }: StatisticsPanelProps): react_jsx_runtime.JSX.Element;
2130
2273
 
2131
- type Annotation$2 = components['schemas']['Annotation'];
2274
+ type Annotation$3 = components['schemas']['Annotation'];
2132
2275
  interface TagEntryProps {
2133
- tag: Annotation$2;
2276
+ tag: Annotation$3;
2134
2277
  isFocused: boolean;
2135
2278
  onClick: () => void;
2136
2279
  onTagRef: (tagId: string, el: HTMLElement | null) => void;
@@ -2138,10 +2281,10 @@ interface TagEntryProps {
2138
2281
  }
2139
2282
  declare function TagEntry({ tag, isFocused, onClick, onTagRef, onTagHover, }: TagEntryProps): react_jsx_runtime.JSX.Element;
2140
2283
 
2141
- type Annotation$1 = components['schemas']['Annotation'];
2284
+ type Annotation$2 = components['schemas']['Annotation'];
2142
2285
  interface TaggingPanelProps {
2143
- annotations: Annotation$1[];
2144
- onAnnotationClick: (annotation: Annotation$1) => void;
2286
+ annotations: Annotation$2[];
2287
+ onAnnotationClick: (annotation: Annotation$2) => void;
2145
2288
  focusedAnnotationId: string | null;
2146
2289
  hoveredAnnotationId?: string | null;
2147
2290
  onAnnotationHover?: (annotationId: string | null) => void;
@@ -2173,8 +2316,8 @@ interface TaggingPanelProps {
2173
2316
  }
2174
2317
  declare function TaggingPanel({ annotations, onAnnotationClick, focusedAnnotationId, hoveredAnnotationId, onAnnotationHover, annotateMode, onDetect, onCreate, isDetecting, detectionProgress, pendingSelection }: TaggingPanelProps): react_jsx_runtime.JSX.Element;
2175
2318
 
2176
- type Annotation = components['schemas']['Annotation'];
2177
- type Motivation = components['schemas']['Motivation'];
2319
+ type Annotation$1 = components['schemas']['Annotation'];
2320
+ type Motivation$1 = components['schemas']['Motivation'];
2178
2321
  type AnnotatorKey = keyof typeof ANNOTATORS;
2179
2322
  type TabKey = 'statistics' | AnnotatorKey;
2180
2323
  /**
@@ -2187,12 +2330,12 @@ type TabKey = 'statistics' | AnnotatorKey;
2187
2330
  * - Annotators contain handlers (no explosion of onXClick, onXHover props)
2188
2331
  */
2189
2332
  interface UnifiedAnnotationsPanelProps {
2190
- annotations: Annotation[];
2333
+ annotations: Annotation$1[];
2191
2334
  annotators: Record<string, Annotator>;
2192
2335
  focusedAnnotationId: string | null;
2193
2336
  hoveredAnnotationId?: string | null;
2194
2337
  annotateMode?: boolean;
2195
- detectingMotivation?: Motivation | null;
2338
+ detectingMotivation?: Motivation$1 | null;
2196
2339
  detectionProgress?: {
2197
2340
  status: string;
2198
2341
  percentage?: number;
@@ -2225,8 +2368,9 @@ interface UnifiedAnnotationsPanelProps {
2225
2368
  title: string;
2226
2369
  prompt?: string;
2227
2370
  }) => void;
2371
+ onCreateDocument?: (annotationUri: string, title: string, entityTypes: string[]) => void;
2228
2372
  onSearchDocuments?: (referenceId: string, searchTerm: string) => void;
2229
- onUpdateReference?: (referenceId: string, updates: Partial<Annotation>) => void;
2373
+ onUpdateReference?: (referenceId: string, updates: Partial<Annotation$1>) => void;
2230
2374
  onCancelDetection?: () => void;
2231
2375
  mediaType?: string;
2232
2376
  referencedBy?: any[];
@@ -2270,8 +2414,236 @@ interface NavigationMenuProps {
2270
2414
  brandingLink?: string;
2271
2415
  onItemClick?: () => void;
2272
2416
  className?: string;
2417
+ currentPath?: string;
2418
+ }
2419
+ declare function NavigationMenu({ Link, routes, t, isAdmin, isModerator, brandingLink, onItemClick, className, currentPath }: NavigationMenuProps): react_jsx_runtime.JSX.Element;
2420
+
2421
+ interface SimpleNavigationItem$1 {
2422
+ name: string;
2423
+ href: string;
2424
+ icon: React__default.ComponentType<{
2425
+ className?: string;
2426
+ }>;
2427
+ description?: string;
2428
+ }
2429
+ interface SimpleNavigationProps$1 {
2430
+ title: string;
2431
+ items: SimpleNavigationItem$1[];
2432
+ currentPath: string;
2433
+ LinkComponent: React__default.ComponentType<any>;
2434
+ dropdownContent?: (onClose: () => void) => React__default.ReactNode;
2435
+ isCollapsed: boolean;
2436
+ onToggleCollapse: () => void;
2437
+ icons: {
2438
+ chevronLeft: React__default.ComponentType<{
2439
+ className?: string;
2440
+ }>;
2441
+ bars: React__default.ComponentType<{
2442
+ className?: string;
2443
+ }>;
2444
+ };
2445
+ collapseSidebarLabel: string;
2446
+ expandSidebarLabel: string;
2447
+ }
2448
+ /**
2449
+ * Simple navigation component for Admin and Moderation modes.
2450
+ * Renders a section header with optional dropdown and static navigation tabs.
2451
+ */
2452
+ declare function SimpleNavigation({ title, items, currentPath, LinkComponent, dropdownContent, isCollapsed, onToggleCollapse, icons, collapseSidebarLabel, expandSidebarLabel }: SimpleNavigationProps$1): react_jsx_runtime.JSX.Element;
2453
+
2454
+ /**
2455
+ * Represents an open resource/document in the navigation
2456
+ */
2457
+ interface OpenResource {
2458
+ id: string;
2459
+ name: string;
2460
+ openedAt: number;
2461
+ mediaType?: string;
2462
+ order?: number;
2463
+ }
2464
+ /**
2465
+ * Props for the sortable resource tab component
2466
+ */
2467
+ interface SortableResourceTabProps {
2468
+ resource: OpenResource;
2469
+ isCollapsed: boolean;
2470
+ isActive: boolean;
2471
+ href: string;
2472
+ onClose: (id: string, e: React.MouseEvent) => void;
2473
+ onReorder?: (resourceId: string, direction: 'up' | 'down') => void;
2474
+ index?: number;
2475
+ totalCount?: number;
2476
+ LinkComponent: ComponentType<any>;
2477
+ dragHandleProps?: any;
2478
+ isDragging?: boolean;
2479
+ translations: {
2480
+ dragToReorder?: string;
2481
+ dragToReorderDoc?: string;
2482
+ closeResource?: string;
2483
+ moveUp?: string;
2484
+ moveDown?: string;
2485
+ };
2486
+ }
2487
+ /**
2488
+ * Props for the collapsible resource navigation component
2489
+ */
2490
+ interface CollapsibleResourceNavigationProps {
2491
+ fixedItems: Array<{
2492
+ name: string;
2493
+ href: string;
2494
+ icon: ComponentType<any>;
2495
+ description?: string;
2496
+ }>;
2497
+ resources: OpenResource[];
2498
+ isCollapsed: boolean;
2499
+ onToggleCollapse: () => void;
2500
+ onResourceClose: (id: string) => void;
2501
+ onResourceReorder: (oldIndex: number, newIndex: number) => void;
2502
+ onResourceSelect?: (id: string) => void;
2503
+ currentPath: string;
2504
+ LinkComponent: ComponentType<any>;
2505
+ onNavigate?: (path: string) => void;
2506
+ getResourceHref: (resourceId: string) => string;
2507
+ className?: string;
2508
+ activeClassName?: string;
2509
+ inactiveClassName?: string;
2510
+ translations: {
2511
+ title?: string;
2512
+ collapseSidebar?: string;
2513
+ expandSidebar?: string;
2514
+ dragToReorder?: string;
2515
+ dragToReorderDoc?: string;
2516
+ closeResource?: string;
2517
+ dragInstructions?: string;
2518
+ };
2519
+ icons: {
2520
+ chevronLeft: ComponentType<any>;
2521
+ bars: ComponentType<any>;
2522
+ close: ComponentType<any>;
2523
+ };
2524
+ navigationMenu?: ((onClose: () => void) => ReactNode) | undefined;
2525
+ }
2526
+
2527
+ /**
2528
+ * A comprehensive collapsible navigation component with fixed items and dynamic resource tabs.
2529
+ * Supports drag and drop for resource reordering when expanded.
2530
+ * Platform-agnostic design for use across different React environments.
2531
+ */
2532
+ declare function CollapsibleResourceNavigation({ fixedItems, resources, isCollapsed, onToggleCollapse, onResourceClose, onResourceReorder, currentPath, LinkComponent, onNavigate, getResourceHref, className, translations, icons, navigationMenu }: CollapsibleResourceNavigationProps): react_jsx_runtime.JSX.Element;
2533
+
2534
+ /**
2535
+ * A sortable tab for an open resource in the navigation sidebar.
2536
+ * Supports drag and drop when expanded, and compact icon-only view when collapsed.
2537
+ */
2538
+ declare function SortableResourceTab({ resource, isCollapsed, isActive, href, onClose, onReorder, index, totalCount, LinkComponent, translations, dragHandleProps, isDragging }: SortableResourceTabProps): react_jsx_runtime.JSX.Element;
2539
+
2540
+ interface SimpleNavigationItem {
2541
+ name: string;
2542
+ href: string;
2543
+ icon: React.ComponentType<any>;
2544
+ description?: string;
2545
+ }
2546
+ interface SimpleNavigationProps {
2547
+ title: string;
2548
+ items: SimpleNavigationItem[];
2549
+ currentPath: string;
2550
+ LinkComponent: React.ComponentType<any>;
2551
+ dropdownContent?: ((onClose: () => void) => ReactNode) | undefined;
2552
+ }
2553
+
2554
+ interface SearchModalProps$1 {
2555
+ isOpen: boolean;
2556
+ onClose: () => void;
2557
+ onNavigate: (type: 'resource' | 'entity', id: string) => void;
2558
+ translations?: {
2559
+ placeholder?: string;
2560
+ searching?: string;
2561
+ noResults?: string;
2562
+ startTyping?: string;
2563
+ navigate?: string;
2564
+ select?: string;
2565
+ close?: string;
2566
+ enter?: string;
2567
+ esc?: string;
2568
+ };
2569
+ }
2570
+ declare function SearchModal({ isOpen, onClose, onNavigate, translations }: SearchModalProps$1): react_jsx_runtime.JSX.Element;
2571
+
2572
+ interface ResourceSearchModalProps$1 {
2573
+ isOpen: boolean;
2574
+ onClose: () => void;
2575
+ onSelect: (resourceId: string) => void;
2576
+ searchTerm?: string;
2577
+ translations?: {
2578
+ title?: string;
2579
+ placeholder?: string;
2580
+ searching?: string;
2581
+ noResults?: string;
2582
+ close?: string;
2583
+ };
2584
+ }
2585
+ declare function ResourceSearchModal({ isOpen, onClose, onSelect, searchTerm, translations }: ResourceSearchModalProps$1): react_jsx_runtime.JSX.Element;
2586
+
2587
+ /**
2588
+ * Base modal props that all modals share
2589
+ */
2590
+ interface BaseModalProps {
2591
+ /** Whether the modal is open */
2592
+ isOpen: boolean;
2593
+ /** Callback when the modal should close */
2594
+ onClose: () => void;
2595
+ /** Optional CSS class name */
2596
+ className?: string;
2597
+ }
2598
+ /**
2599
+ * Props for modals that navigate
2600
+ */
2601
+ interface NavigableModalProps {
2602
+ /** Navigation function */
2603
+ onNavigate: (path: string) => void;
2604
+ }
2605
+ /**
2606
+ * Search modal specific props
2607
+ */
2608
+ interface SearchModalProps extends BaseModalProps, NavigableModalProps {
2609
+ /** Optional translation support */
2610
+ translations?: {
2611
+ placeholder?: string;
2612
+ searching?: string;
2613
+ noResults?: string;
2614
+ startTyping?: string;
2615
+ navigate?: string;
2616
+ select?: string;
2617
+ close?: string;
2618
+ };
2619
+ }
2620
+ /**
2621
+ * Generation options
2622
+ */
2623
+ interface GenerationOptions {
2624
+ title: string;
2625
+ prompt?: string;
2626
+ language?: string;
2627
+ temperature?: number;
2628
+ maxTokens?: number;
2629
+ context: any;
2630
+ }
2631
+ /**
2632
+ * Resource search modal props
2633
+ */
2634
+ interface ResourceSearchModalProps extends BaseModalProps {
2635
+ /** Callback when a resource is selected */
2636
+ onSelect: (resourceId: string) => void;
2637
+ /** Initial search term */
2638
+ searchTerm?: string;
2639
+ /** Optional translation support */
2640
+ translations?: {
2641
+ title?: string;
2642
+ placeholder?: string;
2643
+ searching?: string;
2644
+ noResults?: string;
2645
+ };
2273
2646
  }
2274
- declare function NavigationMenu({ Link, routes, t, isAdmin, isModerator, brandingLink, onItemClick, className }: NavigationMenuProps): react_jsx_runtime.JSX.Element;
2275
2647
 
2276
2648
  /**
2277
2649
  * Skip links for keyboard navigation accessibility
@@ -2321,23 +2693,28 @@ interface UnifiedHeaderProps {
2321
2693
  isAuthenticated?: boolean;
2322
2694
  isAdmin?: boolean;
2323
2695
  isModerator?: boolean;
2696
+ currentPath?: string;
2324
2697
  }
2325
- declare function UnifiedHeader({ Link, routes, t, tHome, showBranding, showAuthLinks, brandingLink, variant, isAuthenticated, isAdmin, isModerator }: UnifiedHeaderProps): react_jsx_runtime.JSX.Element;
2698
+ declare function UnifiedHeader({ Link, routes, t, tHome, showBranding, showAuthLinks, brandingLink, variant, isAuthenticated, isAdmin, isModerator, currentPath }: UnifiedHeaderProps): react_jsx_runtime.JSX.Element;
2326
2699
 
2700
+ interface NavigationMenuHelper {
2701
+ (onClose: () => void): React__default.ReactNode;
2702
+ }
2327
2703
  interface LeftSidebarProps {
2328
2704
  Link: React__default.ComponentType<LinkComponentProps>;
2329
2705
  routes: RouteBuilder;
2330
2706
  t: TranslateFn;
2331
2707
  tHome: TranslateFn;
2332
- children: React__default.ReactNode | ((isCollapsed: boolean, toggleCollapsed: () => void) => React__default.ReactNode);
2708
+ children: React__default.ReactNode | ((isCollapsed: boolean, toggleCollapsed: () => void, navigationMenu: NavigationMenuHelper) => React__default.ReactNode);
2333
2709
  brandingLink?: string;
2334
2710
  collapsible?: boolean;
2335
2711
  storageKey?: string;
2336
2712
  isAuthenticated?: boolean;
2337
2713
  isAdmin?: boolean;
2338
2714
  isModerator?: boolean;
2715
+ currentPath?: string;
2339
2716
  }
2340
- declare function LeftSidebar({ Link, routes, t, tHome, children, brandingLink, collapsible, storageKey, isAuthenticated, isAdmin, isModerator }: LeftSidebarProps): react_jsx_runtime.JSX.Element;
2717
+ declare function LeftSidebar({ Link, routes, t, tHome, children, brandingLink, collapsible, storageKey, isAuthenticated, isAdmin, isModerator, currentPath }: LeftSidebarProps): react_jsx_runtime.JSX.Element;
2341
2718
 
2342
2719
  interface PageLayoutProps {
2343
2720
  Link: React__default.ComponentType<LinkComponentProps>;
@@ -2356,6 +2733,268 @@ interface PageLayoutProps {
2356
2733
  }
2357
2734
  declare function PageLayout({ Link, routes, t, tNav, tHome, children, className, showAuthLinks, CookiePreferences, onOpenKeyboardHelp }: PageLayoutProps): react_jsx_runtime.JSX.Element;
2358
2735
 
2736
+ interface SemiontFaviconProps {
2737
+ size?: number;
2738
+ className?: string;
2739
+ variant?: 'gradient' | 'solid' | 'outline';
2740
+ background?: boolean;
2741
+ }
2742
+ declare function SemiontFavicon({ size, className, variant, background }: SemiontFaviconProps): react_jsx_runtime.JSX.Element;
2743
+
2744
+ declare const faviconPaths: {
2745
+ readonly ico: "/favicons/favicon.ico";
2746
+ readonly svg: "/favicons/favicon.svg";
2747
+ readonly appleTouchIcon: "/favicons/apple-touch-icon.png";
2748
+ readonly favicon32: "/favicons/favicon-32x32.png";
2749
+ readonly favicon16: "/favicons/favicon-16x16.png";
2750
+ readonly androidChrome192: "/favicons/android-chrome-192x192.png";
2751
+ readonly androidChrome512: "/favicons/android-chrome-512x512.png";
2752
+ readonly manifest: "/favicons/site.webmanifest";
2753
+ };
2754
+
2755
+ /**
2756
+ * CSS-Agnostic Button Component
2757
+ *
2758
+ * This button uses data attributes instead of hardcoded Tailwind classes,
2759
+ * allowing users to style it with any CSS solution.
2760
+ */
2761
+
2762
+ interface ButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
2763
+ /**
2764
+ * The visual variant of the button
2765
+ */
2766
+ variant?: 'primary' | 'secondary' | 'tertiary' | 'danger' | 'warning' | 'ghost';
2767
+ /**
2768
+ * The size of the button
2769
+ */
2770
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2771
+ /**
2772
+ * Whether the button should take full width of its container
2773
+ */
2774
+ fullWidth?: boolean;
2775
+ /**
2776
+ * Whether the button is in a loading state
2777
+ */
2778
+ loading?: boolean;
2779
+ /**
2780
+ * Icon to display before the button text
2781
+ */
2782
+ leftIcon?: React__default.ReactNode;
2783
+ /**
2784
+ * Icon to display after the button text
2785
+ */
2786
+ rightIcon?: React__default.ReactNode;
2787
+ /**
2788
+ * Whether the button should only show an icon (no text padding)
2789
+ */
2790
+ iconOnly?: boolean;
2791
+ /**
2792
+ * Whether to show the button in an active/pressed state
2793
+ */
2794
+ active?: boolean;
2795
+ }
2796
+ declare const Button: React__default.ForwardRefExoticComponent<ButtonProps & React__default.RefAttributes<HTMLButtonElement>>;
2797
+ /**
2798
+ * Button Group Component
2799
+ *
2800
+ * Groups multiple buttons together
2801
+ */
2802
+ interface ButtonGroupProps {
2803
+ children: React__default.ReactNode;
2804
+ /**
2805
+ * How to arrange the buttons
2806
+ */
2807
+ orientation?: 'horizontal' | 'vertical';
2808
+ /**
2809
+ * Whether buttons should be connected (no gap between them)
2810
+ */
2811
+ attached?: boolean;
2812
+ /**
2813
+ * Size of the gap between buttons (when not attached)
2814
+ */
2815
+ spacing?: 'xs' | 'sm' | 'md' | 'lg';
2816
+ className?: string;
2817
+ }
2818
+ declare const ButtonGroup: React__default.FC<ButtonGroupProps>;
2819
+
2820
+ /**
2821
+ * Semiont Design Tokens
2822
+ *
2823
+ * Core design tokens for the Semiont design system.
2824
+ * These tokens provide the foundation for all component styling
2825
+ * and can be consumed via JavaScript or CSS variables.
2826
+ */
2827
+ declare const tokens: {
2828
+ colors: {
2829
+ primary: {
2830
+ 50: string;
2831
+ 100: string;
2832
+ 200: string;
2833
+ 300: string;
2834
+ 400: string;
2835
+ 500: string;
2836
+ 600: string;
2837
+ 700: string;
2838
+ 800: string;
2839
+ 900: string;
2840
+ };
2841
+ secondary: {
2842
+ 50: string;
2843
+ 100: string;
2844
+ 200: string;
2845
+ 300: string;
2846
+ 400: string;
2847
+ 500: string;
2848
+ 600: string;
2849
+ 700: string;
2850
+ 800: string;
2851
+ 900: string;
2852
+ };
2853
+ semantic: {
2854
+ error: string;
2855
+ errorLight: string;
2856
+ errorDark: string;
2857
+ warning: string;
2858
+ warningLight: string;
2859
+ warningDark: string;
2860
+ success: string;
2861
+ successLight: string;
2862
+ successDark: string;
2863
+ info: string;
2864
+ infoLight: string;
2865
+ infoDark: string;
2866
+ };
2867
+ neutral: {
2868
+ 0: string;
2869
+ 50: string;
2870
+ 100: string;
2871
+ 200: string;
2872
+ 300: string;
2873
+ 400: string;
2874
+ 500: string;
2875
+ 600: string;
2876
+ 700: string;
2877
+ 800: string;
2878
+ 900: string;
2879
+ 950: string;
2880
+ 1000: string;
2881
+ };
2882
+ background: {
2883
+ primary: string;
2884
+ secondary: string;
2885
+ tertiary: string;
2886
+ inverse: string;
2887
+ };
2888
+ text: {
2889
+ primary: string;
2890
+ secondary: string;
2891
+ tertiary: string;
2892
+ disabled: string;
2893
+ inverse: string;
2894
+ };
2895
+ };
2896
+ spacing: {
2897
+ 0: string;
2898
+ xs: string;
2899
+ sm: string;
2900
+ md: string;
2901
+ lg: string;
2902
+ xl: string;
2903
+ '2xl': string;
2904
+ '3xl': string;
2905
+ '4xl': string;
2906
+ '5xl': string;
2907
+ };
2908
+ typography: {
2909
+ fontFamily: {
2910
+ sans: string;
2911
+ mono: string;
2912
+ };
2913
+ fontSize: {
2914
+ xs: string;
2915
+ sm: string;
2916
+ base: string;
2917
+ lg: string;
2918
+ xl: string;
2919
+ '2xl': string;
2920
+ '3xl': string;
2921
+ '4xl': string;
2922
+ '5xl': string;
2923
+ };
2924
+ fontWeight: {
2925
+ thin: number;
2926
+ light: number;
2927
+ normal: number;
2928
+ medium: number;
2929
+ semibold: number;
2930
+ bold: number;
2931
+ black: number;
2932
+ };
2933
+ lineHeight: {
2934
+ none: number;
2935
+ tight: number;
2936
+ snug: number;
2937
+ normal: number;
2938
+ relaxed: number;
2939
+ loose: number;
2940
+ };
2941
+ };
2942
+ borderRadius: {
2943
+ none: string;
2944
+ sm: string;
2945
+ base: string;
2946
+ md: string;
2947
+ lg: string;
2948
+ xl: string;
2949
+ '2xl': string;
2950
+ '3xl': string;
2951
+ full: string;
2952
+ };
2953
+ shadows: {
2954
+ none: string;
2955
+ xs: string;
2956
+ sm: string;
2957
+ base: string;
2958
+ md: string;
2959
+ lg: string;
2960
+ xl: string;
2961
+ inner: string;
2962
+ };
2963
+ transitions: {
2964
+ duration: {
2965
+ fast: string;
2966
+ base: string;
2967
+ slow: string;
2968
+ slower: string;
2969
+ };
2970
+ timing: {
2971
+ linear: string;
2972
+ ease: string;
2973
+ easeIn: string;
2974
+ easeOut: string;
2975
+ easeInOut: string;
2976
+ };
2977
+ };
2978
+ breakpoints: {
2979
+ sm: string;
2980
+ md: string;
2981
+ lg: string;
2982
+ xl: string;
2983
+ '2xl': string;
2984
+ };
2985
+ };
2986
+ /**
2987
+ * Generate CSS custom properties from design tokens
2988
+ */
2989
+ declare function generateCSSVariables(): string;
2990
+ declare const cssVariables: string;
2991
+ type ColorToken = keyof typeof tokens.colors;
2992
+ type SpacingToken = keyof typeof tokens.spacing;
2993
+ type TypographyToken = keyof typeof tokens.typography;
2994
+ type BorderRadiusToken = keyof typeof tokens.borderRadius;
2995
+ type ShadowToken = keyof typeof tokens.shadows;
2996
+ type TransitionToken = keyof typeof tokens.transitions;
2997
+
2359
2998
  /**
2360
2999
  * ComposeLoadingState Component
2361
3000
  *
@@ -2552,6 +3191,10 @@ interface SignInFormProps {
2552
3191
  * Whether to show email/password auth form
2553
3192
  */
2554
3193
  showCredentialsAuth?: boolean;
3194
+ /**
3195
+ * Whether the auth providers are still loading
3196
+ */
3197
+ isLoading?: boolean;
2555
3198
  /**
2556
3199
  * Link component for routing - passed from parent
2557
3200
  */
@@ -2583,7 +3226,7 @@ interface SignInFormProps {
2583
3226
  /**
2584
3227
  * SignInForm - Main sign-in component
2585
3228
  */
2586
- declare function SignInForm({ onGoogleSignIn, onCredentialsSignIn, error, showCredentialsAuth, Link, translations: t, }: SignInFormProps): react_jsx_runtime.JSX.Element;
3229
+ declare function SignInForm({ onGoogleSignIn, onCredentialsSignIn, error, showCredentialsAuth, isLoading, Link, translations: t, }: SignInFormProps): react_jsx_runtime.JSX.Element;
2587
3230
 
2588
3231
  interface SignUpFormProps {
2589
3232
  /**
@@ -2605,6 +3248,8 @@ interface SignUpFormProps {
2605
3248
  approvedDomainsInfo: string;
2606
3249
  termsAgreement: string;
2607
3250
  alreadyHaveAccount: string;
3251
+ tagline: string;
3252
+ backToHome: string;
2608
3253
  };
2609
3254
  }
2610
3255
  /**
@@ -2777,7 +3422,7 @@ interface ResourceComposePageProps {
2777
3422
  sourceContent: string;
2778
3423
  };
2779
3424
  referenceData?: {
2780
- referenceId: string;
3425
+ annotationUri: string;
2781
3426
  sourceDocumentId: string;
2782
3427
  name: string;
2783
3428
  entityTypes: string[];
@@ -2838,7 +3483,7 @@ interface SaveResourceParams {
2838
3483
  entityTypes?: string[];
2839
3484
  language: string;
2840
3485
  archiveOriginal?: boolean;
2841
- referenceId?: string;
3486
+ annotationUri?: string;
2842
3487
  sourceDocumentId?: string;
2843
3488
  }
2844
3489
  declare function ResourceComposePage({ mode, cloneData, referenceData, availableEntityTypes, initialLocale, theme, onThemeChange, showLineNumbers, onLineNumbersToggle, activePanel, onPanelToggle, onSaveResource, onCancel, translations: t, ToolbarPanels, Toolbar, }: ResourceComposePageProps): react_jsx_runtime.JSX.Element;
@@ -2890,11 +3535,14 @@ interface ResourceCardProps {
2890
3535
  }
2891
3536
  declare const ResourceCard: React__default.MemoExoticComponent<({ resource, onOpen, tabIndex, archivedLabel, createdLabel }: ResourceCardProps) => react_jsx_runtime.JSX.Element>;
2892
3537
 
3538
+ type SemiontResource = components['schemas']['ResourceDescriptor'];
3539
+ type Annotation = components['schemas']['Annotation'];
3540
+ type Motivation = components['schemas']['Motivation'];
2893
3541
  interface ResourceViewerPageProps {
2894
3542
  /**
2895
3543
  * The resource to display
2896
3544
  */
2897
- resource: SemiontResource$2;
3545
+ resource: SemiontResource;
2898
3546
  /**
2899
3547
  * Resource URI
2900
3548
  */
@@ -2910,7 +3558,7 @@ interface ResourceViewerPageProps {
2910
3558
  /**
2911
3559
  * All annotations for this resource
2912
3560
  */
2913
- annotations: Annotation$m[];
3561
+ annotations: Annotation[];
2914
3562
  /**
2915
3563
  * Resources that reference this resource
2916
3564
  */
@@ -2955,7 +3603,7 @@ interface ResourceViewerPageProps {
2955
3603
  /**
2956
3604
  * Annotation CRUD callbacks
2957
3605
  */
2958
- onCreateAnnotation: (rUri: ResourceUri, motivation: Motivation$2, selector: any, body: any[]) => Promise<void>;
3606
+ onCreateAnnotation: (rUri: ResourceUri, motivation: Motivation, selector: any, body: any[]) => Promise<void>;
2959
3607
  onDeleteAnnotation: (annotationId: string) => Promise<void>;
2960
3608
  onTriggerSparkleAnimation: (annotationId: string) => void;
2961
3609
  onClearNewAnnotationId: (annotationId: string) => void;
@@ -3000,4 +3648,4 @@ interface ResourceViewerPageProps {
3000
3648
  }
3001
3649
  declare function ResourceViewerPage({ resource, rUri, content, contentLoading, annotations, referencedBy, referencedByLoading, allEntityTypes, locale, theme, onThemeChange, showLineNumbers, onLineNumbersToggle, activePanel, onPanelToggle, setActivePanel, onUpdateDocumentTags, onArchive, onUnarchive, onClone, onUpdateAnnotationBody, onRefetchAnnotations, onCreateAnnotation, onDeleteAnnotation, onTriggerSparkleAnimation, onClearNewAnnotationId, showSuccess, showError, onAnnotationAdded, onAnnotationRemoved, onAnnotationBodyUpdated, onDocumentArchived, onDocumentUnarchived, onEntityTagAdded, onEntityTagRemoved, onEventError, cacheManager, client, Link, routes, ToolbarPanels, SearchResourcesModal, GenerationConfigModal, }: ResourceViewerPageProps): react_jsx_runtime.JSX.Element;
3002
3650
 
3003
- export { ANNOTATORS, AUTH_EVENTS, AVAILABLE_LOCALES, AdminDevOpsPage, type AdminDevOpsPageProps, AdminSecurityPage, type AdminSecurityPageProps, type AdminUser, type AdminUserStats, AdminUsersPage, type AdminUsersPageProps, AnnotateToolbar, AnnotateView, type Annotation$m as Annotation, type AnnotationConfig, type AnnotationCreationHandler, type AnnotationHandlers, AnnotationHistory, type AnnotationManager, AnnotationOverlay, AnnotationProvider, type AnnotationProviderProps, AnnotationUIProvider, type AnnotationUIProviderProps, type AnnotationUIState, type AnnotationsCollection, type Annotator, ApiClientManager, ApiClientProvider, type ApiClientProviderProps, AssessmentEntry, AssessmentPanel, AsyncErrorBoundary, AuthErrorDisplay, type AuthErrorDisplayProps, type AuthEventDetail, type AuthEventType, type AvailableLocale, BrowseView, type CacheManager, CacheProvider, type CacheProviderProps, type ClickAction, CodeMirrorRenderer, CollaborationPanel, CommentEntry, CommentsPanel, ComposeLoadingState, type ComposeLoadingStateProps, type CreateAnnotationParams, type DeleteAnnotationParams, DetectSection, type DetectionConfig, type DetectionProgress, DetectionProgressWidget, type DevOpsFeature, type DrawingMode, EntityTagsPage, type EntityTagsPageProps, EntityTypeBadges, ErrorBoundary, Footer, type GenerationOptions, type GenerationProgress, HighlightEntry, HighlightPanel, HistoryEvent, ImageURLSchema, ImageViewer, JsonLdPanel, JsonLdView, type KeyboardShortcut, KeyboardShortcutsHelpModal, LeftSidebar, type LinkComponentProps, LiveRegionProvider, type Motivation$2 as Motivation, NavigationMenu, type OAuthProvider, type OAuthUser, OAuthUserSchema, OpenResourcesManager, OpenResourcesProvider, PageLayout, PanelHeader, PopupContainer, PopupHeader, type PreparedAnnotation, ProposeEntitiesModal, QUERY_KEYS, RecentDocumentsPage, type RecentDocumentsPageProps, ReferenceEntry, ReferenceResolutionWidget, ReferencesPanel, ResourceAnnotationsProvider, ResourceCard, type ResourceCardProps, ResourceComposePage, type ResourceComposePageProps, ResourceDiscoveryPage, type ResourceDiscoveryPageProps, ResourceErrorState, type ResourceErrorStateProps, type ResourceEvent, ResourceInfoPanel, ResourceLoadingState, ResourceTagsInline, ResourceViewer, ResourceViewerPage, type ResourceViewerPageProps, type RouteBuilder, type SaveResourceParams, SelectedTextDisplay, type SelectionData, type SelectionMotivation, SemiontBranding, type SemiontResource$2 as SemiontResource, SessionExpiryBanner, SessionManager, SessionProvider, SessionTimer, type ShapeType, SignInForm, type SignInFormProps, SignUpForm, type SignUpFormProps, SkipLinks, StatisticsPanel, StatusDisplay, type StreamStatus, SvgDrawingCanvas, TagEntry, TagSchemasPage, type TagSchemasPageProps, TaggingPanel, type TextSegment, type TextSelection, ToastContainer, type ToastMessage, ToastProvider, type ToastType, Toolbar, type ToolbarPanelType, TranslationManager, TranslationProvider, type TranslationProviderProps, type UICreateAnnotationParams, UnifiedAnnotationsPanel, UnifiedHeader, UserMenuSkeleton, WelcomePage, type WelcomePageProps, buttonStyles, createCancelDetectionHandler, createDetectionHandler, dispatch401Error, dispatch403Error, dispatchAuthEvent, getAnnotationClassName, getAnnotationInternalType, getAnnotator, getResourceIcon, getShortcutDisplay, groupAnnotationsByType, jsonLightHighlightStyle, jsonLightTheme, onAuthEvent, rehypeRenderAnnotations, remarkAnnotations, sanitizeImageURL, supportsDetection, useAdmin, useAnnotationManager, useAnnotationPanel, useAnnotationUI, useAnnotations, useApiClient, useAuthApi, useCacheManager, useDebounce, useDebouncedCallback, useDetectionProgress, useDocumentAnnouncements, useDoubleKeyPress, useDropdown, useEntityTypes, useFormValidation, useFormattedTime, useGenerationProgress, useHealth, useIsTyping, useKeyboardShortcuts, useLineNumbers, useLiveRegion, useLoadingState, useLocalStorage, useOpenResources, usePreloadTranslations, useResourceAnnotations, useResourceEvents, useResources, useRovingTabIndex, useSearchAnnouncements, useSessionContext, useSessionExpiry, useTheme, useToast, useToolbar, useTranslations, validationRules, withHandlers };
3651
+ export { ANNOTATORS, AUTH_EVENTS, AVAILABLE_LOCALES, AdminDevOpsPage, type AdminDevOpsPageProps, AdminSecurityPage, type AdminSecurityPageProps, type AdminUser, type AdminUserStats, AdminUsersPage, type AdminUsersPageProps, AnnotateToolbar, AnnotateView, type Annotation$n as Annotation, type AnnotationConfig, type AnnotationCreationHandler, type AnnotationHandlers, AnnotationHistory, type AnnotationManager, AnnotationOverlay, AnnotationProvider, type AnnotationProviderProps, AnnotationUIProvider, type AnnotationUIProviderProps, type AnnotationUIState, type AnnotationsCollection, type Annotator, ApiClientManager, ApiClientProvider, type ApiClientProviderProps, AssessmentEntry, AssessmentPanel, AsyncErrorBoundary, AuthErrorDisplay, type AuthErrorDisplayProps, type AuthEventDetail, type AuthEventType, type AvailableLocale, type BorderRadiusToken, BrowseView, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type CacheManager, CacheProvider, type CacheProviderProps, type ClickAction, CodeMirrorRenderer, CollaborationPanel, CollapsibleResourceNavigation, type CollapsibleResourceNavigationProps, type ColorToken, CommentEntry, CommentsPanel, ComposeLoadingState, type ComposeLoadingStateProps, type CreateAnnotationParams, type DeleteAnnotationParams, DetectSection, type DetectionConfig, type DetectionProgress, DetectionProgressWidget, type DevOpsFeature, type DrawingMode, EntityTagsPage, type EntityTagsPageProps, EntityTypeBadges, ErrorBoundary, Footer, type GenerationOptions, type GenerationProgress, HighlightEntry, HighlightPanel, HistoryEvent, ImageURLSchema, ImageViewer, JsonLdPanel, JsonLdView, type KeyboardShortcut, KeyboardShortcutsHelpModal, LeftSidebar, type LinkComponentProps, LiveRegionProvider, type Motivation$4 as Motivation, type NavigationItem, NavigationMenu, type NavigationMenuHelper, type NavigationProps, type OAuthProvider, type OAuthUser, OAuthUserSchema, type OpenResource, OpenResourcesManager, OpenResourcesProvider, PageLayout, PanelHeader, PopupContainer, PopupHeader, type PreparedAnnotation, ProposeEntitiesModal, QUERY_KEYS, RecentDocumentsPage, type RecentDocumentsPageProps, ReferenceEntry, ReferenceResolutionWidget, ReferencesPanel, ResizeHandle, type ResolvedTheme, ResourceAnnotationsProvider, ResourceCard, type ResourceCardProps, ResourceComposePage, type ResourceComposePageProps, ResourceDiscoveryPage, type ResourceDiscoveryPageProps, ResourceErrorState, type ResourceErrorStateProps, type ResourceEvent, ResourceInfoPanel, ResourceLoadingState, ResourceSearchModal, type ResourceSearchModalProps, ResourceTagsInline, ResourceViewer, ResourceViewerPage, type ResourceViewerPageProps, type RouteBuilder, type SaveResourceParams, SearchModal, type SearchModalProps, SelectedTextDisplay, type SelectionData, type SelectionMotivation, SemiontBranding, SemiontFavicon, type SemiontResource$3 as SemiontResource, SessionExpiryBanner, SessionManager, SessionProvider, SessionTimer, SettingsPanel, type ShadowToken, type ShapeType, SignInForm, type SignInFormProps, SignUpForm, type SignUpFormProps, SimpleNavigation, type SimpleNavigationItem, type SimpleNavigationProps, SkipLinks, SortableResourceTab, type SortableResourceTabProps, type SpacingToken, StatisticsPanel, StatusDisplay, type StreamStatus, SvgDrawingCanvas, TagEntry, TagSchemasPage, type TagSchemasPageProps, TaggingPanel, type TextSegment, type TextSelection, type Theme, ToastContainer, type ToastMessage, ToastProvider, type ToastType, Toolbar, type ToolbarPanelType, type TransitionToken, TranslationManager, TranslationProvider, type TranslationProviderProps, type TypographyToken, type UICreateAnnotationParams, UnifiedAnnotationsPanel, UnifiedHeader, UserMenuSkeleton, WelcomePage, type WelcomePageProps, buttonStyles, createCancelDetectionHandler, createDetectionHandler, cssVariables, dispatch401Error, dispatch403Error, dispatchAuthEvent, faviconPaths, generateCSSVariables, getAnnotationClassName, getAnnotationInternalType, getAnnotator, getResourceIcon, getShortcutDisplay, groupAnnotationsByType, jsonLightHighlightStyle, jsonLightTheme, onAuthEvent, rehypeRenderAnnotations, remarkAnnotations, sanitizeImageURL, supportsDetection, tokens, useAdmin, useAnnotationManager, useAnnotationPanel, useAnnotationUI, useAnnotations, useApiClient, useAuthApi, useCacheManager, useDebounce, useDebouncedCallback, useDetectionProgress, useDocumentAnnouncements, useDoubleKeyPress, useDropdown, useEntityTypes, useFormAnnouncements, useFormValidation, useFormattedTime, useGenerationProgress, useHealth, useIsTyping, useKeyboardShortcuts, useLanguageChangeAnnouncements, useLineNumbers, useLiveRegion, useLoadingState, useLocalStorage, useOpenResources, usePanelWidth, usePreloadTranslations, useResourceAnnotations, useResourceEvents, useResourceLoadingAnnouncements, useResources, useRovingTabIndex, useSearchAnnouncements, useSessionContext, useSessionExpiry, useTheme, useToast, useToolbar, useTranslations, validationRules, withHandlers };