@semiont/react-ui 0.5.26 → 0.5.28

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 (242) hide show
  1. package/README.md +28 -4
  2. package/dist/{PdfAnnotationCanvas.client-6ZSF6ZTJ.js → PdfAnnotationCanvas.client-C2IGG4SW.js} +33 -6
  3. package/dist/{PdfAnnotationCanvas.client-JCJMXWWJ.css → PdfAnnotationCanvas.client-TGDPPGXJ.css} +6 -1
  4. package/dist/{ar-YTUUGK2O.js → ar-FABPTJVB.js} +88 -26
  5. package/dist/{bn-ASGNGPMD.js → bn-LKP6BDMH.js} +88 -26
  6. package/dist/{chunk-L3WKRWP3.js → chunk-2GOHTTHW.js} +88 -26
  7. package/dist/{chunk-OBQOZCJE.js → chunk-2YHEE63S.js} +31 -31
  8. package/dist/{cs-WMYVAOZY.js → cs-YQYNWHRG.js} +88 -26
  9. package/dist/{da-FSHHN4D6.js → da-QHZOYKRY.js} +88 -26
  10. package/dist/{de-FJFO3TPT.js → de-GKA7RD7J.js} +88 -26
  11. package/dist/{el-XOH4QIAG.js → el-45T257AL.js} +88 -26
  12. package/dist/{en-3FCBW3YD.js → en-RVW5EQ66.js} +4 -2
  13. package/dist/{es-HDX4QI7E.js → es-AVER7RU4.js} +88 -26
  14. package/dist/{fa-DJ6WTFTJ.js → fa-K3VPK3O2.js} +88 -26
  15. package/dist/{fi-4S7H7W7U.js → fi-5NEKF7EB.js} +88 -26
  16. package/dist/{fr-6UJSYHXC.js → fr-FUMNDLBZ.js} +88 -26
  17. package/dist/{he-ZZJOHJX2.js → he-3JGNA3PR.js} +88 -26
  18. package/dist/{hi-HZJTAW7U.js → hi-IJY375DF.js} +88 -26
  19. package/dist/{id-E3I6ILEM.js → id-LWHKJ7ZD.js} +88 -26
  20. package/dist/index.css +380 -524
  21. package/dist/index.d.ts +318 -192
  22. package/dist/index.js +2960 -2421
  23. package/dist/integrations/css-modules-helper.js +1 -3
  24. package/dist/{it-ULAPAD7U.js → it-EBVOV4RW.js} +88 -26
  25. package/dist/{ja-SAHZQ4CZ.js → ja-KWRIX2NF.js} +88 -26
  26. package/dist/{ko-DFU2ADQ4.js → ko-L5CJMFDS.js} +88 -26
  27. package/dist/{ms-NWL76XNT.js → ms-LSNMJDR2.js} +88 -26
  28. package/dist/{nl-ATCM76WN.js → nl-ZB32MB7U.js} +88 -26
  29. package/dist/{no-UIAQ5RJF.js → no-4GTNY7M5.js} +88 -26
  30. package/dist/{pl-NOECQDXD.js → pl-LUHBLTHB.js} +88 -26
  31. package/dist/{pt-SVWIIUPC.js → pt-C4H3UNQ6.js} +88 -26
  32. package/dist/{ro-NR2DRTZG.js → ro-GGITS5V4.js} +88 -26
  33. package/dist/{sv-STVJ37JP.js → sv-T56RTLBP.js} +88 -26
  34. package/dist/test-utils.css +1 -1
  35. package/dist/test-utils.d.ts +1 -1
  36. package/dist/test-utils.js +2 -2
  37. package/dist/{th-UWQR4K54.js → th-22X2IWCB.js} +88 -26
  38. package/dist/{tr-WNXZSD27.js → tr-77TFG62H.js} +88 -26
  39. package/dist/{uk-SJRMB47Y.js → uk-MIIL6NXT.js} +88 -26
  40. package/dist/{vi-TMRQFES2.js → vi-7JYOIGNV.js} +88 -26
  41. package/dist/{zh-QOL3LYEM.js → zh-ID6DRYU4.js} +88 -26
  42. package/package.json +11 -10
  43. package/src/components/AssistProgress.tsx +178 -134
  44. package/src/components/CodeMirrorRenderer.tsx +8 -8
  45. package/src/components/{EntityFoundLog.tsx → ItemFoundLog.tsx} +12 -7
  46. package/src/components/ProtectedErrorBoundary.css +3 -1
  47. package/src/components/StatusDisplay.css +1 -1
  48. package/src/components/Toast.css +3 -1
  49. package/src/components/__tests__/AssistProgress.test.tsx +268 -141
  50. package/src/components/annotation/annotation-entries.css +0 -4
  51. package/src/components/annotation/references.css +0 -4
  52. package/src/components/image-annotation/AnnotationOverlay.tsx +6 -6
  53. package/src/components/image-annotation/SvgDrawingCanvas.tsx +1 -1
  54. package/src/components/image-annotation/__tests__/AnnotationOverlay.click.test.tsx +7 -9
  55. package/src/components/image-annotation/__tests__/SvgDrawingCanvas.click.test.tsx +1 -2
  56. package/src/components/layout/Header.css +0 -4
  57. package/src/components/layout/LeftSidebar.css +0 -4
  58. package/src/components/modals/ComposeStep.tsx +218 -0
  59. package/src/components/modals/ConfigureGatherStep.tsx +10 -18
  60. package/src/components/modals/ConfigureGenerationStep.tsx +131 -54
  61. package/src/components/modals/ConfigureSearchStep.tsx +42 -40
  62. package/src/components/modals/ContextSummary.tsx +185 -72
  63. package/src/components/modals/CorpusPane.tsx +75 -0
  64. package/src/components/modals/DiscardPrompt.tsx +38 -0
  65. package/src/components/modals/GatherContextStep.tsx +237 -107
  66. package/src/components/modals/ReferenceWizardModal.tsx +287 -60
  67. package/src/components/modals/ResourceGenerateModal.tsx +233 -109
  68. package/src/components/modals/SearchModal.css +335 -111
  69. package/src/components/modals/SearchModal.tsx +1 -1
  70. package/src/components/modals/SearchResultsStep.tsx +63 -88
  71. package/src/components/modals/WizardFooter.tsx +69 -0
  72. package/src/components/modals/__tests__/ComposeStep.test.tsx +152 -0
  73. package/src/components/modals/__tests__/ConfigureGatherStep.test.tsx +14 -26
  74. package/src/components/modals/__tests__/ConfigureGenerationStep.test.tsx +290 -0
  75. package/src/components/modals/__tests__/ConfigureSearchStep.test.tsx +95 -0
  76. package/src/components/modals/__tests__/GatherContextStep.resource.test.tsx +463 -25
  77. package/src/components/modals/__tests__/ReferenceWizardModal.test.tsx +635 -0
  78. package/src/components/modals/__tests__/ResourceGenerateModal.test.tsx +277 -85
  79. package/src/components/modals/__tests__/SearchModal.search-wiring.test.tsx +6 -2
  80. package/src/components/modals/__tests__/SearchResultsStep.test.tsx +61 -0
  81. package/src/components/modals/__tests__/WizardFooter.test.tsx +344 -0
  82. package/src/components/modals/modals.css +16 -42
  83. package/src/components/navigation/NavigationTabs.css +0 -20
  84. package/src/components/pdf-annotation/PdfAnnotationCanvas.css +21 -2
  85. package/src/components/pdf-annotation/PdfAnnotationCanvas.tsx +36 -3
  86. package/src/components/pdf-annotation/__tests__/PdfAnnotationCanvas.test.tsx +41 -6
  87. package/src/components/resource/AnnotateView.tsx +19 -8
  88. package/src/components/resource/AnnotationHistory.tsx +2 -0
  89. package/src/components/resource/BrowseView.tsx +20 -9
  90. package/src/components/resource/ResourceViewer.tsx +27 -28
  91. package/src/components/resource/__tests__/AnnotateView.embeddable.test.tsx +1 -1
  92. package/src/components/resource/__tests__/AnnotateView.focus.test.tsx +50 -0
  93. package/src/components/resource/__tests__/AnnotationHistory.test.tsx +2 -0
  94. package/src/components/resource/__tests__/BrowseView.embeddable.test.tsx +1 -1
  95. package/src/components/resource/__tests__/BrowseView.test.tsx +38 -12
  96. package/src/components/resource/__tests__/ResourceViewer.embeddable.test.tsx +47 -3
  97. package/src/components/resource/annotate-renderers.tsx +3 -3
  98. package/src/components/resource/event-formatting.ts +0 -3
  99. package/src/components/resource/panels/AssessmentEntry.tsx +1 -1
  100. package/src/components/resource/panels/AssessmentPanel.css +5 -6
  101. package/src/components/resource/panels/AssistSection.css +95 -263
  102. package/src/components/resource/panels/AssistSection.tsx +4 -4
  103. package/src/components/resource/panels/AssistShell.tsx +12 -4
  104. package/src/components/resource/panels/CollaborationPanel.css +47 -22
  105. package/src/components/resource/panels/CollaborationPanel.tsx +93 -2
  106. package/src/components/resource/panels/CommentEntry.tsx +1 -1
  107. package/src/components/resource/panels/CommentsPanel.css +0 -16
  108. package/src/components/resource/panels/HighlightEntry.tsx +1 -1
  109. package/src/components/resource/panels/HighlightPanel.css +0 -7
  110. package/src/components/resource/panels/JsonLdPanel.css +0 -4
  111. package/src/components/resource/panels/ReferenceEntry.tsx +10 -3
  112. package/src/components/resource/panels/ReferencesPanel.css +0 -12
  113. package/src/components/resource/panels/ReferencesPanel.tsx +16 -20
  114. package/src/components/resource/panels/ResourceInfoPanel.css +0 -32
  115. package/src/components/resource/panels/ResourceInfoPanel.tsx +89 -20
  116. package/src/components/resource/panels/StatisticsPanel.css +0 -20
  117. package/src/components/resource/panels/TagEntry.tsx +1 -1
  118. package/src/components/resource/panels/TaggingPanel.css +0 -4
  119. package/src/components/resource/panels/TaggingPanel.tsx +2 -10
  120. package/src/components/resource/panels/UnifiedAnnotationsPanel.css +0 -4
  121. package/src/components/resource/panels/UnifiedAnnotationsPanel.tsx +7 -2
  122. package/src/components/resource/panels/__tests__/AssessmentEntry.test.tsx +0 -1
  123. package/src/components/resource/panels/__tests__/AssistSection.test.tsx +48 -50
  124. package/src/components/resource/panels/__tests__/AssistShell.test.tsx +11 -6
  125. package/src/components/resource/panels/__tests__/CollaborationPanel.test.tsx +89 -0
  126. package/src/components/resource/panels/__tests__/CommentEntry.test.tsx +1 -2
  127. package/src/components/resource/panels/__tests__/HighlightEntry.test.tsx +0 -1
  128. package/src/components/resource/panels/__tests__/HighlightPanel.annotationProgress.test.tsx +44 -36
  129. package/src/components/resource/panels/__tests__/ReferenceEntry.test.tsx +41 -1
  130. package/src/components/resource/panels/__tests__/ReferencesPanel.headless.test.tsx +1 -1
  131. package/src/components/resource/panels/__tests__/ReferencesPanel.test.tsx +67 -54
  132. package/src/components/resource/panels/__tests__/ResourceInfoPanel.test.tsx +185 -7
  133. package/src/components/resource/panels/__tests__/TagEntry.test.tsx +0 -1
  134. package/src/components/settings/SettingsPanel.css +0 -4
  135. package/src/features/auth/auth.css +2 -26
  136. package/src/features/resource-compose/__tests__/ResourceComposePage.test.tsx +0 -65
  137. package/src/features/resource-compose/components/ResourceComposePage.tsx +17 -130
  138. package/src/features/resource-compose/state/__tests__/compose-page-state-unit.test.ts +1 -76
  139. package/src/features/resource-compose/state/compose-page-state-unit.ts +5 -48
  140. package/src/features/resource-discovery/__tests__/ResourceDiscoveryPage.test.tsx +55 -0
  141. package/src/features/resource-discovery/components/ResourceDiscoveryPage.tsx +29 -0
  142. package/src/features/resource-discovery/state/__tests__/discover-state-unit.test.ts +53 -3
  143. package/src/features/resource-discovery/state/discover-state-unit.ts +29 -8
  144. package/src/features/resource-viewer/__tests__/ResourceViewerPage.test.tsx +71 -15
  145. package/src/features/resource-viewer/components/ResourceViewerPage.tsx +166 -71
  146. package/src/features/resource-viewer/hooks/__tests__/useResourceViewedReport.test.tsx +63 -0
  147. package/src/features/resource-viewer/hooks/useResourceViewedReport.ts +33 -0
  148. package/src/features/resource-viewer/state/__tests__/resource-viewer-page-state-unit.test.ts +2 -2
  149. package/src/features/resource-viewer/state/resource-viewer-page-state-unit.ts +1 -1
  150. package/src/styles/core/buttons.css +3 -1
  151. package/src/styles/core/forms.css +35 -29
  152. package/src/styles/core/indicators.css +0 -4
  153. package/src/styles/core/inputs.css +0 -4
  154. package/src/styles/core/progress.css +2 -34
  155. package/src/styles/core/sliders.css +0 -4
  156. package/src/styles/core/toggles.css +0 -4
  157. package/src/styles/features/resource-discovery.css +13 -0
  158. package/src/styles/features/resource-viewer.css +0 -42
  159. package/src/styles/features/resource.css +0 -4
  160. package/src/styles/motivations/motivation-assessment.css +2 -2
  161. package/src/styles/panels/history-panel.css +0 -40
  162. package/src/styles/panels/user-panel.css +0 -3
  163. package/src/styles/patterns/panel-helpers.css +0 -27
  164. package/src/styles/patterns/panel-sections.css +0 -59
  165. package/src/styles/patterns/panels-base.css +0 -32
  166. package/translations/ar.json +84 -24
  167. package/translations/bn.json +84 -24
  168. package/translations/cs.json +84 -24
  169. package/translations/da.json +84 -24
  170. package/translations/de.json +84 -24
  171. package/translations/el.json +84 -24
  172. package/translations/en.json +84 -24
  173. package/translations/es.json +84 -24
  174. package/translations/fa.json +84 -24
  175. package/translations/fi.json +84 -24
  176. package/translations/fr.json +84 -24
  177. package/translations/he.json +84 -24
  178. package/translations/hi.json +84 -24
  179. package/translations/id.json +84 -24
  180. package/translations/it.json +84 -24
  181. package/translations/ja.json +84 -24
  182. package/translations/ko.json +84 -24
  183. package/translations/ms.json +84 -24
  184. package/translations/nl.json +84 -24
  185. package/translations/no.json +84 -24
  186. package/translations/pl.json +84 -24
  187. package/translations/pt.json +84 -24
  188. package/translations/ro.json +84 -24
  189. package/translations/sv.json +84 -24
  190. package/translations/th.json +84 -24
  191. package/translations/tr.json +84 -24
  192. package/translations/uk.json +84 -24
  193. package/translations/vi.json +84 -24
  194. package/translations/zh.json +84 -24
  195. package/dist/PdfAnnotationCanvas.client-6ZSF6ZTJ.js.map +0 -1
  196. package/dist/PdfAnnotationCanvas.client-JCJMXWWJ.css.map +0 -1
  197. package/dist/ar-YTUUGK2O.js.map +0 -1
  198. package/dist/bn-ASGNGPMD.js.map +0 -1
  199. package/dist/chunk-BTUG3VJJ.js.map +0 -1
  200. package/dist/chunk-L3WKRWP3.js.map +0 -1
  201. package/dist/chunk-O23TLLXW.js.map +0 -1
  202. package/dist/chunk-OBQOZCJE.js.map +0 -1
  203. package/dist/chunk-QT7LYM72.js.map +0 -1
  204. package/dist/chunk-VXASXU4K.js.map +0 -1
  205. package/dist/chunk-XUDKYAVC.js +0 -21
  206. package/dist/chunk-XUDKYAVC.js.map +0 -1
  207. package/dist/cs-WMYVAOZY.js.map +0 -1
  208. package/dist/da-FSHHN4D6.js.map +0 -1
  209. package/dist/de-FJFO3TPT.js.map +0 -1
  210. package/dist/el-XOH4QIAG.js.map +0 -1
  211. package/dist/en-3FCBW3YD.js.map +0 -1
  212. package/dist/es-HDX4QI7E.js.map +0 -1
  213. package/dist/fa-DJ6WTFTJ.js.map +0 -1
  214. package/dist/fi-4S7H7W7U.js.map +0 -1
  215. package/dist/fr-6UJSYHXC.js.map +0 -1
  216. package/dist/he-ZZJOHJX2.js.map +0 -1
  217. package/dist/hi-HZJTAW7U.js.map +0 -1
  218. package/dist/id-E3I6ILEM.js.map +0 -1
  219. package/dist/index.css.map +0 -1
  220. package/dist/index.js.map +0 -1
  221. package/dist/integrations/css-modules-helper.js.map +0 -1
  222. package/dist/integrations/styled-components-theme.js.map +0 -1
  223. package/dist/it-ULAPAD7U.js.map +0 -1
  224. package/dist/ja-SAHZQ4CZ.js.map +0 -1
  225. package/dist/ko-DFU2ADQ4.js.map +0 -1
  226. package/dist/ms-NWL76XNT.js.map +0 -1
  227. package/dist/nl-ATCM76WN.js.map +0 -1
  228. package/dist/no-UIAQ5RJF.js.map +0 -1
  229. package/dist/pl-NOECQDXD.js.map +0 -1
  230. package/dist/pt-SVWIIUPC.js.map +0 -1
  231. package/dist/ro-NR2DRTZG.js.map +0 -1
  232. package/dist/sv-STVJ37JP.js.map +0 -1
  233. package/dist/test-utils.css.map +0 -1
  234. package/dist/test-utils.js.map +0 -1
  235. package/dist/th-UWQR4K54.js.map +0 -1
  236. package/dist/tr-WNXZSD27.js.map +0 -1
  237. package/dist/uk-SJRMB47Y.js.map +0 -1
  238. package/dist/vi-TMRQFES2.js.map +0 -1
  239. package/dist/zh-QOL3LYEM.js.map +0 -1
  240. package/src/components/modals/ResourceSearchModal.tsx +0 -224
  241. package/src/components/modals/__tests__/ResourceSearchModal.test.tsx +0 -159
  242. package/src/integrations/tailwind-plugin.cjs +0 -224
@@ -61,17 +61,18 @@
61
61
  gap: 0.5rem;
62
62
  }
63
63
 
64
+ /* Inline-flex with a gap so the control never touches its text — the gap on
65
+ the FIELD wrapper only helps when the input is a sibling; several forms
66
+ nest the input inside the label, where only this reaches. */
64
67
  .semiont-form__checkbox-label,
65
68
  .semiont-form__radio-label {
69
+ display: inline-flex;
70
+ align-items: center;
71
+ gap: 0.5rem;
66
72
  font-size: 0.875rem;
67
73
  color: var(--semiont-text-primary);
68
74
  }
69
75
 
70
- [data-theme="dark"] .semiont-form__checkbox-label,
71
- [data-theme="dark"] .semiont-form__radio-label {
72
- color: var(--semiont-text-primary);
73
- }
74
-
75
76
  /* Form actions */
76
77
  .semiont-form__actions {
77
78
  display: flex;
@@ -102,6 +103,15 @@
102
103
  color: var(--semiont-text-secondary);
103
104
  }
104
105
 
106
+ /* A help sentence scoped to a whole inline row rather than one column —
107
+ full width under the row, so its height never stretches the row's flex
108
+ siblings. Right-aligned: the row's `--end` column is what it describes,
109
+ and the sentence should end beneath that cell. */
110
+ .semiont-form__help--row {
111
+ margin-top: 0.5rem;
112
+ text-align: right;
113
+ }
114
+
105
115
  /* Fieldset and legend */
106
116
  .semiont-form__fieldset {
107
117
  border: 1px solid var(--semiont-color-gray-200);
@@ -121,10 +131,6 @@
121
131
  padding: 0 0.5rem;
122
132
  }
123
133
 
124
- [data-theme="dark"] .semiont-form__legend {
125
- color: var(--semiont-text-primary);
126
- }
127
-
128
134
  /* Note: Disabled states for form controls are defined in their respective core files */
129
135
 
130
136
  /* Panel form elements */
@@ -218,10 +224,6 @@
218
224
  color: var(--semiont-text-primary);
219
225
  }
220
226
 
221
- [data-theme="dark"] .semiont-form-field__label {
222
- color: var(--semiont-text-primary);
223
- }
224
-
225
227
  .semiont-form-field__label--with-checkbox {
226
228
  display: flex;
227
229
  align-items: center;
@@ -235,30 +237,16 @@
235
237
  font-weight: var(--semiont-font-medium);
236
238
  }
237
239
 
238
- [data-theme="dark"] .semiont-form-field__info {
239
- color: var(--semiont-text-tertiary);
240
- }
241
-
242
240
  .semiont-form-field__char-count {
243
241
  font-size: var(--semiont-text-xs);
244
242
  color: var(--semiont-text-tertiary);
245
243
  text-align: right;
246
244
  }
247
245
 
248
- [data-theme="dark"] .semiont-form-field__char-count {
249
- color: var(--semiont-text-tertiary);
250
- }
251
-
252
246
  /* Note: Basic form controls (.semiont-textarea, .semiont-select, .semiont-checkbox)
253
247
  are now defined in /styles/core/ as they are fundamental UI elements.
254
248
  See: core/textareas.css, core/selects.css, core/checkboxes.css */
255
249
 
256
- /* Scrollable form body — keeps form within viewport height */
257
- .semiont-form--scrollable {
258
- overflow-y: auto;
259
- max-height: 70vh;
260
- padding-right: 0.25rem;
261
- }
262
250
 
263
251
  /* Inline row — lays out multiple fields side by side */
264
252
  .semiont-form__inline-row {
@@ -274,13 +262,31 @@
274
262
  }
275
263
 
276
264
  /* Grow modifier — field takes remaining space */
277
- .semiont-form__field--grow {
265
+ /* A slider column: flexible, but a 0-to-1 range gains nothing past ~26rem —
266
+ uncapped it stretches into a band and drags the row's other columns apart. */
267
+ .semiont-form__field--slider {
278
268
  flex: 1;
279
269
  min-width: 0;
270
+ max-width: 26rem;
271
+ }
272
+
273
+ /* Pushed to the row's end — pairs with a right-aligned `__help--row`
274
+ footnote below, so the sentence ends under the cell it describes instead
275
+ of floating at the far left with a void to its right. */
276
+ .semiont-form__field--end {
277
+ margin-left: auto;
280
278
  }
281
279
 
282
280
  /* Narrow modifier — fixed compact width for short numeric inputs */
281
+ /* Sized by content with a floor, not a fixed box: a fixed 5.5rem wrapped
282
+ labels like "Max resources" onto two lines, which stretched that column
283
+ and knocked the row's inputs out of alignment. */
283
284
  .semiont-form__field--narrow {
284
- width: 5.5rem;
285
+ width: auto;
286
+ min-width: 5.5rem;
285
287
  flex-shrink: 0;
286
288
  }
289
+
290
+ .semiont-form__field--inline > .semiont-form__label {
291
+ white-space: nowrap;
292
+ }
@@ -131,10 +131,6 @@
131
131
  color: var(--semiont-text-secondary);
132
132
  }
133
133
 
134
- [data-theme="dark"] .semiont-indicator__label {
135
- color: var(--semiont-text-secondary);
136
- }
137
-
138
134
  /* Indicator Badge (dot with count) */
139
135
  .semiont-indicator-badge {
140
136
  position: relative;
@@ -160,10 +160,6 @@
160
160
  min-width: 0;
161
161
  }
162
162
 
163
- [data-theme="dark"] .semiont-input--addon {
164
- border: none;
165
- }
166
-
167
163
  .semiont-input--addon:focus-visible,
168
164
  .semiont-input--addon:focus {
169
165
  outline: none;
@@ -83,7 +83,7 @@
83
83
  }
84
84
 
85
85
  [data-theme="dark"] .semiont-progress__fill--warning {
86
- background-color: var(--semiont-color-warning);
86
+ background-color: var(--semiont-color-warning-light);
87
87
  }
88
88
 
89
89
  .semiont-progress__fill--error {
@@ -91,7 +91,7 @@
91
91
  }
92
92
 
93
93
  [data-theme="dark"] .semiont-progress__fill--error {
94
- background-color: var(--semiont-color-error);
94
+ background-color: var(--semiont-color-error-light);
95
95
  }
96
96
 
97
97
  /* With Label */
@@ -108,10 +108,6 @@
108
108
  color: var(--semiont-text-secondary);
109
109
  }
110
110
 
111
- [data-theme="dark"] .semiont-progress__label {
112
- color: var(--semiont-text-secondary);
113
- }
114
-
115
111
  /* Indeterminate Progress */
116
112
  .semiont-progress--indeterminate .semiont-progress__fill {
117
113
  width: 30%;
@@ -140,31 +136,3 @@
140
136
  }
141
137
  }
142
138
 
143
- /* Legacy Compatibility Mappings (deprecated - use base classes above)
144
- These will be removed in a future version. Update components to use .semiont-progress */
145
- .semiont-progress-bar,
146
- .semiont-panel-progress {
147
- position: relative;
148
- width: 100%;
149
- height: 0.5rem;
150
- background-color: var(--semiont-bg-secondary);
151
- border-radius: var(--semiont-radius-full);
152
- overflow: hidden;
153
- }
154
-
155
- [data-theme="dark"] .semiont-progress-bar,
156
- [data-theme="dark"] .semiont-panel-progress {
157
- background-color: var(--semiont-bg-tertiary);
158
- }
159
-
160
- .semiont-progress-bar__fill,
161
- .semiont-panel-progress__fill {
162
- height: 100%;
163
- background-color: var(--semiont-color-primary-500);
164
- transition: width 0.3s ease;
165
- }
166
-
167
- [data-theme="dark"] .semiont-progress-bar__fill,
168
- [data-theme="dark"] .semiont-panel-progress__fill {
169
- background-color: var(--semiont-color-primary-500);
170
- }
@@ -212,10 +212,6 @@
212
212
  color: var(--semiont-text-secondary);
213
213
  }
214
214
 
215
- [data-theme="dark"] .semiont-slider__labels {
216
- color: var(--semiont-text-secondary);
217
- }
218
-
219
215
  /* Small labels variant — reduced font size for compact inline contexts */
220
216
  .semiont-slider__labels--small {
221
217
  font-size: 0.6875rem;
@@ -17,10 +17,6 @@
17
17
  color: var(--semiont-text-primary);
18
18
  }
19
19
 
20
- [data-theme="dark"] .semiont-toggle-label__text {
21
- color: var(--semiont-text-primary);
22
- }
23
-
24
20
  /* Toggle Switch */
25
21
  .semiont-toggle {
26
22
  position: relative;
@@ -203,6 +203,19 @@
203
203
  color: var(--semiont-color-gray-300);
204
204
  }
205
205
 
206
+ /* Semantic-fallback caption: explains WHY these results, without competing
207
+ with them. Quieter than the heading it sits under (SEMANTIC-FALLBACK P3b). */
208
+ .semiont-card__documents-note {
209
+ margin: -0.25rem 0 0.75rem;
210
+ font-size: 0.8125rem;
211
+ font-style: italic;
212
+ color: var(--semiont-color-gray-600);
213
+ }
214
+
215
+ [data-theme="dark"] .semiont-card__documents-note {
216
+ color: var(--semiont-color-gray-400);
217
+ }
218
+
206
219
  .semiont-card__warning {
207
220
  padding: 1rem;
208
221
  background: var(--semiont-color-yellow-50);
@@ -173,20 +173,12 @@
173
173
  color: var(--semiont-text-secondary);
174
174
  }
175
175
 
176
- [data-theme="dark"] .semiont-browse-view__content h6 {
177
- color: var(--semiont-text-secondary);
178
- }
179
-
180
176
  .semiont-browse-view__content p {
181
177
  margin-bottom: 1em;
182
178
  line-height: var(--semiont-leading-relaxed);
183
179
  color: var(--semiont-text-primary);
184
180
  }
185
181
 
186
- [data-theme="dark"] .semiont-browse-view__content p {
187
- color: var(--semiont-text-primary);
188
- }
189
-
190
182
  .semiont-browse-view__content ul,
191
183
  .semiont-browse-view__content ol {
192
184
  margin-bottom: 1em;
@@ -207,10 +199,6 @@
207
199
  color: var(--semiont-text-primary);
208
200
  }
209
201
 
210
- [data-theme="dark"] .semiont-browse-view__content li {
211
- color: var(--semiont-text-primary);
212
- }
213
-
214
202
  /* Nested lists */
215
203
  .semiont-browse-view__content ul ul,
216
204
  .semiont-browse-view__content ol ol,
@@ -627,41 +615,11 @@
627
615
  margin-bottom: 0.5rem;
628
616
  }
629
617
 
630
- [data-theme="dark"] .semiont-page__title {
631
- color: var(--semiont-text-primary);
632
- }
633
-
634
618
  .semiont-page__subtitle {
635
619
  color: var(--semiont-text-secondary);
636
620
  font-size: 1rem;
637
621
  }
638
622
 
639
- [data-theme="dark"] .semiont-page__subtitle {
640
- color: var(--semiont-text-secondary);
641
- }
642
-
643
- .semiont-page__reference-notice {
644
- background-color: var(--semiont-color-blue-50);
645
- border: 1px solid var(--semiont-color-blue-200);
646
- border-radius: var(--semiont-radius-md);
647
- padding: 0.75rem 1rem;
648
- margin-top: 1rem;
649
- }
650
-
651
- [data-theme="dark"] .semiont-page__reference-notice {
652
- background-color: rgba(59, 130, 246, 0.1);
653
- border-color: var(--semiont-color-blue-800);
654
- }
655
-
656
- .semiont-page__reference-notice-text {
657
- color: var(--semiont-color-blue-700);
658
- font-size: 0.875rem;
659
- }
660
-
661
- [data-theme="dark"] .semiont-page__reference-notice-text {
662
- color: var(--semiont-color-blue-300);
663
- }
664
-
665
623
  /* Image Annotation Canvas */
666
624
  .semiont-svg-drawing-canvas {
667
625
  position: relative;
@@ -79,10 +79,6 @@
79
79
  }
80
80
  }
81
81
 
82
- .semiont-form__entity-types-display {
83
- margin-top: 0.5rem;
84
- }
85
-
86
82
  .semiont-form__entity-type-tags {
87
83
  display: flex;
88
84
  flex-wrap: wrap;
@@ -246,7 +246,7 @@
246
246
  }
247
247
 
248
248
  [data-theme="dark"] .semiont-assessment-star {
249
- color: var(--semiont-color-warning);
249
+ color: var(--semiont-color-warning-light);
250
250
  }
251
251
 
252
252
  .semiont-assessment-star:hover {
@@ -258,5 +258,5 @@
258
258
  }
259
259
 
260
260
  [data-theme="dark"] .semiont-assessment-star--filled {
261
- color: var(--semiont-color-warning);
261
+ color: var(--semiont-color-warning-light);
262
262
  }
@@ -20,10 +20,6 @@
20
20
  color: var(--semiont-text-primary);
21
21
  }
22
22
 
23
- [data-theme="dark"] .semiont-history-panel__title {
24
- color: var(--semiont-text-primary);
25
- }
26
-
27
23
  .semiont-history-panel__loading {
28
24
  margin: 0;
29
25
  padding: 0.5rem;
@@ -102,10 +98,6 @@
102
98
  color: var(--semiont-text-primary);
103
99
  }
104
100
 
105
- [data-theme="dark"] .semiont-history-group__type {
106
- color: var(--semiont-text-primary);
107
- }
108
-
109
101
  .semiont-history-group__type-icon {
110
102
  font-size: var(--semiont-panel-icon-size);
111
103
  }
@@ -115,10 +107,6 @@
115
107
  color: var(--semiont-text-tertiary);
116
108
  }
117
109
 
118
- [data-theme="dark"] .semiont-history-group__count {
119
- color: var(--semiont-text-tertiary);
120
- }
121
-
122
110
  .semiont-history-group__events {
123
111
  display: flex;
124
112
  flex-direction: column;
@@ -174,19 +162,11 @@
174
162
  margin-left: auto;
175
163
  }
176
164
 
177
- [data-theme="dark"] .semiont-history-event__timestamp {
178
- color: var(--semiont-text-tertiary);
179
- }
180
-
181
165
  .semiont-history-event__text--quoted {
182
166
  font-style: italic;
183
167
  color: var(--semiont-text-secondary);
184
168
  }
185
169
 
186
- [data-theme="dark"] .semiont-history-event__text--quoted {
187
- color: var(--semiont-text-secondary);
188
- }
189
-
190
170
  /* Entity types container - tags themselves use .semiont-tag from core */
191
171
  .semiont-history-event__entity-types {
192
172
  display: flex;
@@ -214,19 +194,11 @@
214
194
  color: var(--semiont-text-tertiary);
215
195
  }
216
196
 
217
- [data-theme="dark"] .semiont-history-event__detail {
218
- color: var(--semiont-text-tertiary);
219
- }
220
-
221
197
  .semiont-history-event__detail-value {
222
198
  color: var(--semiont-text-primary);
223
199
  font-weight: var(--semiont-font-medium);
224
200
  }
225
201
 
226
- [data-theme="dark"] .semiont-history-event__detail-value {
227
- color: var(--semiont-text-primary);
228
- }
229
-
230
202
  .semiont-history-event__detail-value--uppercase {
231
203
  text-transform: uppercase;
232
204
  }
@@ -236,10 +208,6 @@
236
208
  color: var(--semiont-text-primary);
237
209
  }
238
210
 
239
- [data-theme="dark"] .semiont-history-event__action {
240
- color: var(--semiont-text-primary);
241
- }
242
-
243
211
  .semiont-history-event__text {
244
212
  font-size: var(--semiont-text-sm);
245
213
  color: var(--semiont-text-secondary);
@@ -250,10 +218,6 @@
250
218
  line-height: 1.5;
251
219
  }
252
220
 
253
- [data-theme="dark"] .semiont-history-event__text {
254
- color: var(--semiont-text-secondary);
255
- }
256
-
257
221
  .semiont-history-event__meta {
258
222
  display: flex;
259
223
  align-items: center;
@@ -276,10 +240,6 @@
276
240
  color: var(--semiont-text-tertiary);
277
241
  }
278
242
 
279
- [data-theme="dark"] .semiont-history-event__time {
280
- color: var(--semiont-text-tertiary);
281
- }
282
-
283
243
  .semiont-history-event__link {
284
244
  font-size: var(--semiont-text-xs);
285
245
  color: var(--semiont-color-primary-600);
@@ -19,6 +19,3 @@
19
19
  color: var(--semiont-text-primary);
20
20
  }
21
21
 
22
- [data-theme="dark"] .semiont-user-panel__title {
23
- color: var(--semiont-text-primary);
24
- }
@@ -28,10 +28,6 @@
28
28
  margin-left: 0.5rem;
29
29
  }
30
30
 
31
- [data-theme="dark"] .semiont-annotation-prompt__char-count {
32
- color: var(--semiont-text-tertiary);
33
- }
34
-
35
31
  .semiont-annotation-prompt__actions {
36
32
  display: flex;
37
33
  gap: 0.5rem;
@@ -101,26 +97,3 @@
101
97
  color: var(--semiont-color-blue-300);
102
98
  }
103
99
 
104
- /* Progress Bar (moved to panel-sections.css as .semiont-panel-progress) */
105
- .semiont-progress-bar {
106
- position: relative;
107
- width: 100%;
108
- height: 0.5rem;
109
- background-color: var(--semiont-bg-secondary);
110
- border-radius: var(--semiont-radius-full);
111
- overflow: hidden;
112
- }
113
-
114
- .semiont-progress-bar__fill {
115
- height: 100%;
116
- background-color: var(--semiont-color-primary-500);
117
- transition: width 0.3s ease;
118
- }
119
-
120
- [data-theme="dark"] .semiont-progress-bar__fill {
121
- background-color: var(--semiont-color-primary-500);
122
- }
123
-
124
- [data-theme="dark"] .semiont-progress-bar {
125
- background-color: var(--semiont-bg-tertiary);
126
- }
@@ -43,10 +43,6 @@
43
43
  letter-spacing: 0.05em;
44
44
  }
45
45
 
46
- [data-theme="dark"] .semiont-panel-section__heading {
47
- color: var(--semiont-text-secondary);
48
- }
49
-
50
46
  /* Section Content */
51
47
  .semiont-panel-section__content {
52
48
  display: flex;
@@ -120,10 +116,6 @@
120
116
  outline-offset: -2px;
121
117
  }
122
118
 
123
- [data-theme="dark"] .semiont-panel-tab {
124
- color: var(--semiont-text-secondary);
125
- }
126
-
127
119
  [data-theme="dark"] .semiont-panel-tab:focus-visible {
128
120
  outline-color: var(--semiont-color-primary-400);
129
121
  }
@@ -197,29 +189,17 @@
197
189
  margin-right: 0.5rem;
198
190
  }
199
191
 
200
- [data-theme="dark"] .semiont-panel-field__label {
201
- color: var(--semiont-text-tertiary);
202
- }
203
-
204
192
  .semiont-panel-field__value {
205
193
  font-size: var(--semiont-text-sm);
206
194
  color: var(--semiont-text-primary);
207
195
  font-weight: var(--semiont-font-medium);
208
196
  }
209
197
 
210
- [data-theme="dark"] .semiont-panel-field__value {
211
- color: var(--semiont-text-primary);
212
- }
213
-
214
198
  .semiont-panel-field__value--empty {
215
199
  color: var(--semiont-text-tertiary);
216
200
  font-style: italic;
217
201
  }
218
202
 
219
- [data-theme="dark"] .semiont-panel-field__value--empty {
220
- color: var(--semiont-text-tertiary);
221
- }
222
-
223
203
  /* Section Input Areas */
224
204
  .semiont-panel-input-area {
225
205
  padding: 1rem;
@@ -308,20 +288,12 @@
308
288
  letter-spacing: 0.05em;
309
289
  }
310
290
 
311
- [data-theme="dark"] .semiont-panel-card__label {
312
- color: var(--semiont-text-tertiary);
313
- }
314
-
315
291
  .semiont-panel-card__value {
316
292
  font-size: var(--semiont-text-2xl);
317
293
  font-weight: var(--semiont-font-semibold);
318
294
  color: var(--semiont-text-primary);
319
295
  }
320
296
 
321
- [data-theme="dark"] .semiont-panel-card__value {
322
- color: var(--semiont-text-primary);
323
- }
324
-
325
297
  .semiont-panel-card__change {
326
298
  font-size: var(--semiont-text-xs);
327
299
  display: flex;
@@ -345,30 +317,6 @@
345
317
  color: var(--semiont-color-error-light);
346
318
  }
347
319
 
348
- /* Progress Bar (for panels) */
349
- .semiont-panel-progress {
350
- position: relative;
351
- width: 100%;
352
- height: 0.5rem;
353
- background-color: var(--semiont-bg-secondary);
354
- border-radius: var(--semiont-radius-full);
355
- overflow: hidden;
356
- }
357
-
358
- [data-theme="dark"] .semiont-panel-progress {
359
- background-color: var(--semiont-bg-tertiary);
360
- }
361
-
362
- .semiont-panel-progress__fill {
363
- height: 100%;
364
- background-color: var(--semiont-color-primary-500);
365
- transition: width 0.3s ease;
366
- }
367
-
368
- [data-theme="dark"] .semiont-panel-progress__fill {
369
- background-color: var(--semiont-color-primary-500);
370
- }
371
-
372
320
  /* User Lists */
373
321
  .semiont-panel-user-list {
374
322
  display: flex;
@@ -426,15 +374,8 @@
426
374
  color: var(--semiont-text-primary);
427
375
  }
428
376
 
429
- [data-theme="dark"] .semiont-panel-user__name {
430
- color: var(--semiont-text-primary);
431
- }
432
-
433
377
  .semiont-panel-user__status {
434
378
  font-size: var(--semiont-text-xs);
435
379
  color: var(--semiont-text-tertiary);
436
380
  }
437
381
 
438
- [data-theme="dark"] .semiont-panel-user__status {
439
- color: var(--semiont-text-tertiary);
440
- }
@@ -20,18 +20,10 @@
20
20
  background: var(--semiont-bg-secondary);
21
21
  }
22
22
 
23
- [data-theme="dark"] .semiont-panel--secondary {
24
- background: var(--semiont-bg-secondary);
25
- }
26
-
27
23
  .semiont-panel--tertiary {
28
24
  background: var(--semiont-bg-tertiary);
29
25
  }
30
26
 
31
- [data-theme="dark"] .semiont-panel--tertiary {
32
- background: var(--semiont-bg-tertiary);
33
- }
34
-
35
27
  .semiont-panel--bordered {
36
28
  border: 1px solid var(--semiont-border-primary);
37
29
  }
@@ -58,10 +50,6 @@
58
50
  margin-bottom: var(--semiont-panel-header-margin-bottom);
59
51
  }
60
52
 
61
- [data-theme="dark"] .semiont-panel-header__title {
62
- color: var(--semiont-text-primary);
63
- }
64
-
65
53
  .semiont-panel-header__icon {
66
54
  font-size: 1.25rem;
67
55
  line-height: 1;
@@ -76,10 +64,6 @@
76
64
  font-size: var(--semiont-text-sm);
77
65
  }
78
66
 
79
- [data-theme="dark"] .semiont-panel-header__count {
80
- color: var(--semiont-text-tertiary);
81
- }
82
-
83
67
  .semiont-panel-header__actions {
84
68
  display: flex;
85
69
  gap: 0.5rem;
@@ -162,10 +146,6 @@
162
146
  font-size: var(--semiont-text-sm);
163
147
  }
164
148
 
165
- [data-theme="dark"] .semiont-panel-empty {
166
- color: var(--semiont-text-tertiary);
167
- }
168
-
169
149
  .semiont-panel-empty__icon {
170
150
  font-size: 3rem;
171
151
  opacity: 0.3;
@@ -191,10 +171,6 @@
191
171
  margin-bottom: 0.5rem;
192
172
  }
193
173
 
194
- [data-theme="dark"] .semiont-panel-subtitle {
195
- color: var(--semiont-text-secondary);
196
- }
197
-
198
174
  .semiont-panel-text {
199
175
  font-size: var(--semiont-text-sm);
200
176
  font-weight: var(--semiont-font-medium);
@@ -204,10 +180,6 @@
204
180
  white-space: nowrap;
205
181
  }
206
182
 
207
- [data-theme="dark"] .semiont-panel-text {
208
- color: var(--semiont-text-primary);
209
- }
210
-
211
183
  .semiont-panel-text-secondary {
212
184
  font-size: var(--semiont-text-xs);
213
185
  color: var(--semiont-color-gray-500);
@@ -270,10 +242,6 @@
270
242
  color: var(--semiont-color-gray-300);
271
243
  }
272
244
 
273
- [data-theme="dark"] .semiont-panel__section-title--collapsible:hover {
274
- background: var(--semiont-bg-tertiary);
275
- }
276
-
277
245
  .semiont-panel__section-title--collapsible:focus-visible {
278
246
  outline: 2px solid var(--semiont-color-primary-500);
279
247
  outline-offset: 2px;