@ponchia/ui 0.6.12 → 0.7.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.
- package/CHANGELOG.md +77 -0
- package/MIGRATIONS.json +14 -0
- package/README.md +14 -6
- package/behaviors/dialog.d.ts.map +1 -1
- package/behaviors/dialog.js +14 -0
- package/behaviors/modal.d.ts +4 -0
- package/behaviors/modal.d.ts.map +1 -1
- package/behaviors/modal.js +4 -0
- package/behaviors/splitter.d.ts +2 -0
- package/behaviors/splitter.d.ts.map +1 -1
- package/behaviors/splitter.js +15 -1
- package/behaviors/theme.d.ts +3 -2
- package/behaviors/theme.d.ts.map +1 -1
- package/behaviors/theme.js +10 -6
- package/bin/bronto-ui-check.mjs +286 -0
- package/classes/classes.json +7 -0
- package/css/disclosure.css +10 -0
- package/css/dots.css +43 -18
- package/css/feedback.css +35 -0
- package/css/report.css +0 -40
- package/css/site.css +10 -0
- package/dist/bronto.css +1 -1
- package/dist/css/disclosure.css +1 -1
- package/dist/css/dots.css +1 -1
- package/dist/css/feedback.css +1 -1
- package/dist/css/report-kit.css +1 -1
- package/dist/css/report.css +1 -1
- package/dist/css/site.css +1 -1
- package/docs/adr/0004-prune-unused-adapters.md +34 -0
- package/docs/architecture.md +14 -10
- package/docs/command.md +18 -4
- package/docs/migrations/0.6-to-0.7.md +85 -0
- package/docs/package-contract.md +10 -5
- package/docs/reporting.md +8 -8
- package/docs/stability.md +10 -9
- package/docs/theming.md +49 -5
- package/docs/usage.md +57 -17
- package/docs/workbench.md +16 -2
- package/llms.txt +7 -3
- package/package.json +13 -3
- package/qwik/index.d.ts.map +1 -1
- package/qwik/index.js +4 -0
- package/react/index.d.ts.map +1 -1
- package/react/index.js +4 -0
- package/solid/index.d.ts.map +1 -1
- package/solid/index.js +4 -0
- package/svelte/index.d.ts.map +1 -1
- package/svelte/index.js +4 -0
- package/tokens/tokens.dtcg.json +2508 -399
- package/vue/index.d.ts.map +1 -1
- package/vue/index.js +4 -0
package/css/dots.css
CHANGED
|
@@ -136,7 +136,9 @@
|
|
|
136
136
|
|
|
137
137
|
/* Status dot — the glyph-style state indicator. */
|
|
138
138
|
.ui-dot {
|
|
139
|
-
|
|
139
|
+
--ui-dot-color: var(--text-dim);
|
|
140
|
+
|
|
141
|
+
background: var(--ui-dot-color);
|
|
140
142
|
border-radius: 50%;
|
|
141
143
|
display: inline-block;
|
|
142
144
|
flex: 0 0 auto;
|
|
@@ -145,34 +147,45 @@
|
|
|
145
147
|
}
|
|
146
148
|
|
|
147
149
|
.ui-dot--accent {
|
|
148
|
-
|
|
150
|
+
--ui-dot-color: var(--accent);
|
|
149
151
|
}
|
|
150
152
|
|
|
151
153
|
.ui-dot--success {
|
|
152
|
-
|
|
154
|
+
--ui-dot-color: var(--success);
|
|
153
155
|
}
|
|
154
156
|
|
|
155
157
|
.ui-dot--warning {
|
|
156
|
-
|
|
158
|
+
--ui-dot-color: var(--warning);
|
|
157
159
|
}
|
|
158
160
|
|
|
159
161
|
.ui-dot--danger {
|
|
160
|
-
|
|
162
|
+
--ui-dot-color: var(--danger);
|
|
161
163
|
}
|
|
162
164
|
|
|
163
165
|
.ui-dot--info {
|
|
164
|
-
|
|
166
|
+
--ui-dot-color: var(--info);
|
|
165
167
|
}
|
|
166
168
|
|
|
167
169
|
.ui-dot--live {
|
|
168
|
-
|
|
169
|
-
box-shadow: 0 0 0 0 color-mix(in srgb, var(--success) 70%, transparent);
|
|
170
|
+
box-shadow: 0 0 0 0 color-mix(in srgb, var(--ui-dot-color) 70%, transparent);
|
|
170
171
|
position: relative;
|
|
171
172
|
}
|
|
172
173
|
|
|
174
|
+
/* Live describes motion, not status. A standalone live dot defaults to
|
|
175
|
+
success; an explicit tone remains the colour of both the dot and ring. */
|
|
176
|
+
.ui-dot--live:not(
|
|
177
|
+
.ui-dot--accent,
|
|
178
|
+
.ui-dot--success,
|
|
179
|
+
.ui-dot--warning,
|
|
180
|
+
.ui-dot--danger,
|
|
181
|
+
.ui-dot--info
|
|
182
|
+
) {
|
|
183
|
+
--ui-dot-color: var(--success);
|
|
184
|
+
}
|
|
185
|
+
|
|
173
186
|
.ui-dot--live::after {
|
|
174
187
|
animation: pulseRing 1.8s var(--ease-out) infinite;
|
|
175
|
-
border: 1px solid var(--
|
|
188
|
+
border: 1px solid var(--ui-dot-color);
|
|
176
189
|
border-radius: 50%;
|
|
177
190
|
content: '';
|
|
178
191
|
inset: -3px;
|
|
@@ -562,36 +575,48 @@
|
|
|
562
575
|
differentiable. */
|
|
563
576
|
@media (forced-colors: active) {
|
|
564
577
|
.ui-dot--success {
|
|
578
|
+
--ui-dot-color: LinkText;
|
|
579
|
+
|
|
565
580
|
forced-color-adjust: none;
|
|
566
|
-
background: LinkText;
|
|
567
581
|
}
|
|
568
582
|
|
|
569
583
|
.ui-dot--warning {
|
|
584
|
+
--ui-dot-color: Mark;
|
|
585
|
+
|
|
570
586
|
forced-color-adjust: none;
|
|
571
|
-
background: Mark;
|
|
572
587
|
}
|
|
573
588
|
|
|
574
589
|
.ui-dot--danger {
|
|
590
|
+
--ui-dot-color: Highlight;
|
|
591
|
+
|
|
575
592
|
forced-color-adjust: none;
|
|
576
|
-
background: Highlight;
|
|
577
593
|
}
|
|
578
594
|
|
|
579
595
|
.ui-dot--info {
|
|
596
|
+
--ui-dot-color: ButtonText;
|
|
597
|
+
|
|
580
598
|
forced-color-adjust: none;
|
|
581
|
-
background: ButtonText;
|
|
582
599
|
}
|
|
583
600
|
|
|
584
601
|
/* Brand/live dots aren't status tones, but they still encode meaning via
|
|
585
602
|
background-color alone, which HCM flattens. Keep them on a distinct,
|
|
586
603
|
opted-out system colour for completeness. */
|
|
587
|
-
.ui-dot--accent
|
|
588
|
-
|
|
604
|
+
.ui-dot--accent {
|
|
605
|
+
--ui-dot-color: LinkText;
|
|
606
|
+
|
|
589
607
|
forced-color-adjust: none;
|
|
590
|
-
background: LinkText;
|
|
591
608
|
}
|
|
592
609
|
|
|
593
|
-
.ui-dot--live
|
|
594
|
-
|
|
610
|
+
.ui-dot--live:not(
|
|
611
|
+
.ui-dot--accent,
|
|
612
|
+
.ui-dot--success,
|
|
613
|
+
.ui-dot--warning,
|
|
614
|
+
.ui-dot--danger,
|
|
615
|
+
.ui-dot--info
|
|
616
|
+
) {
|
|
617
|
+
--ui-dot-color: LinkText;
|
|
618
|
+
|
|
619
|
+
forced-color-adjust: none;
|
|
595
620
|
}
|
|
596
621
|
|
|
597
622
|
/* The masked one-node icon paints `background: currentcolor` through an SVG
|
package/css/feedback.css
CHANGED
|
@@ -517,6 +517,41 @@
|
|
|
517
517
|
background: var(--info);
|
|
518
518
|
}
|
|
519
519
|
|
|
520
|
+
/* A labelled meter is core feedback grammar, not report-only layout. The
|
|
521
|
+
visible value remains the data of record because role=meter support varies. */
|
|
522
|
+
.ui-meter__row {
|
|
523
|
+
align-items: center;
|
|
524
|
+
display: grid;
|
|
525
|
+
gap: var(--space-2xs) var(--space-md);
|
|
526
|
+
grid-template-columns: minmax(9rem, 14rem) 1fr auto;
|
|
527
|
+
margin-block: var(--space-2xs);
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
.ui-meter__row .ui-meter {
|
|
531
|
+
min-inline-size: 8rem;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
.ui-meter__label {
|
|
535
|
+
color: var(--text-soft);
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
.ui-meter__value {
|
|
539
|
+
color: var(--text);
|
|
540
|
+
font-family: var(--mono);
|
|
541
|
+
font-variant-numeric: tabular-nums;
|
|
542
|
+
text-align: end;
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
@media (max-width: 32rem) {
|
|
546
|
+
.ui-meter__row {
|
|
547
|
+
grid-template-columns: 1fr;
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
.ui-meter__value {
|
|
551
|
+
text-align: start;
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
|
|
520
555
|
/* --- Steps — progress through a multi-step flow. Use an <ol>; the
|
|
521
556
|
current step is aria-current="step" (no class), completed steps take
|
|
522
557
|
--done. Counter-numbered markers, hairline connectors. --- */
|
package/css/report.css
CHANGED
|
@@ -619,46 +619,6 @@
|
|
|
619
619
|
text-transform: uppercase;
|
|
620
620
|
}
|
|
621
621
|
|
|
622
|
-
/* --- Labelled meter row ---
|
|
623
|
-
A multi-meter block (SLO burn, error budgets, capacity) lays out as
|
|
624
|
-
label | bar | value. The bare `ui-meter` base lives in feedback.css; this is
|
|
625
|
-
the report-document grammar around it so authors stop hand-rolling the grid.
|
|
626
|
-
The bar NEVER carries the reading alone (WCAG 1.4.1) — `ui-meter__value` is
|
|
627
|
-
the data of record, and the bar clamps at 100 so an over-target figure still
|
|
628
|
-
reads correctly in the value text. Collapses to a stack on a narrow screen. */
|
|
629
|
-
.ui-meter__row {
|
|
630
|
-
align-items: center;
|
|
631
|
-
display: grid;
|
|
632
|
-
gap: var(--space-2xs) var(--space-md);
|
|
633
|
-
grid-template-columns: minmax(9rem, 14rem) 1fr auto;
|
|
634
|
-
margin-block: var(--space-2xs);
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
.ui-meter__row .ui-meter {
|
|
638
|
-
min-inline-size: 8rem;
|
|
639
|
-
}
|
|
640
|
-
|
|
641
|
-
.ui-meter__label {
|
|
642
|
-
color: var(--text-soft);
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
.ui-meter__value {
|
|
646
|
-
color: var(--text);
|
|
647
|
-
font-family: var(--mono);
|
|
648
|
-
font-variant-numeric: tabular-nums;
|
|
649
|
-
text-align: end;
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
@media (max-width: 32rem) {
|
|
653
|
-
.ui-meter__row {
|
|
654
|
-
grid-template-columns: 1fr;
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
.ui-meter__value {
|
|
658
|
-
text-align: start;
|
|
659
|
-
}
|
|
660
|
-
}
|
|
661
|
-
|
|
662
622
|
/* A chart is NOT a bronto component — it needs scales + data binding, which the
|
|
663
623
|
analytical layer refuses to own. Theme Vega-Lite with `@ponchia/ui/vega`
|
|
664
624
|
(docs/vega.md), or hand-author a token-themed inline `<svg>`, and drop it in a
|
package/css/site.css
CHANGED
|
@@ -296,6 +296,16 @@
|
|
|
296
296
|
}
|
|
297
297
|
}
|
|
298
298
|
|
|
299
|
+
@media (pointer: coarse) {
|
|
300
|
+
.ui-sitefooter__links a {
|
|
301
|
+
align-items: center;
|
|
302
|
+
display: inline-flex;
|
|
303
|
+
justify-content: center;
|
|
304
|
+
min-block-size: max(24px, 1.6rem);
|
|
305
|
+
min-inline-size: max(24px, 1.6rem);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
299
309
|
/* --- Tags — neutral, wrapping content labels (NOT ui-chip, which is a
|
|
300
310
|
single interactive token). Use a <ul>. --- */
|
|
301
311
|
|