@ponchia/ui 0.9.0 → 0.10.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 (80) hide show
  1. package/CHANGELOG.md +70 -4
  2. package/MIGRATIONS.json +117 -27
  3. package/README.md +17 -9
  4. package/behaviors/index.d.ts +0 -2
  5. package/behaviors/index.d.ts.map +1 -1
  6. package/behaviors/index.js +0 -2
  7. package/behaviors/popover.js +4 -4
  8. package/classes/classes.json +24 -9
  9. package/classes/index.d.ts +8 -3
  10. package/classes/index.js +20 -3
  11. package/classes/vscode.css-custom-data.json +10 -10
  12. package/css/app.css +52 -30
  13. package/css/base.css +10 -14
  14. package/css/content.css +23 -21
  15. package/css/disclosure.css +17 -17
  16. package/css/feedback.css +15 -15
  17. package/css/forms.css +8 -7
  18. package/css/navigation.css +3 -3
  19. package/css/overlay.css +13 -29
  20. package/css/primitives.css +48 -28
  21. package/css/report.css +66 -42
  22. package/css/state.css +95 -6
  23. package/css/table.css +3 -3
  24. package/css/tokens.css +10 -10
  25. package/css/workbench.css +21 -9
  26. package/dist/bronto.css +1 -1
  27. package/dist/css/app.css +1 -1
  28. package/dist/css/base.css +1 -1
  29. package/dist/css/content.css +1 -1
  30. package/dist/css/disclosure.css +1 -1
  31. package/dist/css/feedback.css +1 -1
  32. package/dist/css/forms.css +1 -1
  33. package/dist/css/navigation.css +1 -1
  34. package/dist/css/overlay.css +1 -1
  35. package/dist/css/primitives.css +1 -1
  36. package/dist/css/report-kit.css +1 -1
  37. package/dist/css/report.css +1 -1
  38. package/dist/css/state.css +1 -1
  39. package/dist/css/table.css +1 -1
  40. package/dist/css/tokens.css +1 -1
  41. package/dist/css/workbench.css +1 -1
  42. package/docs/adr/0004-prune-unused-adapters.md +5 -1
  43. package/docs/adr/0005-productive-tools-and-editorial-reports.md +58 -0
  44. package/docs/adr/0006-trusted-publishing.md +92 -0
  45. package/docs/architecture.md +16 -23
  46. package/docs/command.md +1 -2
  47. package/docs/compositions.md +110 -0
  48. package/docs/frontier-primitives.md +1 -2
  49. package/docs/migrations/0.9-to-0.10.md +47 -0
  50. package/docs/package-contract.md +9 -12
  51. package/docs/reference.md +30 -18
  52. package/docs/reporting.md +15 -9
  53. package/docs/stability.md +19 -55
  54. package/docs/state.md +47 -0
  55. package/docs/usage.md +18 -30
  56. package/llms.txt +7 -18
  57. package/package.json +13 -55
  58. package/tokens/figma.variables.json +20 -20
  59. package/tokens/index.js +10 -10
  60. package/tokens/index.json +20 -20
  61. package/tokens/resolved.json +10 -10
  62. package/tokens/tokens.dtcg.json +20 -20
  63. package/behaviors/modal.d.ts +0 -45
  64. package/behaviors/modal.d.ts.map +0 -1
  65. package/behaviors/modal.js +0 -373
  66. package/qwik/index.d.ts +0 -48
  67. package/qwik/index.d.ts.map +0 -1
  68. package/qwik/index.js +0 -227
  69. package/react/index.d.ts +0 -45
  70. package/react/index.d.ts.map +0 -1
  71. package/react/index.js +0 -165
  72. package/solid/index.d.ts +0 -75
  73. package/solid/index.d.ts.map +0 -1
  74. package/solid/index.js +0 -172
  75. package/svelte/index.d.ts +0 -114
  76. package/svelte/index.d.ts.map +0 -1
  77. package/svelte/index.js +0 -197
  78. package/vue/index.d.ts +0 -116
  79. package/vue/index.d.ts.map +0 -1
  80. package/vue/index.js +0 -266
@@ -239,11 +239,11 @@
239
239
  },
240
240
  {
241
241
  "name": "--radius-lg",
242
- "description": "Global scale token. Value: `3px`"
242
+ "description": "Global scale token. Value: `6px`"
243
243
  },
244
244
  {
245
245
  "name": "--radius-md",
246
- "description": "Global scale token. Value: `2px`"
246
+ "description": "Global scale token. Value: `4px`"
247
247
  },
248
248
  {
249
249
  "name": "--radius-pill",
@@ -251,11 +251,11 @@
251
251
  },
252
252
  {
253
253
  "name": "--radius-sm",
254
- "description": "Global scale token. Value: `1px`"
254
+ "description": "Global scale token. Value: `2px`"
255
255
  },
256
256
  {
257
257
  "name": "--radius-xl",
258
- "description": "Global scale token. Value: `4px`"
258
+ "description": "Global scale token. Value: `8px`"
259
259
  },
260
260
  {
261
261
  "name": "--safe-area-bottom",
@@ -371,11 +371,11 @@
371
371
  },
372
372
  {
373
373
  "name": "--text-2xs",
374
- "description": "Global scale token. Value: `0.72rem`"
374
+ "description": "Global scale token. Value: `0.75rem`"
375
375
  },
376
376
  {
377
377
  "name": "--text-base",
378
- "description": "Global scale token. Value: `0.95rem`"
378
+ "description": "Global scale token. Value: `1rem`"
379
379
  },
380
380
  {
381
381
  "name": "--text-dim",
@@ -383,11 +383,11 @@
383
383
  },
384
384
  {
385
385
  "name": "--text-lg",
386
- "description": "Global scale token. Value: `1.15rem`"
386
+ "description": "Global scale token. Value: `1.125rem`"
387
387
  },
388
388
  {
389
389
  "name": "--text-sm",
390
- "description": "Global scale token. Value: `0.86rem`"
390
+ "description": "Global scale token. Value: `0.875rem`"
391
391
  },
392
392
  {
393
393
  "name": "--text-soft",
@@ -395,11 +395,11 @@
395
395
  },
396
396
  {
397
397
  "name": "--text-xl",
398
- "description": "Global scale token. Value: `1.45rem`"
398
+ "description": "Global scale token. Value: `1.5rem`"
399
399
  },
400
400
  {
401
401
  "name": "--text-xs",
402
- "description": "Global scale token. Value: `0.76rem`"
402
+ "description": "Global scale token. Value: `0.8125rem`"
403
403
  },
404
404
  {
405
405
  "name": "--tracking-wide",
package/css/app.css CHANGED
@@ -64,12 +64,12 @@
64
64
 
65
65
  .ui-app-nav__section {
66
66
  color: var(--text-dim);
67
- font-family: var(--mono);
67
+ font-family: var(--sans);
68
68
  font-size: var(--text-2xs);
69
- letter-spacing: var(--tracking-wide);
69
+ letter-spacing: 0;
70
70
  margin: var(--space-sm) 0 0.3rem;
71
71
  padding: 0 0.5rem;
72
- text-transform: uppercase;
72
+ text-transform: none;
73
73
  }
74
74
 
75
75
  .ui-app-nav a {
@@ -77,7 +77,7 @@
77
77
  border-inline-start: 2px solid transparent;
78
78
  color: var(--text-soft);
79
79
  display: flex;
80
- font-family: var(--mono);
80
+ font-family: var(--sans);
81
81
  font-size: var(--text-sm);
82
82
  gap: 0.55rem;
83
83
  padding: 0.5rem 0.6rem;
@@ -148,7 +148,7 @@
148
148
  .ui-app-rail__foot {
149
149
  border-block-start: 1px solid var(--line);
150
150
  color: var(--text-dim);
151
- font-family: var(--mono);
151
+ font-family: var(--sans);
152
152
  font-size: var(--text-2xs);
153
153
  margin-block-start: auto;
154
154
  padding-block-start: var(--space-sm);
@@ -163,9 +163,15 @@
163
163
  display: flex;
164
164
  gap: var(--space-xs);
165
165
  margin-block-start: auto;
166
+ min-inline-size: 0;
167
+ overflow-wrap: anywhere;
166
168
  padding-block-start: var(--space-sm);
167
169
  }
168
170
 
171
+ .ui-app-rail__account > * {
172
+ min-inline-size: 0;
173
+ }
174
+
169
175
  .ui-app-rail__account + .ui-app-rail__foot {
170
176
  margin-block-start: 0;
171
177
  }
@@ -204,17 +210,17 @@
204
210
 
205
211
  .ui-app-topbar__title {
206
212
  color: var(--text);
207
- font-family: var(--display);
208
- font-size: 1.1rem;
209
- font-weight: var(--display-weight);
210
- letter-spacing: var(--tracking-wide);
213
+ font-family: var(--sans);
214
+ font-size: 1.25rem;
215
+ font-weight: 650;
216
+ letter-spacing: 0;
211
217
  margin: 0;
212
- text-transform: uppercase;
218
+ text-transform: none;
213
219
  }
214
220
 
215
221
  .ui-app-content {
216
222
  display: grid;
217
- gap: var(--space-lg);
223
+ gap: var(--space-xl);
218
224
  padding: var(--space-lg);
219
225
  }
220
226
 
@@ -222,14 +228,12 @@
222
228
 
223
229
  .ui-app-toolbar {
224
230
  align-items: center;
225
- background: var(--panel);
226
- border: 1px solid var(--line);
227
- border-radius: var(--radius-md);
231
+ border-block-end: 1px solid var(--line);
228
232
  display: flex;
229
233
  flex-wrap: wrap;
230
234
  gap: 0.7rem;
231
235
  justify-content: space-between;
232
- padding: 0.7rem 0.85rem;
236
+ padding-block-end: var(--space-md);
233
237
  }
234
238
 
235
239
  .ui-app-toolbar__group {
@@ -242,29 +246,43 @@
242
246
  /* --- Panel --- */
243
247
 
244
248
  .ui-app-panel {
245
- background: var(--panel);
246
- border: 1px solid var(--line);
247
- border-radius: var(--radius-md);
248
249
  display: grid;
249
- gap: 0.85rem;
250
- padding: var(--space-md);
250
+ gap: var(--space-md);
251
+ min-inline-size: 0;
251
252
  }
252
253
 
253
254
  .ui-app-panel__head {
254
255
  align-items: flex-start;
255
256
  display: flex;
257
+ flex-wrap: wrap;
256
258
  gap: 0.7rem;
257
259
  justify-content: space-between;
258
260
  }
259
261
 
260
262
  .ui-app-panel__title {
261
263
  color: var(--text);
262
- font-family: var(--display);
263
- font-size: 0.95rem;
264
- font-weight: var(--display-weight);
265
- letter-spacing: var(--tracking-wide);
264
+ font-family: var(--sans);
265
+ font-size: 1.125rem;
266
+ font-weight: 650;
267
+ letter-spacing: 0;
266
268
  margin: 0;
267
- text-transform: uppercase;
269
+ text-transform: none;
270
+ }
271
+
272
+ /* A service overview needs a compact scan, including on a phone. Keep the
273
+ generic stat tile available elsewhere; avoid framing every metric twice. */
274
+ .ui-app-panel > .ui-statgrid,
275
+ .ui-app-panel > .ui-app-metrics {
276
+ grid-template-columns: repeat(auto-fit, minmax(min(100%, 6rem), 1fr));
277
+ }
278
+
279
+ .ui-app-panel > .ui-statgrid > .ui-stat,
280
+ .ui-app-panel > .ui-app-metrics > .ui-app-metric {
281
+ background: none;
282
+ border: 0;
283
+ border-block-start: 1px solid var(--line);
284
+ border-radius: 0;
285
+ padding: var(--space-md) 0;
268
286
  }
269
287
 
270
288
  .ui-app-panel__head p {
@@ -285,7 +303,7 @@
285
303
  permanent admin-shell alias (grouped on the canonical rules there —
286
304
  identical output). Nothing app-specific left to define here. */
287
305
 
288
- /* --- Mobile rail: collapses to a horizontal scrolling strip --- */
306
+ /* --- Mobile rail: navigation wraps instead of hiding destinations offscreen. --- */
289
307
 
290
308
  @media (max-width: 880px) {
291
309
  .ui-app-shell {
@@ -300,10 +318,10 @@
300
318
  }
301
319
 
302
320
  .ui-app-rail {
303
- flex-direction: row;
321
+ flex-flow: row wrap;
304
322
  block-size: auto;
305
- overflow-x: auto;
306
- position: sticky;
323
+ overflow: visible;
324
+ position: static;
307
325
  inset-block-start: 0;
308
326
  z-index: calc(var(--z-raised) + 1);
309
327
  }
@@ -321,7 +339,9 @@
321
339
  }
322
340
 
323
341
  .ui-app-nav {
324
- grid-auto-flow: column;
342
+ display: flex;
343
+ flex: 1 0 100%;
344
+ flex-wrap: wrap;
325
345
  gap: 0.15rem;
326
346
  }
327
347
 
@@ -330,6 +350,8 @@
330
350
  }
331
351
 
332
352
  .ui-app-nav a {
353
+ flex: 1 1 auto;
354
+ justify-content: center;
333
355
  border-inline-start: 0;
334
356
  border-block-end: 2px solid transparent;
335
357
  white-space: nowrap;
package/css/base.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /* ==========================================================================
2
- base — reset + element defaults, Nothing-flat
2
+ base — reset + readable element defaults
3
3
  ========================================================================== */
4
4
 
5
5
  *,
@@ -13,9 +13,8 @@ html {
13
13
  color: var(--text);
14
14
  font-family: var(--sans);
15
15
 
16
- /* = 15px at the 16px default, but rem honours a user's browser font-size
17
- preference (which a px root would ignore). */
18
- font-size: 0.9375rem;
16
+ /* Preserve the browser's preferred reading size. Compact controls use tokens. */
17
+ font-size: 1rem;
19
18
  line-height: 1.55;
20
19
  scroll-behavior: smooth;
21
20
  text-rendering: optimizeLegibility;
@@ -74,27 +73,25 @@ li {
74
73
  line-height: 1.65;
75
74
  }
76
75
 
77
- /* Headings ride the dot-matrix display face. */
76
+ /* Everyday headings are readable text. .ui-display owns the brand face. */
78
77
  h1,
79
78
  h2,
80
79
  h3,
81
80
  h4 {
82
81
  color: var(--text);
83
- font-family: var(--display);
84
- font-weight: 700;
85
- letter-spacing: 0.01em;
86
- line-height: 1.06;
82
+ font-family: var(--sans);
83
+ font-weight: 650;
84
+ letter-spacing: -0.02em;
85
+ line-height: 1.2;
87
86
  margin: 0;
88
- text-transform: uppercase;
89
87
  }
90
88
 
91
89
  h1 {
92
- font-size: clamp(2.6rem, 6vw, 4.6rem);
93
- letter-spacing: 0.02em;
90
+ font-size: clamp(2rem, 4vw, 3rem);
94
91
  }
95
92
 
96
93
  h2 {
97
- font-size: clamp(1.7rem, 3.4vw, 2.4rem);
94
+ font-size: clamp(1.5rem, 3vw, 2rem);
98
95
  }
99
96
 
100
97
  h3 {
@@ -103,7 +100,6 @@ h3 {
103
100
 
104
101
  h4 {
105
102
  font-size: 1rem;
106
- letter-spacing: var(--tracking-wide);
107
103
  }
108
104
 
109
105
  strong,
package/css/content.css CHANGED
@@ -9,6 +9,8 @@
9
9
  ========================================================================== */
10
10
 
11
11
  .ui-prose {
12
+ /* A prose block must shrink as a grid/flex item; its pre blocks scroll locally. */
13
+ min-inline-size: 0;
12
14
  color: var(--text-soft);
13
15
  font-size: var(--text-base);
14
16
  line-height: 1.7;
@@ -41,27 +43,27 @@
41
43
  max-inline-size: none;
42
44
  }
43
45
 
44
- /* --- Headings — brand display face; only the top two shout --- */
46
+ /* --- Headings — readable hierarchy inside narrative content --- */
45
47
 
46
48
  .ui-prose :is(h1, h2, h3, h4, h5, h6) {
47
49
  color: var(--text);
48
- font-family: var(--display);
50
+ font-family: var(--sans);
49
51
  line-height: 1.12;
50
52
  text-wrap: balance;
51
53
  }
52
54
 
53
55
  .ui-prose h1 {
54
56
  font-size: var(--text-xl);
55
- letter-spacing: var(--tracking-wide);
56
- text-transform: uppercase;
57
+ letter-spacing: 0;
58
+ text-transform: none;
57
59
  }
58
60
 
59
61
  .ui-prose h2 {
60
62
  font-size: var(--text-lg);
61
- letter-spacing: var(--tracking-wide);
63
+ letter-spacing: 0;
62
64
  padding-block-end: 0.3rem;
63
65
  border-block-end: 1px solid var(--line);
64
- text-transform: uppercase;
66
+ text-transform: none;
65
67
  }
66
68
 
67
69
  .ui-prose h3 {
@@ -70,8 +72,8 @@
70
72
 
71
73
  .ui-prose :is(h4, h5, h6) {
72
74
  font-size: var(--text-base);
73
- letter-spacing: var(--tracking-wide);
74
- text-transform: uppercase;
75
+ letter-spacing: 0;
76
+ text-transform: none;
75
77
  }
76
78
 
77
79
  .ui-prose :is(h5, h6) {
@@ -185,11 +187,11 @@
185
187
 
186
188
  .ui-prose dt {
187
189
  color: var(--text-dim);
188
- font-family: var(--mono);
190
+ font-family: var(--sans);
189
191
  font-size: var(--text-2xs);
190
192
  font-weight: 700;
191
- letter-spacing: var(--tracking-wide);
192
- text-transform: uppercase;
193
+ letter-spacing: 0;
194
+ text-transform: none;
193
195
  }
194
196
 
195
197
  .ui-prose dd {
@@ -241,10 +243,10 @@
241
243
 
242
244
  .ui-prose figcaption {
243
245
  color: var(--text-dim);
244
- font-family: var(--mono);
246
+ font-family: var(--sans);
245
247
  font-size: var(--text-2xs);
246
- letter-spacing: var(--tracking-wide);
247
- text-transform: uppercase;
248
+ letter-spacing: 0;
249
+ text-transform: none;
248
250
  }
249
251
 
250
252
  /* --- Table — raw Markdown tables look like ui-table ---
@@ -262,7 +264,7 @@
262
264
  border-collapse: collapse;
263
265
  border-radius: var(--radius-md);
264
266
  display: block;
265
- font-family: var(--mono);
267
+ font-family: var(--sans);
266
268
  font-size: var(--text-sm);
267
269
  inline-size: 100%;
268
270
  overflow-x: auto;
@@ -280,8 +282,8 @@
280
282
  color: var(--text-dim);
281
283
  font-size: var(--text-2xs);
282
284
  font-weight: 700;
283
- letter-spacing: var(--tracking-wide);
284
- text-transform: uppercase;
285
+ letter-spacing: 0;
286
+ text-transform: none;
285
287
  }
286
288
 
287
289
  .ui-prose td {
@@ -316,7 +318,7 @@
316
318
  .ui-quote {
317
319
  color: var(--text);
318
320
  display: grid;
319
- font-family: var(--display);
321
+ font-family: var(--sans);
320
322
  font-size: var(--text-xl);
321
323
  font-weight: var(--display-weight);
322
324
  gap: var(--space-sm);
@@ -335,9 +337,9 @@
335
337
 
336
338
  .ui-quote__cite {
337
339
  color: var(--text-dim);
338
- font-family: var(--mono);
340
+ font-family: var(--sans);
339
341
  font-size: var(--text-2xs);
340
342
  font-style: normal;
341
- letter-spacing: var(--tracking-wide);
342
- text-transform: uppercase;
343
+ letter-spacing: 0;
344
+ text-transform: none;
343
345
  }
@@ -32,13 +32,13 @@
32
32
  cursor: pointer;
33
33
  display: inline-flex;
34
34
  flex: 0 0 auto;
35
- font-family: var(--mono);
35
+ font-family: var(--sans);
36
36
  font-size: var(--text-xs);
37
37
  gap: 0.4rem;
38
- letter-spacing: var(--tracking-wide);
38
+ letter-spacing: 0;
39
39
  margin-block-end: -1px;
40
40
  padding: 0.6rem 0.85rem;
41
- text-transform: uppercase;
41
+ text-transform: none;
42
42
  transition:
43
43
  color var(--duration-fast) var(--ease-standard),
44
44
  border-color var(--duration-fast) var(--ease-standard);
@@ -104,13 +104,13 @@
104
104
  color: var(--text);
105
105
  cursor: pointer;
106
106
  display: flex;
107
- font-family: var(--mono);
107
+ font-family: var(--sans);
108
108
  font-size: var(--text-sm);
109
109
  gap: 0.6rem;
110
- letter-spacing: var(--tracking-wide);
110
+ letter-spacing: 0;
111
111
  list-style: none;
112
112
  padding: 0.85rem 0.2rem;
113
- text-transform: uppercase;
113
+ text-transform: none;
114
114
  }
115
115
 
116
116
  .ui-accordion__summary::-webkit-details-marker {
@@ -192,12 +192,12 @@
192
192
  color: var(--text-soft);
193
193
  cursor: pointer;
194
194
  flex: 1 0 auto;
195
- font-family: var(--mono);
195
+ font-family: var(--sans);
196
196
  font-size: var(--text-xs);
197
- letter-spacing: var(--tracking-wide);
197
+ letter-spacing: 0;
198
198
  padding: 0.42rem 0.8rem;
199
199
  text-align: center;
200
- text-transform: uppercase;
200
+ text-transform: none;
201
201
  transition:
202
202
  background-color var(--duration-fast) var(--ease-standard),
203
203
  color var(--duration-fast) var(--ease-standard);
@@ -233,14 +233,14 @@
233
233
  color: var(--text-dim);
234
234
  display: flex;
235
235
  flex-wrap: wrap;
236
- font-family: var(--mono);
236
+ font-family: var(--sans);
237
237
  font-size: var(--text-2xs);
238
238
  gap: 0.5rem;
239
- letter-spacing: var(--tracking-wide);
239
+ letter-spacing: 0;
240
240
  list-style: none;
241
241
  margin: 0;
242
242
  padding: 0;
243
- text-transform: uppercase;
243
+ text-transform: none;
244
244
  }
245
245
 
246
246
  .ui-breadcrumb__item {
@@ -302,7 +302,7 @@
302
302
  color: var(--text-soft);
303
303
  cursor: pointer;
304
304
  display: inline-flex;
305
- font-family: var(--mono);
305
+ font-family: var(--sans);
306
306
  font-size: var(--text-xs);
307
307
  justify-content: center;
308
308
  min-block-size: 2rem;
@@ -370,14 +370,14 @@
370
370
  color: var(--text);
371
371
  display: inline-flex;
372
372
  flex: 0 0 auto;
373
- font-family: var(--mono);
373
+ font-family: var(--sans);
374
374
  font-size: calc(var(--av-size) * 0.38);
375
375
  font-weight: 700;
376
376
  block-size: var(--av-size);
377
377
  justify-content: center;
378
378
  letter-spacing: 0.04em;
379
379
  overflow: hidden;
380
- text-transform: uppercase;
380
+ text-transform: none;
381
381
  inline-size: var(--av-size);
382
382
  }
383
383
 
@@ -528,11 +528,11 @@
528
528
  background: color-mix(in srgb, var(--panel-strong) 75%, transparent);
529
529
  border-radius: var(--radius-pill);
530
530
  color: var(--text);
531
- font-family: var(--mono);
531
+ font-family: var(--sans);
532
532
  font-size: var(--text-2xs);
533
533
  inset-block-end: var(--space-xs);
534
534
  inset-inline-start: var(--space-xs);
535
- letter-spacing: var(--tracking-wide);
535
+ letter-spacing: 0;
536
536
  padding: 0.2rem 0.5rem;
537
537
  position: absolute;
538
538
  }
package/css/feedback.css CHANGED
@@ -50,12 +50,12 @@
50
50
 
51
51
  .ui-alert__title {
52
52
  color: var(--text);
53
- font-family: var(--mono);
53
+ font-family: var(--sans);
54
54
  font-size: var(--text-2xs);
55
55
  font-weight: 700;
56
- letter-spacing: var(--tracking-wide);
56
+ letter-spacing: 0;
57
57
  margin: 0;
58
- text-transform: uppercase;
58
+ text-transform: none;
59
59
  }
60
60
 
61
61
  .ui-alert__body {
@@ -67,7 +67,7 @@
67
67
  border: 0;
68
68
  color: var(--text-dim);
69
69
  cursor: pointer;
70
- font-family: var(--mono);
70
+ font-family: var(--sans);
71
71
  grid-column: 3;
72
72
  grid-row: 1;
73
73
  line-height: 1;
@@ -199,12 +199,12 @@
199
199
 
200
200
  .ui-toast__title {
201
201
  color: var(--text);
202
- font-family: var(--mono);
202
+ font-family: var(--sans);
203
203
  font-size: var(--text-2xs);
204
204
  font-weight: 700;
205
- letter-spacing: var(--tracking-wide);
205
+ letter-spacing: 0;
206
206
  margin: 0;
207
- text-transform: uppercase;
207
+ text-transform: none;
208
208
  }
209
209
 
210
210
  .ui-toast__close {
@@ -284,7 +284,7 @@
284
284
  block-size: auto;
285
285
  inline-size: auto;
286
286
  margin-block-start: 0;
287
- font-family: var(--mono);
287
+ font-family: var(--sans);
288
288
  font-weight: 700;
289
289
  line-height: 1.1;
290
290
  }
@@ -327,15 +327,15 @@
327
327
  border-radius: var(--radius-sm);
328
328
  inset-block-end: calc(100% + 0.5rem);
329
329
  color: var(--bg);
330
- font-family: var(--mono);
330
+ font-family: var(--sans);
331
331
  font-size: var(--text-2xs);
332
332
  inset-inline-start: 50%;
333
- letter-spacing: var(--tracking-wide);
333
+ letter-spacing: 0;
334
334
  opacity: 0;
335
335
  padding: 0.34rem 0.5rem;
336
336
  pointer-events: none;
337
337
  position: absolute;
338
- text-transform: uppercase;
338
+ text-transform: none;
339
339
  transform: translate(-50%, 4px);
340
340
  transition: opacity var(--duration-fast) var(--ease-standard);
341
341
  white-space: nowrap;
@@ -540,7 +540,7 @@
540
540
 
541
541
  .ui-meter__value {
542
542
  color: var(--text);
543
- font-family: var(--mono);
543
+ font-family: var(--sans);
544
544
  font-variant-numeric: tabular-nums;
545
545
  text-align: end;
546
546
  }
@@ -575,17 +575,17 @@
575
575
  counter-increment: ui-step;
576
576
  display: inline-flex;
577
577
  flex: 1 1 auto;
578
- font-family: var(--mono);
578
+ font-family: var(--sans);
579
579
  font-size: var(--text-xs);
580
580
  gap: 0.5rem;
581
- letter-spacing: var(--tracking-wide);
581
+ letter-spacing: 0;
582
582
 
583
583
  /* Prefer the natural one-line width, but never wider than the container: a
584
584
  long step label at `max-content` couldn't shrink and overflowed the page on
585
585
  narrow viewports (tabs scroll; steps didn't). Capping at 100% lets an
586
586
  over-long label wrap instead of overflowing. */
587
587
  min-inline-size: min(100%, max-content);
588
- text-transform: uppercase;
588
+ text-transform: none;
589
589
  }
590
590
 
591
591
  .ui-steps__item::before {
package/css/forms.css CHANGED
@@ -9,11 +9,11 @@
9
9
 
10
10
  .ui-label {
11
11
  color: var(--text-dim);
12
- font-family: var(--mono);
12
+ font-family: var(--sans);
13
13
  font-size: var(--text-2xs);
14
14
  font-weight: 700;
15
- letter-spacing: var(--tracking-wide);
16
- text-transform: uppercase;
15
+ letter-spacing: 0;
16
+ text-transform: none;
17
17
  }
18
18
 
19
19
  .ui-input,
@@ -23,7 +23,7 @@
23
23
  border: 1px solid var(--line-strong);
24
24
  border-radius: var(--radius-md);
25
25
  color: var(--text);
26
- font-family: var(--mono);
26
+ font-family: var(--sans);
27
27
  font-size: var(--text-sm);
28
28
  padding: 0.6rem 0.7rem;
29
29
  transition:
@@ -286,6 +286,7 @@
286
286
 
287
287
  /* --- Range --- */
288
288
  .ui-range {
289
+ margin-inline: 0;
289
290
  accent-color: var(--accent);
290
291
  inline-size: 100%;
291
292
  }
@@ -315,9 +316,9 @@
315
316
  font-family: var(--sans);
316
317
  font-size: var(--text-sm);
317
318
  font-weight: 700;
318
- letter-spacing: var(--tracking-wide);
319
+ letter-spacing: 0;
319
320
  margin: 0 0 var(--space-xs);
320
- text-transform: uppercase;
321
+ text-transform: none;
321
322
  }
322
323
 
323
324
  .ui-error-summary__list {
@@ -369,7 +370,7 @@
369
370
  background: transparent;
370
371
  border: 0;
371
372
  color: var(--text);
372
- font-family: var(--mono);
373
+ font-family: var(--sans);
373
374
  font-size: var(--text-sm);
374
375
  outline: none;
375
376
  padding: 0.6rem 0;