@ponchia/ui 0.4.0 → 0.5.0

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 (123) hide show
  1. package/CHANGELOG.md +352 -12
  2. package/MIGRATIONS.json +92 -0
  3. package/README.md +27 -17
  4. package/annotations/index.d.ts +280 -0
  5. package/annotations/index.js +522 -0
  6. package/behaviors/carousel.js +197 -0
  7. package/behaviors/combobox.js +195 -0
  8. package/behaviors/command.js +187 -0
  9. package/behaviors/connectors.js +96 -0
  10. package/behaviors/crosshair.js +58 -0
  11. package/behaviors/dialog.js +73 -0
  12. package/behaviors/disclosure.js +25 -0
  13. package/behaviors/dismissible.js +24 -0
  14. package/behaviors/forms.js +158 -0
  15. package/behaviors/glyph.js +109 -0
  16. package/behaviors/index.d.ts +82 -1
  17. package/behaviors/index.js +18 -1336
  18. package/behaviors/internal.js +50 -0
  19. package/behaviors/legend.js +46 -0
  20. package/behaviors/menu.js +46 -0
  21. package/behaviors/popover.js +108 -0
  22. package/behaviors/spotlight.js +53 -0
  23. package/behaviors/table.js +109 -0
  24. package/behaviors/tabs.js +103 -0
  25. package/behaviors/theme.js +82 -0
  26. package/behaviors/toast.js +152 -0
  27. package/classes/index.d.ts +318 -0
  28. package/classes/index.js +352 -0
  29. package/classes/vscode.css-custom-data.json +18 -14
  30. package/connectors/index.d.ts +71 -0
  31. package/connectors/index.js +179 -0
  32. package/css/analytical.css +21 -0
  33. package/css/annotations.css +292 -0
  34. package/css/command.css +97 -0
  35. package/css/connectors.css +93 -0
  36. package/css/crosshair.css +100 -0
  37. package/css/disclosure.css +29 -0
  38. package/css/dots.css +2 -0
  39. package/css/feedback.css +104 -0
  40. package/css/fonts.css +11 -7
  41. package/css/generated.css +117 -0
  42. package/css/legend.css +268 -0
  43. package/css/marks.css +144 -0
  44. package/css/motion.css +88 -0
  45. package/css/overlay.css +52 -1
  46. package/css/primitives.css +18 -0
  47. package/css/report.css +363 -0
  48. package/css/selection.css +46 -0
  49. package/css/sources.css +179 -0
  50. package/css/spotlight.css +104 -0
  51. package/css/state.css +121 -0
  52. package/css/tokens.css +78 -60
  53. package/css/workbench.css +83 -0
  54. package/dist/bronto.css +1 -1
  55. package/dist/css/analytical.css +1 -0
  56. package/dist/css/annotations.css +1 -0
  57. package/dist/css/command.css +1 -0
  58. package/dist/css/connectors.css +1 -0
  59. package/dist/css/crosshair.css +1 -0
  60. package/dist/css/disclosure.css +1 -1
  61. package/dist/css/dots.css +1 -1
  62. package/dist/css/feedback.css +1 -1
  63. package/dist/css/fonts.css +1 -1
  64. package/dist/css/generated.css +1 -0
  65. package/dist/css/legend.css +1 -0
  66. package/dist/css/marks.css +1 -0
  67. package/dist/css/motion.css +1 -1
  68. package/dist/css/overlay.css +1 -1
  69. package/dist/css/primitives.css +1 -1
  70. package/dist/css/report.css +1 -0
  71. package/dist/css/selection.css +1 -0
  72. package/dist/css/sources.css +1 -0
  73. package/dist/css/spotlight.css +1 -0
  74. package/dist/css/state.css +1 -0
  75. package/dist/css/tokens.css +1 -1
  76. package/dist/css/workbench.css +1 -0
  77. package/docs/adr/0001-color-system.md +26 -27
  78. package/docs/adr/0002-scope-and-2026-baseline.md +104 -0
  79. package/docs/adr/0003-theme-model.md +97 -0
  80. package/docs/annotations.md +345 -0
  81. package/docs/architecture.md +202 -0
  82. package/docs/command.md +95 -0
  83. package/docs/connectors.md +91 -0
  84. package/docs/contrast.md +42 -42
  85. package/docs/crosshair.md +63 -0
  86. package/docs/generated.md +91 -0
  87. package/docs/legends.md +168 -0
  88. package/docs/marks.md +86 -0
  89. package/docs/reference.md +418 -15
  90. package/docs/reporting.md +305 -0
  91. package/docs/selection.md +40 -0
  92. package/docs/sources.md +110 -0
  93. package/docs/spotlight.md +78 -0
  94. package/docs/stability.md +52 -0
  95. package/docs/state.md +85 -0
  96. package/docs/theming.md +18 -6
  97. package/docs/usage.md +43 -3
  98. package/docs/workbench.md +72 -0
  99. package/fonts/doto-400.woff2 +0 -0
  100. package/fonts/doto-500.woff2 +0 -0
  101. package/fonts/doto-600.woff2 +0 -0
  102. package/fonts/doto-700.woff2 +0 -0
  103. package/fonts/doto-800.woff2 +0 -0
  104. package/fonts/doto-900.woff2 +0 -0
  105. package/llms.txt +288 -8
  106. package/package.json +95 -5
  107. package/qwik/index.d.ts +60 -0
  108. package/qwik/index.js +149 -0
  109. package/react/index.d.ts +40 -14
  110. package/react/index.js +32 -5
  111. package/solid/index.d.ts +40 -14
  112. package/solid/index.js +31 -3
  113. package/tokens/index.d.ts +3 -3
  114. package/tokens/index.js +25 -19
  115. package/tokens/index.json +32 -28
  116. package/tokens/resolved.json +34 -32
  117. package/tokens/tokens.dtcg.json +22 -14
  118. package/fonts/doto-400.ttf +0 -0
  119. package/fonts/doto-500.ttf +0 -0
  120. package/fonts/doto-600.ttf +0 -0
  121. package/fonts/doto-700.ttf +0 -0
  122. package/fonts/doto-800.ttf +0 -0
  123. package/fonts/doto-900.ttf +0 -0
package/docs/reference.md CHANGED
@@ -9,7 +9,7 @@ rendering of every class is the kitchen-sink demo:
9
9
  **<https://ponchia.github.io/bronto-ui/>**. Theming knobs and the token
10
10
  contract: [docs/theming.md](theming.md).
11
11
 
12
- - 263 classes across 110 component groups
12
+ - 474 classes across 148 component groups
13
13
  - Import the typed registry: `import { cls, ui, cx } from '@ponchia/ui/classes'`
14
14
  - Tokens as data: `import { cssVars, tokens, themeColor } from '@ponchia/ui/tokens'`
15
15
 
@@ -66,6 +66,46 @@ each one matches a real selector in the stylesheet.
66
66
  | --- | --- | --- |
67
67
  | `cls.animateMatrix` | `ui-animate-matrix` | base |
68
68
 
69
+ ### `.ui-annotation`
70
+
71
+ | Registry key | Class | Kind |
72
+ | --- | --- | --- |
73
+ | `cls.annotation` | `ui-annotation` | base |
74
+ | `cls.annotationBadge` | `ui-annotation__badge` | part |
75
+ | `cls.annotationConnector` | `ui-annotation__connector` | part |
76
+ | `cls.annotationConnectorEnd` | `ui-annotation__connector-end` | part |
77
+ | `cls.annotationLabel` | `ui-annotation__label` | part |
78
+ | `cls.annotationNote` | `ui-annotation__note` | part |
79
+ | `cls.annotationNoteLine` | `ui-annotation__note-line` | part |
80
+ | `cls.annotationSubject` | `ui-annotation__subject` | part |
81
+ | `cls.annotationTitle` | `ui-annotation__title` | part |
82
+ | `cls.annotationAccent` | `ui-annotation--accent` | modifier |
83
+ | `cls.annotationAxis` | `ui-annotation--axis` | modifier |
84
+ | `cls.annotationBadgeVariant` | `ui-annotation--badge` | modifier |
85
+ | `cls.annotationBand` | `ui-annotation--band` | modifier |
86
+ | `cls.annotationBracket` | `ui-annotation--bracket` | modifier |
87
+ | `cls.annotationCallout` | `ui-annotation--callout` | modifier |
88
+ | `cls.annotationCircle` | `ui-annotation--circle` | modifier |
89
+ | `cls.annotationCluster` | `ui-annotation--cluster` | modifier |
90
+ | `cls.annotationCompare` | `ui-annotation--compare` | modifier |
91
+ | `cls.annotationCurve` | `ui-annotation--curve` | modifier |
92
+ | `cls.annotationDanger` | `ui-annotation--danger` | modifier |
93
+ | `cls.annotationDraw` | `ui-annotation--draw` | modifier |
94
+ | `cls.annotationElbow` | `ui-annotation--elbow` | modifier |
95
+ | `cls.annotationEvidence` | `ui-annotation--evidence` | modifier |
96
+ | `cls.annotationFocus` | `ui-annotation--focus` | modifier |
97
+ | `cls.annotationInfo` | `ui-annotation--info` | modifier |
98
+ | `cls.annotationLabelVariant` | `ui-annotation--label` | modifier |
99
+ | `cls.annotationMuted` | `ui-annotation--muted` | modifier |
100
+ | `cls.annotationPulse` | `ui-annotation--pulse` | modifier |
101
+ | `cls.annotationRect` | `ui-annotation--rect` | modifier |
102
+ | `cls.annotationReveal` | `ui-annotation--reveal` | modifier |
103
+ | `cls.annotationSlope` | `ui-annotation--slope` | modifier |
104
+ | `cls.annotationSuccess` | `ui-annotation--success` | modifier |
105
+ | `cls.annotationThreshold` | `ui-annotation--threshold` | modifier |
106
+ | `cls.annotationTimeline` | `ui-annotation--timeline` | modifier |
107
+ | `cls.annotationWarning` | `ui-annotation--warning` | modifier |
108
+
69
109
  ### `.ui-app-content`
70
110
 
71
111
  | Registry key | Class | Kind |
@@ -172,6 +212,17 @@ each one matches a real selector in the stylesheet.
172
212
  | `cls.badgeSuccess` | `ui-badge--success` | modifier |
173
213
  | `cls.badgeWarning` | `ui-badge--warning` | modifier |
174
214
 
215
+ ### `.ui-bracket-note`
216
+
217
+ | Registry key | Class | Kind |
218
+ | --- | --- | --- |
219
+ | `cls.bracketNote` | `ui-bracket-note` | base |
220
+ | `cls.bracketNoteLabel` | `ui-bracket-note__label` | part |
221
+ | `cls.bracketNoteAccent` | `ui-bracket-note--accent` | modifier |
222
+ | `cls.bracketNoteDanger` | `ui-bracket-note--danger` | modifier |
223
+ | `cls.bracketNoteInfo` | `ui-bracket-note--info` | modifier |
224
+ | `cls.bracketNoteWarning` | `ui-bracket-note--warning` | modifier |
225
+
175
226
  ### `.ui-breadcrumb`
176
227
 
177
228
  | Registry key | Class | Kind |
@@ -179,6 +230,18 @@ each one matches a real selector in the stylesheet.
179
230
  | `cls.breadcrumb` | `ui-breadcrumb` | base |
180
231
  | `cls.breadcrumbItem` | `ui-breadcrumb__item` | part |
181
232
 
233
+ ### `.ui-break-after`
234
+
235
+ | Registry key | Class | Kind |
236
+ | --- | --- | --- |
237
+ | `cls.breakAfter` | `ui-break-after` | base |
238
+
239
+ ### `.ui-break-before`
240
+
241
+ | Registry key | Class | Kind |
242
+ | --- | --- | --- |
243
+ | `cls.breakBefore` | `ui-break-before` | base |
244
+
182
245
  ### `.ui-button`
183
246
 
184
247
  | Registry key | Class | Kind |
@@ -226,6 +289,19 @@ each one matches a real selector in the stylesheet.
226
289
  | --- | --- | --- |
227
290
  | `cls.center` | `ui-center` | base |
228
291
 
292
+ ### `.ui-chart`
293
+
294
+ | Registry key | Class | Kind |
295
+ | --- | --- | --- |
296
+ | `cls.chart` | `ui-chart` | base |
297
+ | `cls.chartBar` | `ui-chart__bar` | part |
298
+ | `cls.chartCaption` | `ui-chart__caption` | part |
299
+ | `cls.chartFallback` | `ui-chart__fallback` | part |
300
+ | `cls.chartFill` | `ui-chart__fill` | part |
301
+ | `cls.chartLabel` | `ui-chart__label` | part |
302
+ | `cls.chartPlot` | `ui-chart__plot` | part |
303
+ | `cls.chartTrack` | `ui-chart__track` | part |
304
+
229
305
  ### `.ui-check`
230
306
 
231
307
  | Registry key | Class | Kind |
@@ -239,6 +315,13 @@ each one matches a real selector in the stylesheet.
239
315
  | `cls.chip` | `ui-chip` | base |
240
316
  | `cls.chipAccent` | `ui-chip--accent` | modifier |
241
317
 
318
+ ### `.ui-citation`
319
+
320
+ | Registry key | Class | Kind |
321
+ | --- | --- | --- |
322
+ | `cls.citation` | `ui-citation` | base |
323
+ | `cls.citationChip` | `ui-citation--chip` | modifier |
324
+
242
325
  ### `.ui-cluster`
243
326
 
244
327
  | Registry key | Class | Kind |
@@ -256,6 +339,35 @@ each one matches a real selector in the stylesheet.
256
339
  | `cls.comboboxList` | `ui-combobox__list` | part |
257
340
  | `cls.comboboxOption` | `ui-combobox__option` | part |
258
341
 
342
+ ### `.ui-command`
343
+
344
+ | Registry key | Class | Kind |
345
+ | --- | --- | --- |
346
+ | `cls.command` | `ui-command` | base |
347
+ | `cls.commandEmpty` | `ui-command__empty` | part |
348
+ | `cls.commandGroup` | `ui-command__group` | part |
349
+ | `cls.commandInput` | `ui-command__input` | part |
350
+ | `cls.commandItem` | `ui-command__item` | part |
351
+ | `cls.commandList` | `ui-command__list` | part |
352
+ | `cls.commandMeta` | `ui-command__meta` | part |
353
+ | `cls.commandShortcut` | `ui-command__shortcut` | part |
354
+
355
+ ### `.ui-connector`
356
+
357
+ | Registry key | Class | Kind |
358
+ | --- | --- | --- |
359
+ | `cls.connector` | `ui-connector` | base |
360
+ | `cls.connectorEnd` | `ui-connector__end` | part |
361
+ | `cls.connectorPath` | `ui-connector__path` | part |
362
+ | `cls.connectorAccent` | `ui-connector--accent` | modifier |
363
+ | `cls.connectorDanger` | `ui-connector--danger` | modifier |
364
+ | `cls.connectorDashed` | `ui-connector--dashed` | modifier |
365
+ | `cls.connectorDraw` | `ui-connector--draw` | modifier |
366
+ | `cls.connectorInfo` | `ui-connector--info` | modifier |
367
+ | `cls.connectorMuted` | `ui-connector--muted` | modifier |
368
+ | `cls.connectorSuccess` | `ui-connector--success` | modifier |
369
+ | `cls.connectorWarning` | `ui-connector--warning` | modifier |
370
+
259
371
  ### `.ui-container`
260
372
 
261
373
  | Registry key | Class | Kind |
@@ -270,6 +382,17 @@ each one matches a real selector in the stylesheet.
270
382
  | --- | --- | --- |
271
383
  | `cls.cq` | `ui-cq` | base |
272
384
 
385
+ ### `.ui-crosshair`
386
+
387
+ | Registry key | Class | Kind |
388
+ | --- | --- | --- |
389
+ | `cls.crosshair` | `ui-crosshair` | base |
390
+ | `cls.crosshairBadge` | `ui-crosshair__badge` | part |
391
+ | `cls.crosshairLine` | `ui-crosshair__line` | part |
392
+ | `cls.crosshairLineX` | `ui-crosshair__line--x` | modifier |
393
+ | `cls.crosshairLineY` | `ui-crosshair__line--y` | modifier |
394
+ | `cls.crosshairMuted` | `ui-crosshair--muted` | modifier |
395
+
273
396
  ### `.ui-display`
274
397
 
275
398
  | Registry key | Class | Kind |
@@ -380,6 +503,13 @@ each one matches a real selector in the stylesheet.
380
503
  | --- | --- | --- |
381
504
  | `cls.file` | `ui-file` | base |
382
505
 
506
+ ### `.ui-generated`
507
+
508
+ | Registry key | Class | Kind |
509
+ | --- | --- | --- |
510
+ | `cls.generated` | `ui-generated` | base |
511
+ | `cls.generatedLabel` | `ui-generated__label` | part |
512
+
383
513
  ### `.ui-grid`
384
514
 
385
515
  | Registry key | Class | Kind |
@@ -420,12 +550,26 @@ each one matches a real selector in the stylesheet.
420
550
  | `cls.inputIconSlot` | `ui-input-icon__icon` | part |
421
551
  | `cls.inputIconEnd` | `ui-input-icon--end` | modifier |
422
552
 
553
+ ### `.ui-inspector`
554
+
555
+ | Registry key | Class | Kind |
556
+ | --- | --- | --- |
557
+ | `cls.inspector` | `ui-inspector` | base |
558
+ | `cls.inspectorBody` | `ui-inspector__body` | part |
559
+ | `cls.inspectorHeader` | `ui-inspector__header` | part |
560
+
423
561
  ### `.ui-kbd`
424
562
 
425
563
  | Registry key | Class | Kind |
426
564
  | --- | --- | --- |
427
565
  | `cls.kbd` | `ui-kbd` | base |
428
566
 
567
+ ### `.ui-keep`
568
+
569
+ | Registry key | Class | Kind |
570
+ | --- | --- | --- |
571
+ | `cls.keep` | `ui-keep` | base |
572
+
429
573
  ### `.ui-key-value`
430
574
 
431
575
  | Registry key | Class | Kind |
@@ -438,6 +582,39 @@ each one matches a real selector in the stylesheet.
438
582
  | --- | --- | --- |
439
583
  | `cls.label` | `ui-label` | base |
440
584
 
585
+ ### `.ui-legend`
586
+
587
+ | Registry key | Class | Kind |
588
+ | --- | --- | --- |
589
+ | `cls.legend` | `ui-legend` | base |
590
+ | `cls.legendCaption` | `ui-legend__caption` | part |
591
+ | `cls.legendItem` | `ui-legend__item` | part |
592
+ | `cls.legendLabel` | `ui-legend__label` | part |
593
+ | `cls.legendSwatch` | `ui-legend__swatch` | part |
594
+ | `cls.legendSwatch1` | `ui-legend__swatch--1` | modifier |
595
+ | `cls.legendSwatch2` | `ui-legend__swatch--2` | modifier |
596
+ | `cls.legendSwatch3` | `ui-legend__swatch--3` | modifier |
597
+ | `cls.legendSwatch4` | `ui-legend__swatch--4` | modifier |
598
+ | `cls.legendSwatch5` | `ui-legend__swatch--5` | modifier |
599
+ | `cls.legendSwatch6` | `ui-legend__swatch--6` | modifier |
600
+ | `cls.legendSwatch7` | `ui-legend__swatch--7` | modifier |
601
+ | `cls.legendSwatch8` | `ui-legend__swatch--8` | modifier |
602
+ | `cls.legendSwatchCircle` | `ui-legend__swatch--circle` | modifier |
603
+ | `cls.legendSwatchLine` | `ui-legend__swatch--line` | modifier |
604
+ | `cls.legendSymbol` | `ui-legend__symbol` | part |
605
+ | `cls.legendTick` | `ui-legend__tick` | part |
606
+ | `cls.legendTicks` | `ui-legend__ticks` | part |
607
+ | `cls.legendTitle` | `ui-legend__title` | part |
608
+ | `cls.legendTrack` | `ui-legend__track` | part |
609
+ | `cls.legendValue` | `ui-legend__value` | part |
610
+ | `cls.legendCompact` | `ui-legend--compact` | modifier |
611
+ | `cls.legendDiverging` | `ui-legend--diverging` | modifier |
612
+ | `cls.legendGradient` | `ui-legend--gradient` | modifier |
613
+ | `cls.legendInteractive` | `ui-legend--interactive` | modifier |
614
+ | `cls.legendThreshold` | `ui-legend--threshold` | modifier |
615
+ | `cls.legendVertical` | `ui-legend--vertical` | modifier |
616
+ | `cls.legendWithValues` | `ui-legend--with-values` | modifier |
617
+
441
618
  ### `.ui-lightbox`
442
619
 
443
620
  | Registry key | Class | Kind |
@@ -453,6 +630,22 @@ each one matches a real selector in the stylesheet.
453
630
  | `cls.linkArrow` | `ui-link--arrow` | modifier |
454
631
  | `cls.linkCta` | `ui-link--cta` | modifier |
455
632
 
633
+ ### `.ui-mark`
634
+
635
+ | Registry key | Class | Kind |
636
+ | --- | --- | --- |
637
+ | `cls.mark` | `ui-mark` | base |
638
+ | `cls.markAccent` | `ui-mark--accent` | modifier |
639
+ | `cls.markBox` | `ui-mark--box` | modifier |
640
+ | `cls.markDanger` | `ui-mark--danger` | modifier |
641
+ | `cls.markDraw` | `ui-mark--draw` | modifier |
642
+ | `cls.markInfo` | `ui-mark--info` | modifier |
643
+ | `cls.markMuted` | `ui-mark--muted` | modifier |
644
+ | `cls.markStrike` | `ui-mark--strike` | modifier |
645
+ | `cls.markSuccess` | `ui-mark--success` | modifier |
646
+ | `cls.markUnderline` | `ui-mark--underline` | modifier |
647
+ | `cls.markWarning` | `ui-mark--warning` | modifier |
648
+
456
649
  ### `.ui-matrix`
457
650
 
458
651
  | Registry key | Class | Kind |
@@ -525,6 +718,13 @@ each one matches a real selector in the stylesheet.
525
718
  | `cls.numNeg` | `ui-num--neg` | modifier |
526
719
  | `cls.numPos` | `ui-num--pos` | modifier |
527
720
 
721
+ ### `.ui-origin-label`
722
+
723
+ | Registry key | Class | Kind |
724
+ | --- | --- | --- |
725
+ | `cls.originLabel` | `ui-origin-label` | base |
726
+ | `cls.originLabelAi` | `ui-origin-label--ai` | modifier |
727
+
528
728
  ### `.ui-pagehead`
529
729
 
530
730
  | Registry key | Class | Kind |
@@ -553,6 +753,18 @@ each one matches a real selector in the stylesheet.
553
753
  | --- | --- | --- |
554
754
  | `cls.popover` | `ui-popover` | base |
555
755
 
756
+ ### `.ui-print-exact`
757
+
758
+ | Registry key | Class | Kind |
759
+ | --- | --- | --- |
760
+ | `cls.printExact` | `ui-print-exact` | base |
761
+
762
+ ### `.ui-print-only`
763
+
764
+ | Registry key | Class | Kind |
765
+ | --- | --- | --- |
766
+ | `cls.printOnly` | `ui-print-only` | base |
767
+
556
768
  ### `.ui-progress`
557
769
 
558
770
  | Registry key | Class | Kind |
@@ -561,6 +773,14 @@ each one matches a real selector in the stylesheet.
561
773
  | `cls.progressBar` | `ui-progress__bar` | part |
562
774
  | `cls.progressIndeterminate` | `ui-progress--indeterminate` | modifier |
563
775
 
776
+ ### `.ui-property`
777
+
778
+ | Registry key | Class | Kind |
779
+ | --- | --- | --- |
780
+ | `cls.property` | `ui-property` | base |
781
+ | `cls.propertyLabel` | `ui-property__label` | part |
782
+ | `cls.propertyValue` | `ui-property__value` | part |
783
+
564
784
  ### `.ui-prose`
565
785
 
566
786
  | Registry key | Class | Kind |
@@ -568,6 +788,13 @@ each one matches a real selector in the stylesheet.
568
788
  | `cls.prose` | `ui-prose` | base |
569
789
  | `cls.proseCompact` | `ui-prose--compact` | modifier |
570
790
 
791
+ ### `.ui-provenance`
792
+
793
+ | Registry key | Class | Kind |
794
+ | --- | --- | --- |
795
+ | `cls.provenance` | `ui-provenance` | base |
796
+ | `cls.provenanceItem` | `ui-provenance__item` | part |
797
+
571
798
  ### `.ui-quote`
572
799
 
573
800
  | Registry key | Class | Kind |
@@ -587,12 +814,69 @@ each one matches a real selector in the stylesheet.
587
814
  | --- | --- | --- |
588
815
  | `cls.ratio` | `ui-ratio` | base |
589
816
 
817
+ ### `.ui-readout`
818
+
819
+ | Registry key | Class | Kind |
820
+ | --- | --- | --- |
821
+ | `cls.readout` | `ui-readout` | base |
822
+
823
+ ### `.ui-reasoning`
824
+
825
+ | Registry key | Class | Kind |
826
+ | --- | --- | --- |
827
+ | `cls.reasoning` | `ui-reasoning` | base |
828
+ | `cls.reasoningBody` | `ui-reasoning__body` | part |
829
+
830
+ ### `.ui-report`
831
+
832
+ | Registry key | Class | Kind |
833
+ | --- | --- | --- |
834
+ | `cls.report` | `ui-report` | base |
835
+ | `cls.reportAppendix` | `ui-report__appendix` | part |
836
+ | `cls.reportCaption` | `ui-report__caption` | part |
837
+ | `cls.reportCover` | `ui-report__cover` | part |
838
+ | `cls.reportCoverCompact` | `ui-report__cover--compact` | modifier |
839
+ | `cls.reportEvidence` | `ui-report__evidence` | part |
840
+ | `cls.reportFigure` | `ui-report__figure` | part |
841
+ | `cls.reportFinding` | `ui-report__finding` | part |
842
+ | `cls.reportFootnotes` | `ui-report__footnotes` | part |
843
+ | `cls.reportHeader` | `ui-report__header` | part |
844
+ | `cls.reportMeta` | `ui-report__meta` | part |
845
+ | `cls.reportSection` | `ui-report__section` | part |
846
+ | `cls.reportSectionUnnumbered` | `ui-report__section--unnumbered` | modifier |
847
+ | `cls.reportSectionHead` | `ui-report__section-head` | part |
848
+ | `cls.reportSources` | `ui-report__sources` | part |
849
+ | `cls.reportSubtitle` | `ui-report__subtitle` | part |
850
+ | `cls.reportSummary` | `ui-report__summary` | part |
851
+ | `cls.reportTitle` | `ui-report__title` | part |
852
+ | `cls.reportToc` | `ui-report__toc` | part |
853
+ | `cls.reportCompact` | `ui-report--compact` | modifier |
854
+ | `cls.reportNumbered` | `ui-report--numbered` | modifier |
855
+
590
856
  ### `.ui-reveal`
591
857
 
592
858
  | Registry key | Class | Kind |
593
859
  | --- | --- | --- |
594
860
  | `cls.reveal` | `ui-reveal` | base |
595
861
 
862
+ ### `.ui-screen-only`
863
+
864
+ | Registry key | Class | Kind |
865
+ | --- | --- | --- |
866
+ | `cls.screenOnly` | `ui-screen-only` | base |
867
+
868
+ ### `.ui-scroll-progress`
869
+
870
+ | Registry key | Class | Kind |
871
+ | --- | --- | --- |
872
+ | `cls.scrollProgress` | `ui-scroll-progress` | base |
873
+
874
+ ### `.ui-scroll-reveal`
875
+
876
+ | Registry key | Class | Kind |
877
+ | --- | --- | --- |
878
+ | `cls.scrollReveal` | `ui-scroll-reveal` | base |
879
+
596
880
  ### `.ui-search`
597
881
 
598
882
  | Registry key | Class | Kind |
@@ -606,12 +890,36 @@ each one matches a real selector in the stylesheet.
606
890
  | `cls.segmented` | `ui-segmented` | base |
607
891
  | `cls.segmentedOption` | `ui-segmented__option` | part |
608
892
 
893
+ ### `.ui-sel`
894
+
895
+ | Registry key | Class | Kind |
896
+ | --- | --- | --- |
897
+ | `cls.sel` | `ui-sel` | base |
898
+ | `cls.selMaybe` | `ui-sel--maybe` | modifier |
899
+ | `cls.selOff` | `ui-sel--off` | modifier |
900
+ | `cls.selOn` | `ui-sel--on` | modifier |
901
+
609
902
  ### `.ui-select`
610
903
 
611
904
  | Registry key | Class | Kind |
612
905
  | --- | --- | --- |
613
906
  | `cls.select` | `ui-select` | base |
614
907
 
908
+ ### `.ui-selectionbar`
909
+
910
+ | Registry key | Class | Kind |
911
+ | --- | --- | --- |
912
+ | `cls.selectionbar` | `ui-selectionbar` | base |
913
+ | `cls.selectionbarActions` | `ui-selectionbar__actions` | part |
914
+ | `cls.selectionbarCount` | `ui-selectionbar__count` | part |
915
+
916
+ ### `.ui-shortcut`
917
+
918
+ | Registry key | Class | Kind |
919
+ | --- | --- | --- |
920
+ | `cls.shortcut` | `ui-shortcut` | base |
921
+ | `cls.shortcutSep` | `ui-shortcut__sep` | part |
922
+
615
923
  ### `.ui-sidebar`
616
924
 
617
925
  | Registry key | Class | Kind |
@@ -659,12 +967,49 @@ each one matches a real selector in the stylesheet.
659
967
  | --- | --- | --- |
660
968
  | `cls.skiplink` | `ui-skiplink` | base |
661
969
 
970
+ ### `.ui-source-card`
971
+
972
+ | Registry key | Class | Kind |
973
+ | --- | --- | --- |
974
+ | `cls.sourceCard` | `ui-source-card` | base |
975
+ | `cls.sourceCardActions` | `ui-source-card__actions` | part |
976
+ | `cls.sourceCardExcerpt` | `ui-source-card__excerpt` | part |
977
+ | `cls.sourceCardOrigin` | `ui-source-card__origin` | part |
978
+ | `cls.sourceCardTime` | `ui-source-card__time` | part |
979
+ | `cls.sourceCardTitle` | `ui-source-card__title` | part |
980
+
981
+ ### `.ui-source-list`
982
+
983
+ | Registry key | Class | Kind |
984
+ | --- | --- | --- |
985
+ | `cls.sourceList` | `ui-source-list` | base |
986
+ | `cls.sourceListItem` | `ui-source-list__item` | part |
987
+
662
988
  ### `.ui-spinner`
663
989
 
664
990
  | Registry key | Class | Kind |
665
991
  | --- | --- | --- |
666
992
  | `cls.spinner` | `ui-spinner` | base |
667
993
 
994
+ ### `.ui-spotlight`
995
+
996
+ | Registry key | Class | Kind |
997
+ | --- | --- | --- |
998
+ | `cls.spotlight` | `ui-spotlight` | base |
999
+ | `cls.spotlightHole` | `ui-spotlight__hole` | part |
1000
+ | `cls.spotlightRing` | `ui-spotlight--ring` | modifier |
1001
+
1002
+ ### `.ui-src`
1003
+
1004
+ | Registry key | Class | Kind |
1005
+ | --- | --- | --- |
1006
+ | `cls.srcConflict` | `ui-src--conflict` | modifier |
1007
+ | `cls.srcGenerated` | `ui-src--generated` | modifier |
1008
+ | `cls.srcReviewed` | `ui-src--reviewed` | modifier |
1009
+ | `cls.srcStale` | `ui-src--stale` | modifier |
1010
+ | `cls.srcUnverified` | `ui-src--unverified` | modifier |
1011
+ | `cls.srcVerified` | `ui-src--verified` | modifier |
1012
+
668
1013
  ### `.ui-stack`
669
1014
 
670
1015
  | Registry key | Class | Kind |
@@ -687,6 +1032,25 @@ each one matches a real selector in the stylesheet.
687
1032
  | `cls.statLabel` | `ui-stat__label` | part |
688
1033
  | `cls.statValue` | `ui-stat__value` | part |
689
1034
 
1035
+ ### `.ui-state`
1036
+
1037
+ | Registry key | Class | Kind |
1038
+ | --- | --- | --- |
1039
+ | `cls.state` | `ui-state` | base |
1040
+ | `cls.stateDetail` | `ui-state__detail` | part |
1041
+ | `cls.stateLabel` | `ui-state__label` | part |
1042
+ | `cls.stateBusy` | `ui-state--busy` | modifier |
1043
+ | `cls.stateConflict` | `ui-state--conflict` | modifier |
1044
+ | `cls.stateError` | `ui-state--error` | modifier |
1045
+ | `cls.stateLocked` | `ui-state--locked` | modifier |
1046
+ | `cls.stateNeedsReview` | `ui-state--needs-review` | modifier |
1047
+ | `cls.stateOffline` | `ui-state--offline` | modifier |
1048
+ | `cls.stateQueued` | `ui-state--queued` | modifier |
1049
+ | `cls.stateReviewed` | `ui-state--reviewed` | modifier |
1050
+ | `cls.stateSaved` | `ui-state--saved` | modifier |
1051
+ | `cls.stateSaving` | `ui-state--saving` | modifier |
1052
+ | `cls.stateStale` | `ui-state--stale` | modifier |
1053
+
690
1054
  ### `.ui-statgrid`
691
1055
 
692
1056
  | Registry key | Class | Kind |
@@ -727,6 +1091,12 @@ each one matches a real selector in the stylesheet.
727
1091
  | --- | --- | --- |
728
1092
  | `cls.switcher` | `ui-switcher` | base |
729
1093
 
1094
+ ### `.ui-syncbar`
1095
+
1096
+ | Registry key | Class | Kind |
1097
+ | --- | --- | --- |
1098
+ | `cls.syncbar` | `ui-syncbar` | base |
1099
+
730
1100
  ### `.ui-tab`
731
1101
 
732
1102
  | Registry key | Class | Kind |
@@ -819,6 +1189,21 @@ each one matches a real selector in the stylesheet.
819
1189
  | `cls.toastStack` | `ui-toast-stack` | base |
820
1190
  | `cls.toastStackAssertive` | `ui-toast-stack--assertive` | modifier |
821
1191
 
1192
+ ### `.ui-tool-call`
1193
+
1194
+ | Registry key | Class | Kind |
1195
+ | --- | --- | --- |
1196
+ | `cls.toolCall` | `ui-tool-call` | base |
1197
+ | `cls.toolCallBody` | `ui-tool-call__body` | part |
1198
+ | `cls.toolCallName` | `ui-tool-call__name` | part |
1199
+ | `cls.toolCallStatus` | `ui-tool-call__status` | part |
1200
+
1201
+ ### `.ui-tool-log`
1202
+
1203
+ | Registry key | Class | Kind |
1204
+ | --- | --- | --- |
1205
+ | `cls.toolLog` | `ui-tool-log` | base |
1206
+
822
1207
  ### `.ui-tooltip`
823
1208
 
824
1209
  | Registry key | Class | Kind |
@@ -826,12 +1211,28 @@ each one matches a real selector in the stylesheet.
826
1211
  | `cls.tooltip` | `ui-tooltip` | base |
827
1212
  | `cls.tooltipBubble` | `ui-tooltip__bubble` | part |
828
1213
 
1214
+ ### `.ui-tour-note`
1215
+
1216
+ | Registry key | Class | Kind |
1217
+ | --- | --- | --- |
1218
+ | `cls.tourNote` | `ui-tour-note` | base |
1219
+ | `cls.tourNoteActions` | `ui-tour-note__actions` | part |
1220
+ | `cls.tourNoteBody` | `ui-tour-note__body` | part |
1221
+ | `cls.tourNoteStep` | `ui-tour-note__step` | part |
1222
+ | `cls.tourNoteTitle` | `ui-tour-note__title` | part |
1223
+
829
1224
  ### `.ui-visually-hidden`
830
1225
 
831
1226
  | Registry key | Class | Kind |
832
1227
  | --- | --- | --- |
833
1228
  | `cls.visuallyHidden` | `ui-visually-hidden` | base |
834
1229
 
1230
+ ### `.ui-vt`
1231
+
1232
+ | Registry key | Class | Kind |
1233
+ | --- | --- | --- |
1234
+ | `cls.vt` | `ui-vt` | base |
1235
+
835
1236
  ## Table-local state classes
836
1237
 
837
1238
  Not in `cls` by design — these are plain `is-*` state hooks scoped to
@@ -919,10 +1320,10 @@ Exact mirror of the `:root` blocks in `css/tokens.css`
919
1320
  | `--z-overlay` | `30` |
920
1321
  | `--z-popover` | `50` |
921
1322
  | `--z-toast` | `60` |
922
- | `--accent-1` | `color-mix(in oklch, var(--accent) 8%, var(--bg))` |
923
- | `--accent-2` | `color-mix(in oklch, var(--accent) 16%, var(--bg))` |
924
- | `--accent-3` | `color-mix(in oklch, var(--accent) 32%, var(--bg))` |
925
- | `--accent-4` | `color-mix(in oklch, var(--accent) 60%, var(--bg))` |
1323
+ | `--accent-1` | `color-mix(in oklch, var(--accent) 8%, var(--accent-ramp-end))` |
1324
+ | `--accent-2` | `color-mix(in oklch, var(--accent) 16%, var(--accent-ramp-end))` |
1325
+ | `--accent-3` | `color-mix(in oklch, var(--accent) 32%, var(--accent-ramp-end))` |
1326
+ | `--accent-4` | `color-mix(in oklch, var(--accent) 60%, var(--accent-ramp-end))` |
926
1327
  | `--accent-5` | `var(--accent)` |
927
1328
  | `--accent-6` | `var(--accent-strong)` |
928
1329
  | `--surface-1` | `var(--bg)` |
@@ -967,6 +1368,7 @@ Exact mirror of the `:root` blocks in `css/tokens.css`
967
1368
  | `--text-soft` | `#353533` |
968
1369
  | `--text-dim` | `#686863` |
969
1370
  | `--accent` | `#d71921` |
1371
+ | `--accent-ramp-end` | `#ffffff` |
970
1372
  | `--accent-strong` | `color-mix(in srgb, var(--accent) 83%, #000)` |
971
1373
  | `--accent-text` | `var(--accent-strong)` |
972
1374
  | `--accent-soft` | `color-mix(in srgb, var(--accent) 10%, transparent)` |
@@ -991,18 +1393,19 @@ Exact mirror of the `:root` blocks in `css/tokens.css`
991
1393
 
992
1394
  | Token | Value |
993
1395
  | --- | --- |
994
- | `--bg` | `#000000` |
995
- | `--bg-elevated` | `#0a0a0a` |
1396
+ | `--bg` | `#121212` |
1397
+ | `--bg-elevated` | `#181818` |
996
1398
  | `--bg-accent` | `color-mix(in srgb, var(--accent) 8%, transparent)` |
997
- | `--panel` | `#0c0c0c` |
998
- | `--panel-strong` | `#141414` |
999
- | `--panel-soft` | `#1a1a1a` |
1000
- | `--line` | `#2a2a2a` |
1001
- | `--line-strong` | `#444444` |
1002
- | `--text` | `#f2f2f2` |
1003
- | `--text-soft` | `#c4c4c4` |
1004
- | `--text-dim` | `#858585` |
1399
+ | `--panel` | `#1c1c1c` |
1400
+ | `--panel-strong` | `#222222` |
1401
+ | `--panel-soft` | `#242424` |
1402
+ | `--line` | `#383838` |
1403
+ | `--line-strong` | `#555555` |
1404
+ | `--text` | `#e6e6e6` |
1405
+ | `--text-soft` | `#c8c8c8` |
1406
+ | `--text-dim` | `#a0a0a0` |
1005
1407
  | `--accent` | `#ff3b41` |
1408
+ | `--accent-ramp-end` | `#000000` |
1006
1409
  | `--accent-strong` | `color-mix(in srgb, var(--accent) 84%, #fff)` |
1007
1410
  | `--accent-text` | `var(--accent-strong)` |
1008
1411
  | `--accent-soft` | `color-mix(in srgb, var(--accent) 14%, transparent)` |