@ponchia/ui 0.10.0 → 0.12.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 +84 -0
- package/MIGRATIONS.json +52 -9
- package/README.md +3 -3
- package/behaviors/forms.d.ts +1 -1
- package/behaviors/internal.d.ts +1 -1
- package/classes/classes.json +31 -2
- package/classes/index.d.ts +12 -0
- package/classes/index.js +13 -0
- package/css/annotations.css +2 -2
- package/css/app.css +3 -1
- package/css/command.css +4 -4
- package/css/dataviz.css +117 -64
- package/css/discussion.css +150 -0
- package/css/figure.css +6 -4
- package/css/generated.css +19 -12
- package/css/legend.css +14 -7
- package/css/report.css +25 -11
- package/css/sources.css +1 -1
- package/dist/bronto.css +1 -1
- package/dist/css/analytical.css +1 -1
- package/dist/css/annotations.css +1 -1
- package/dist/css/app.css +1 -1
- package/dist/css/command.css +1 -1
- package/dist/css/dataviz.css +1 -1
- package/dist/css/discussion.css +1 -0
- package/dist/css/figure.css +1 -1
- package/dist/css/generated.css +1 -1
- package/dist/css/legend.css +1 -1
- package/dist/css/report-kit.css +1 -1
- package/dist/css/report.css +1 -1
- package/dist/css/sources.css +1 -1
- package/docs/adr/0001-color-system.md +29 -0
- package/docs/architecture.md +1 -1
- package/docs/compositions.md +23 -2
- package/docs/contrast.md +24 -24
- package/docs/discussion.md +64 -0
- package/docs/figure.md +10 -1
- package/docs/frontier-primitives.md +5 -0
- package/docs/mermaid.md +1 -1
- package/docs/migrations/0.10-to-0.11.md +61 -0
- package/docs/migrations/0.11-to-0.12.md +47 -0
- package/docs/package-contract.md +14 -2
- package/docs/reference.md +18 -1
- package/docs/renderer.md +100 -0
- package/docs/reporting.md +9 -9
- package/docs/stability.md +4 -2
- package/docs/theming.md +29 -19
- package/docs/usage.md +12 -8
- package/docs/vega.md +24 -23
- package/llms.txt +8 -4
- package/package.json +18 -3
- package/renderer/index.d.ts +203 -0
- package/renderer/index.d.ts.map +1 -0
- package/renderer/index.js +650 -0
- package/tokens/charts.d.ts +16 -10
- package/tokens/charts.js +65 -49
- package/tokens/charts.json +77 -29
- package/tokens/mermaid.js +56 -56
- package/tokens/mermaid.json +56 -56
- package/tokens/vega.d.ts +3 -3
- package/tokens/vega.js +111 -72
- package/tokens/vega.json +198 -126
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/* Discussions: readable messages and composers. The host owns storage, identity,
|
|
2
|
+
focus management, anchoring, notifications, and posting state. */
|
|
3
|
+
.ui-discussion {
|
|
4
|
+
color: var(--text);
|
|
5
|
+
font-family: var(--sans);
|
|
6
|
+
font-size: var(--text-sm);
|
|
7
|
+
line-height: 1.5;
|
|
8
|
+
min-inline-size: 0;
|
|
9
|
+
overflow-wrap: anywhere;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.ui-discussion__header {
|
|
13
|
+
align-items: start;
|
|
14
|
+
display: flex;
|
|
15
|
+
gap: var(--space-md);
|
|
16
|
+
justify-content: space-between;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.ui-discussion__header > div {
|
|
20
|
+
min-inline-size: 0;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.ui-discussion__header h2 {
|
|
24
|
+
font-family: var(--sans);
|
|
25
|
+
font-size: var(--text-lg);
|
|
26
|
+
font-weight: 650;
|
|
27
|
+
letter-spacing: normal;
|
|
28
|
+
line-height: 1.25;
|
|
29
|
+
margin: 0;
|
|
30
|
+
text-transform: none;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.ui-discussion__header p,
|
|
34
|
+
.ui-discussion__meta,
|
|
35
|
+
.ui-discussion__hint,
|
|
36
|
+
.ui-discussion__state {
|
|
37
|
+
color: var(--text-dim);
|
|
38
|
+
font-family: var(--sans);
|
|
39
|
+
font-size: var(--text-xs);
|
|
40
|
+
letter-spacing: normal;
|
|
41
|
+
text-transform: none;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.ui-discussion__actions {
|
|
45
|
+
align-items: center;
|
|
46
|
+
display: flex;
|
|
47
|
+
flex-wrap: wrap;
|
|
48
|
+
gap: var(--space-sm);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.ui-discussion__quote {
|
|
52
|
+
background: var(--panel);
|
|
53
|
+
border-inline-start: 3px solid var(--accent);
|
|
54
|
+
color: var(--text);
|
|
55
|
+
font-family: var(--sans);
|
|
56
|
+
margin: var(--space-md) 0;
|
|
57
|
+
padding: var(--space-sm) var(--space-md);
|
|
58
|
+
white-space: pre-wrap;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.ui-discussion__messages,
|
|
62
|
+
.ui-discussion__list {
|
|
63
|
+
list-style: none;
|
|
64
|
+
margin: var(--space-md) 0;
|
|
65
|
+
padding: 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.ui-discussion__message {
|
|
69
|
+
border-block-end: 1px solid var(--line);
|
|
70
|
+
padding-block: var(--space-md);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.ui-discussion__message .ui-prose {
|
|
74
|
+
font-family: var(--sans);
|
|
75
|
+
font-size: var(--text-sm);
|
|
76
|
+
line-height: 1.5;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.ui-discussion__meta {
|
|
80
|
+
margin-block: 0 var(--space-sm);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.ui-discussion__item {
|
|
84
|
+
background: transparent;
|
|
85
|
+
border: 0;
|
|
86
|
+
border-block-end: 1px solid var(--line);
|
|
87
|
+
color: inherit;
|
|
88
|
+
cursor: pointer;
|
|
89
|
+
display: grid;
|
|
90
|
+
font: inherit;
|
|
91
|
+
gap: var(--space-xs);
|
|
92
|
+
inline-size: 100%;
|
|
93
|
+
min-block-size: 44px;
|
|
94
|
+
padding: var(--space-md) var(--space-sm);
|
|
95
|
+
text-align: start;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.ui-discussion__item > :first-child {
|
|
99
|
+
font-weight: 600;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.ui-discussion__item small {
|
|
103
|
+
color: var(--text-dim);
|
|
104
|
+
font-family: var(--sans);
|
|
105
|
+
font-size: var(--text-xs);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.ui-discussion__item:is(:hover, :focus-visible) {
|
|
109
|
+
background: var(--panel);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.ui-discussion__item:focus-visible {
|
|
113
|
+
outline: 2px solid var(--accent);
|
|
114
|
+
outline-offset: -2px;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.ui-discussion__composer {
|
|
118
|
+
border-block-start: 1px solid var(--line);
|
|
119
|
+
display: grid;
|
|
120
|
+
gap: var(--space-sm);
|
|
121
|
+
padding-block: var(--space-md);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.ui-discussion__composer textarea {
|
|
125
|
+
font-family: var(--sans);
|
|
126
|
+
inline-size: 100%;
|
|
127
|
+
min-block-size: 7rem;
|
|
128
|
+
resize: vertical;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
@media (forced-colors: active) {
|
|
132
|
+
.ui-discussion__quote {
|
|
133
|
+
border-color: Highlight;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.ui-discussion__item:focus-visible {
|
|
137
|
+
outline-color: Highlight;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
@media print {
|
|
142
|
+
.ui-discussion__actions,
|
|
143
|
+
.ui-discussion__composer {
|
|
144
|
+
display: none;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.ui-discussion__message {
|
|
148
|
+
break-inside: avoid;
|
|
149
|
+
}
|
|
150
|
+
}
|
package/css/figure.css
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
========================================================================== */
|
|
9
9
|
|
|
10
10
|
.ui-figure {
|
|
11
|
+
container: bronto-figure / inline-size;
|
|
11
12
|
display: grid;
|
|
12
13
|
gap: var(--space-sm);
|
|
13
14
|
margin: 0;
|
|
@@ -22,11 +23,11 @@
|
|
|
22
23
|
|
|
23
24
|
.ui-figure__caption {
|
|
24
25
|
color: var(--text-dim);
|
|
25
|
-
font-family: var(--
|
|
26
|
-
font-size: var(--text-
|
|
26
|
+
font-family: var(--sans);
|
|
27
|
+
font-size: var(--text-sm);
|
|
27
28
|
letter-spacing: 0;
|
|
28
29
|
line-height: 1.5;
|
|
29
|
-
text-transform:
|
|
30
|
+
text-transform: none;
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
.ui-figure__body {
|
|
@@ -81,7 +82,7 @@
|
|
|
81
82
|
margin-block-start: var(--space-xs);
|
|
82
83
|
}
|
|
83
84
|
|
|
84
|
-
@
|
|
85
|
+
@container bronto-figure (max-width: 44rem) {
|
|
85
86
|
.ui-figure__body--key-right {
|
|
86
87
|
grid-template-columns: 1fr;
|
|
87
88
|
}
|
|
@@ -89,6 +90,7 @@
|
|
|
89
90
|
|
|
90
91
|
@media print {
|
|
91
92
|
.ui-figure {
|
|
93
|
+
container-type: normal;
|
|
92
94
|
break-inside: avoid;
|
|
93
95
|
}
|
|
94
96
|
|
package/css/generated.css
CHANGED
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
align-items: center;
|
|
26
26
|
color: var(--text-dim);
|
|
27
27
|
display: inline-flex;
|
|
28
|
-
font-family: var(--
|
|
29
|
-
font-size: var(--text-
|
|
28
|
+
font-family: var(--sans);
|
|
29
|
+
font-size: var(--text-xs);
|
|
30
30
|
gap: 0.4rem;
|
|
31
|
-
letter-spacing:
|
|
32
|
-
text-transform:
|
|
31
|
+
letter-spacing: 0;
|
|
32
|
+
text-transform: none;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
/* --- Origin label — "AI assisted" / "model output" / "human reviewed". --- */
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
border-radius: var(--radius-pill);
|
|
40
40
|
color: var(--text-soft);
|
|
41
41
|
display: inline-flex;
|
|
42
|
-
font-family: var(--
|
|
43
|
-
font-size: var(--text-
|
|
42
|
+
font-family: var(--sans);
|
|
43
|
+
font-size: var(--text-xs);
|
|
44
44
|
gap: 0.35rem;
|
|
45
|
-
letter-spacing:
|
|
45
|
+
letter-spacing: 0;
|
|
46
46
|
padding: 0.08rem 0.55rem;
|
|
47
|
-
text-transform:
|
|
47
|
+
text-transform: none;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
.ui-origin-label--ai {
|
|
@@ -61,10 +61,10 @@
|
|
|
61
61
|
.ui-reasoning > summary {
|
|
62
62
|
color: var(--text-soft);
|
|
63
63
|
cursor: pointer;
|
|
64
|
-
font-family: var(--
|
|
65
|
-
font-size: var(--text-
|
|
66
|
-
letter-spacing:
|
|
67
|
-
text-transform:
|
|
64
|
+
font-family: var(--sans);
|
|
65
|
+
font-size: var(--text-xs);
|
|
66
|
+
letter-spacing: 0;
|
|
67
|
+
text-transform: none;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
.ui-reasoning__body {
|
|
@@ -110,6 +110,13 @@
|
|
|
110
110
|
white-space: pre-wrap;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
+
@media (pointer: coarse) {
|
|
114
|
+
.ui-reasoning > summary,
|
|
115
|
+
.ui-tool-call > summary {
|
|
116
|
+
min-block-size: var(--tap-target);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
113
120
|
@media (forced-colors: active) {
|
|
114
121
|
.ui-generated {
|
|
115
122
|
border-inline-start-color: CanvasText;
|
package/css/legend.css
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
color: var(--text-soft);
|
|
19
19
|
display: flex;
|
|
20
20
|
flex-wrap: wrap;
|
|
21
|
-
font-family: var(--
|
|
21
|
+
font-family: var(--sans);
|
|
22
22
|
font-size: var(--text-xs);
|
|
23
23
|
gap: var(--space-2xs) var(--space-md);
|
|
24
24
|
list-style: none;
|
|
@@ -37,13 +37,15 @@
|
|
|
37
37
|
|
|
38
38
|
.ui-legend__title {
|
|
39
39
|
color: var(--text-dim);
|
|
40
|
-
font-size: var(--text-
|
|
40
|
+
font-size: var(--text-xs);
|
|
41
41
|
letter-spacing: 0;
|
|
42
42
|
margin: 0;
|
|
43
|
-
text-transform:
|
|
43
|
+
text-transform: none;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
.ui-legend__item {
|
|
47
|
+
min-inline-size: 0;
|
|
48
|
+
max-inline-size: 100%;
|
|
47
49
|
align-items: center;
|
|
48
50
|
color: inherit;
|
|
49
51
|
display: inline-flex;
|
|
@@ -51,6 +53,8 @@
|
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
.ui-legend__label {
|
|
56
|
+
min-inline-size: 0;
|
|
57
|
+
overflow-wrap: anywhere;
|
|
54
58
|
color: inherit;
|
|
55
59
|
}
|
|
56
60
|
|
|
@@ -62,9 +66,9 @@
|
|
|
62
66
|
|
|
63
67
|
.ui-legend__caption {
|
|
64
68
|
color: var(--text-dim);
|
|
65
|
-
font-size: var(--text-
|
|
69
|
+
font-size: var(--text-xs);
|
|
66
70
|
letter-spacing: 0;
|
|
67
|
-
text-transform:
|
|
71
|
+
text-transform: none;
|
|
68
72
|
}
|
|
69
73
|
|
|
70
74
|
/* Swatch — same token contract as the chart fill: set `--chart-color` (and,
|
|
@@ -154,8 +158,7 @@
|
|
|
154
158
|
var(--chart-seq-2),
|
|
155
159
|
var(--chart-seq-3),
|
|
156
160
|
var(--chart-seq-4),
|
|
157
|
-
var(--chart-seq-5)
|
|
158
|
-
var(--chart-seq-6)
|
|
161
|
+
var(--chart-seq-5)
|
|
159
162
|
);
|
|
160
163
|
block-size: 0.7rem;
|
|
161
164
|
border: 1px solid var(--line);
|
|
@@ -202,6 +205,8 @@
|
|
|
202
205
|
}
|
|
203
206
|
|
|
204
207
|
.ui-legend--with-values .ui-legend__item {
|
|
208
|
+
min-inline-size: 0;
|
|
209
|
+
max-inline-size: 100%;
|
|
205
210
|
display: grid;
|
|
206
211
|
grid-column: 1 / -1;
|
|
207
212
|
grid-template-columns: subgrid;
|
|
@@ -242,6 +247,8 @@
|
|
|
242
247
|
|
|
243
248
|
.ui-legend__item.is-inactive .ui-legend__label,
|
|
244
249
|
.ui-legend__item[aria-pressed='false'] .ui-legend__label {
|
|
250
|
+
min-inline-size: 0;
|
|
251
|
+
overflow-wrap: anywhere;
|
|
245
252
|
text-decoration: line-through;
|
|
246
253
|
}
|
|
247
254
|
|
package/css/report.css
CHANGED
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
.ui-report p,
|
|
28
28
|
.ui-report__section > :is(ul, ol, blockquote) {
|
|
29
29
|
max-inline-size: var(--report-measure);
|
|
30
|
+
overflow-wrap: anywhere;
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
.ui-report .ui-prose {
|
|
@@ -232,6 +233,7 @@ details.ui-report__toc:not([open]) > :not(summary) {
|
|
|
232
233
|
}
|
|
233
234
|
|
|
234
235
|
.ui-report__decision-grid {
|
|
236
|
+
container: bronto-decision / inline-size;
|
|
235
237
|
border-block-start: 1px solid var(--line);
|
|
236
238
|
display: grid;
|
|
237
239
|
gap: 0;
|
|
@@ -260,6 +262,7 @@ details.ui-report__toc:not([open]) > :not(summary) {
|
|
|
260
262
|
}
|
|
261
263
|
|
|
262
264
|
.ui-report__decision-value {
|
|
265
|
+
overflow-wrap: anywhere;
|
|
263
266
|
color: var(--text-soft);
|
|
264
267
|
line-height: 1.5;
|
|
265
268
|
}
|
|
@@ -519,6 +522,7 @@ details.ui-report__toc:not([open]) > :not(summary) {
|
|
|
519
522
|
}
|
|
520
523
|
|
|
521
524
|
.ui-report__actions {
|
|
525
|
+
container: bronto-actions / inline-size;
|
|
522
526
|
border-block-start: 1px solid var(--line);
|
|
523
527
|
display: grid;
|
|
524
528
|
gap: 0;
|
|
@@ -546,7 +550,8 @@ details.ui-report__toc:not([open]) > :not(summary) {
|
|
|
546
550
|
letter-spacing: 0;
|
|
547
551
|
place-self: start end;
|
|
548
552
|
text-transform: none;
|
|
549
|
-
|
|
553
|
+
overflow-wrap: anywhere;
|
|
554
|
+
white-space: normal;
|
|
550
555
|
}
|
|
551
556
|
|
|
552
557
|
.ui-report__action-title,
|
|
@@ -581,8 +586,13 @@ details.ui-report__toc:not([open]) > :not(summary) {
|
|
|
581
586
|
line-height: 1.5;
|
|
582
587
|
}
|
|
583
588
|
|
|
584
|
-
@
|
|
585
|
-
.ui-report__decision-item
|
|
589
|
+
@container bronto-decision (max-width: 32rem) {
|
|
590
|
+
.ui-report__decision-item {
|
|
591
|
+
grid-template-columns: minmax(0, 1fr);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
@container bronto-actions (max-width: 32rem) {
|
|
586
596
|
.ui-report__action {
|
|
587
597
|
grid-template-columns: 1fr;
|
|
588
598
|
}
|
|
@@ -611,7 +621,7 @@ details.ui-report__toc:not([open]) > :not(summary) {
|
|
|
611
621
|
a single stack on a narrow screen via auto-fit, so two panels never
|
|
612
622
|
overflow. `ui-compare__col` is one side, `ui-compare__head` labels it.
|
|
613
623
|
`ui-compare--2up` pins exactly two equal columns for a hard before/after
|
|
614
|
-
pairing
|
|
624
|
+
pairing, with a 16rem reading floor per column in any parent. */
|
|
615
625
|
.ui-compare {
|
|
616
626
|
display: grid;
|
|
617
627
|
gap: var(--space-md);
|
|
@@ -619,13 +629,12 @@ details.ui-report__toc:not([open]) > :not(summary) {
|
|
|
619
629
|
}
|
|
620
630
|
|
|
621
631
|
.ui-compare--2up {
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
}
|
|
632
|
+
/* At most two columns, each at least 16rem unless the whole parent is narrower.
|
|
633
|
+
Intrinsic wrapping also works outside a report or named query container. */
|
|
634
|
+
grid-template-columns: repeat(
|
|
635
|
+
auto-fit,
|
|
636
|
+
minmax(min(100%, max(16rem, (100% - var(--space-md)) / 2)), 1fr)
|
|
637
|
+
);
|
|
629
638
|
}
|
|
630
639
|
|
|
631
640
|
.ui-compare__col {
|
|
@@ -687,6 +696,11 @@ details.ui-report__toc:not([open]) > :not(summary) {
|
|
|
687
696
|
padding: 0;
|
|
688
697
|
}
|
|
689
698
|
|
|
699
|
+
.ui-report__decision-grid,
|
|
700
|
+
.ui-report__actions {
|
|
701
|
+
container-type: normal;
|
|
702
|
+
}
|
|
703
|
+
|
|
690
704
|
.ui-report__cover {
|
|
691
705
|
min-block-size: auto;
|
|
692
706
|
}
|