@adia-ai/web-components 0.6.50 → 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 +120 -0
- package/components/action-list/action-list.css +1 -1
- package/components/agent-artifact/agent-artifact.class.js +10 -10
- package/components/agent-artifact/agent-artifact.css +1 -1
- package/components/agent-reasoning/agent-reasoning.class.js +51 -0
- package/components/agent-reasoning/agent-reasoning.css +49 -22
- package/components/alert/alert.class.js +8 -1
- package/components/alert/alert.css +13 -1
- package/components/avatar/avatar.a2ui.json +2 -14
- package/components/avatar/avatar.class.js +3 -15
- package/components/avatar/avatar.d.ts +2 -4
- package/components/avatar/avatar.yaml +1 -18
- package/components/breadcrumb/breadcrumb.css +4 -1
- package/components/button/button.a2ui.json +3 -0
- package/components/button/button.css +14 -3
- package/components/button/button.yaml +5 -0
- package/components/calendar-grid/calendar-grid.css +1 -1
- package/components/calendar-picker/calendar-picker.css +5 -2
- package/components/chart/chart.a2ui.json +0 -18
- package/components/chart/chart.class.js +8 -50
- package/components/chart/chart.css +1 -15
- package/components/chart/chart.d.ts +0 -4
- package/components/chart/chart.yaml +0 -24
- package/components/color-input/color-input.css +4 -1
- package/components/combobox/combobox.class.js +11 -0
- package/components/combobox/combobox.css +8 -0
- package/components/date-range-picker/date-range-picker.class.js +5 -1
- package/components/date-range-picker/date-range-picker.css +12 -2
- package/components/datetime-picker/datetime-picker.class.js +3 -0
- package/components/datetime-picker/datetime-picker.css +16 -2
- package/components/empty-state/empty-state.css +11 -4
- package/components/field/field.css +17 -6
- package/components/grid/grid.a2ui.json +5 -0
- package/components/grid/grid.class.js +16 -6
- package/components/grid/grid.css +17 -3
- package/components/grid/grid.d.ts +2 -0
- package/components/grid/grid.yaml +9 -0
- package/components/heatmap/heatmap.class.js +9 -3
- package/components/heatmap/heatmap.css +19 -2
- package/components/image/image.css +4 -1
- package/components/input/input.css +1 -1
- package/components/integration-card/integration-card.class.js +31 -7
- package/components/integration-card/integration-card.test.js +12 -1
- package/components/kbd/kbd.a2ui.json +3 -2
- package/components/kbd/kbd.css +7 -4
- package/components/kbd/kbd.d.ts +2 -2
- package/components/kbd/kbd.yaml +2 -1
- package/components/list/list.class.js +8 -1
- package/components/menu/menu.css +4 -1
- package/components/modal/modal.class.js +10 -1
- package/components/modal/modal.css +9 -0
- package/components/option-card/option-card.a2ui.json +3 -0
- package/components/option-card/option-card.css +44 -19
- package/components/option-card/option-card.yaml +5 -0
- package/components/otp-input/otp-input.css +25 -10
- package/components/page/page.css +64 -11
- package/components/pagination/pagination.class.js +1 -1
- package/components/pagination/pagination.css +9 -1
- package/components/pipeline-status/pipeline-status.css +6 -0
- package/components/popover/popover.css +12 -1
- package/components/preview/preview.css +30 -3
- package/components/progress-row/progress-row.css +3 -1
- package/components/qr-code/qr-code.css +4 -1
- package/components/segmented/segmented.css +4 -1
- package/components/select/select.a2ui.json +1 -1
- package/components/select/select.class.js +63 -7
- package/components/select/select.css +18 -0
- package/components/select/select.yaml +9 -2
- package/components/stack/stack.a2ui.json +12 -1
- package/components/stack/stack.d.ts +2 -2
- package/components/stack/stack.yaml +13 -1
- package/components/stat/stat.a2ui.json +5 -0
- package/components/stat/stat.css +55 -0
- package/components/stat/stat.d.ts +2 -0
- package/components/stat/stat.js +4 -0
- package/components/stat/stat.yaml +9 -0
- package/components/swiper/swiper.class.js +14 -6
- package/components/switch/switch.css +13 -0
- package/components/table/table.a2ui.json +2 -2
- package/components/table/table.css +13 -1
- package/components/table/table.yaml +2 -2
- package/components/time-picker/time-picker.css +4 -1
- package/components/timeline/timeline.class.js +3 -3
- package/components/timeline/timeline.css +23 -5
- package/components/toggle-group/toggle-group.css +4 -1
- package/components/toggle-scheme/toggle-scheme.css +4 -1
- package/dist/web-components.min.css +1 -1
- package/dist/web-components.min.js +81 -81
- package/package.json +3 -3
- package/styles/api/layout.css +7 -0
- package/styles/api/text.css +9 -5
- package/styles/index.css +11 -2
- package/styles/prose.css +8 -0
- package/styles/resets.css +5 -5
- package/styles/themes.css +8 -1
- package/styles/tokens.css +3 -3
- package/styles/type/elements.css +73 -0
- package/styles/type/roles.css +14 -49
- package/styles/type/scale.css +0 -5
- package/styles/typography.css +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adia-ai/web-components",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "AdiaUI web components \u2014 vanilla custom elements. A2UI runtime (renderer, registry, streams, wiring) lives in @adia-ai/a2ui-runtime.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -115,7 +115,7 @@
|
|
|
115
115
|
"./core/icons-phosphor.js"
|
|
116
116
|
],
|
|
117
117
|
"dependencies": {
|
|
118
|
-
"@adia-ai/a2ui-runtime": "^0.
|
|
118
|
+
"@adia-ai/a2ui-runtime": "^0.7.0",
|
|
119
119
|
"@codemirror/commands": "^6.10.3",
|
|
120
120
|
"@codemirror/language": "^6.12.3",
|
|
121
121
|
"@codemirror/lint": "^6.9.5",
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
"@lezer/highlight": "^1.2.3"
|
|
125
125
|
},
|
|
126
126
|
"optionalDependencies": {
|
|
127
|
-
"@adia-ai/web-modules": "^0.
|
|
127
|
+
"@adia-ai/web-modules": "^0.7.0",
|
|
128
128
|
"@codemirror/lang-css": "^6.3.1",
|
|
129
129
|
"@codemirror/lang-html": "^6.4.11",
|
|
130
130
|
"@codemirror/lang-javascript": "^6.2.5",
|
package/styles/api/layout.css
CHANGED
|
@@ -17,3 +17,10 @@
|
|
|
17
17
|
flex: 1;
|
|
18
18
|
min-width: 0;
|
|
19
19
|
}
|
|
20
|
+
|
|
21
|
+
/* [inline] — display-flip to inline-level. Deliberately NOT a global rule here:
|
|
22
|
+
it must override each component's own `:scope{display}` (specificity 0,1,0),
|
|
23
|
+
so it lives per-component as `:scope[inline]` (0,2,0) inside each @scope. A
|
|
24
|
+
bare global `[inline]` would tie and be cascade-order-fragile. Block-level is
|
|
25
|
+
the default for composite/control/container primitives; text-flow atoms stay
|
|
26
|
+
inline. See ADR-0037 + docs/specs/attribute-api-system.md §5. */
|
package/styles/api/text.css
CHANGED
|
@@ -7,11 +7,15 @@
|
|
|
7
7
|
GLOBAL PRESENTATIONAL ATTRIBUTES
|
|
8
8
|
Work on any element. Attribute-driven, not class-based.
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
on
|
|
14
|
-
|
|
10
|
+
PRECEDENCE (ADR-0038): these attributes are the `utilities` layer
|
|
11
|
+
(currently unlayered, → a named `utilities` layer in migration step 6),
|
|
12
|
+
which sits ABOVE the `components` layer in cascade order. So
|
|
13
|
+
[weight="bold"] on a component like <text-ui> now OVERRIDES the
|
|
14
|
+
component's own font-weight rule — utilities win over components by layer,
|
|
15
|
+
on any element. Before the @layer migration (step 5) these LOST to
|
|
16
|
+
component @scope by proximity; that limitation is retired. The full set of
|
|
17
|
+
component×property honorings (39: 25 color · 10 weight · 3 text-align ·
|
|
18
|
+
1 transform) is enumerated by scripts/qa/cascade-component-attr-sweep.mjs.
|
|
15
19
|
═══════════════════════════════════════════════════════════ */
|
|
16
20
|
|
|
17
21
|
/* Text alignment */
|
package/styles/index.css
CHANGED
|
@@ -9,6 +9,15 @@
|
|
|
9
9
|
Opt-in layers (theme presets, prose context) are linked separately —
|
|
10
10
|
styles/themes.css and styles/prose.css. */
|
|
11
11
|
|
|
12
|
+
/* Cascade-layer order — ADR-0038, GS-P2-SPEC-1 §8 step 1.
|
|
13
|
+
Declares the precedence order once, up front. INERT until rules are assigned
|
|
14
|
+
to layers: with every import below still unlayered, all rules stay in the
|
|
15
|
+
(highest-priority) unlayered context, so the resolved cascade is unchanged —
|
|
16
|
+
proven behavior-neutral by the dist-bundle fingerprint at commit time.
|
|
17
|
+
Later cuts move each import into its layer (e.g. `… layer(tokens)`), one at
|
|
18
|
+
a time, each re-fingerprinted. */
|
|
19
|
+
@layer reset, tokens, elements, components, utilities, context, overrides;
|
|
20
|
+
|
|
12
21
|
@import "./tokens.css";
|
|
13
|
-
@import "./components.css";
|
|
14
|
-
@import "./resets.css";
|
|
22
|
+
@import "./components.css" layer(components);
|
|
23
|
+
@import "./resets.css" layer(reset);
|
package/styles/prose.css
CHANGED
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
<div prose size="lg">...</div> — spacious prose
|
|
11
11
|
═══════════════════════════════════════════════════════════════ */
|
|
12
12
|
|
|
13
|
+
/* All rules below are the `context` layer (ADR-0038 step 7): theme/prose
|
|
14
|
+
context sits above `utilities`+`components`, so a [data-theme]/[prose] scope
|
|
15
|
+
re-skins everything within it. The @layer order is declared by the co-loaded
|
|
16
|
+
barrel (styles/index.css); this file only contributes to `context`. */
|
|
17
|
+
@layer context {
|
|
18
|
+
|
|
13
19
|
[prose] {
|
|
14
20
|
/* ── Radius — larger bases than UI ── */
|
|
15
21
|
--a-radius-sm: clamp(var(--a-radius-min), calc(var(--a-radius-k) * var(--a-radius-max) * var(--a-radius-sm-k)), var(--a-radius-max));
|
|
@@ -180,3 +186,5 @@
|
|
|
180
186
|
[prose] img {
|
|
181
187
|
border-radius: var(--a-radius-lg);
|
|
182
188
|
}
|
|
189
|
+
|
|
190
|
+
}
|
package/styles/resets.css
CHANGED
|
@@ -73,11 +73,11 @@ canvas {
|
|
|
73
73
|
block-size: auto;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
ul[role=
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
76
|
+
/* The `ul/ol[role="list"]` semantic-list opt-out moved to
|
|
77
|
+
styles/type/elements.css (with the other element list defaults) during the
|
|
78
|
+
@layer migration — it's an element-default refinement that must win by
|
|
79
|
+
specificity, not a floor-reset that may be demoted to the `reset` layer.
|
|
80
|
+
See ADR-0038 step 2 + the cascade-reset-layer probe. */
|
|
81
81
|
|
|
82
82
|
/* ── Size-query provider utility ──────────────────────────────────
|
|
83
83
|
Opt any element into being a container-query size provider for
|
package/styles/themes.css
CHANGED
|
@@ -10,6 +10,12 @@
|
|
|
10
10
|
<html data-theme="slate">...entire app...</html>
|
|
11
11
|
═══════════════════════════════════════════════════════════════ */
|
|
12
12
|
|
|
13
|
+
/* All rules below are the `context` layer (ADR-0038 step 7): theme/prose
|
|
14
|
+
context sits above `utilities`+`components`, so a [data-theme]/[prose] scope
|
|
15
|
+
re-skins everything within it. The @layer order is declared by the co-loaded
|
|
16
|
+
barrel (styles/index.css); this file only contributes to `context`. */
|
|
17
|
+
@layer context {
|
|
18
|
+
|
|
13
19
|
/* ── Default (cool indigo, balanced) ── */
|
|
14
20
|
|
|
15
21
|
[data-scheme="light"] {
|
|
@@ -35,7 +41,6 @@
|
|
|
35
41
|
--a-info-hue: 200;
|
|
36
42
|
--a-radius-k: 1;
|
|
37
43
|
--a-density: 1;
|
|
38
|
-
--a-density: 1;
|
|
39
44
|
--a-shadow-intensity: 1;
|
|
40
45
|
}
|
|
41
46
|
|
|
@@ -153,3 +158,5 @@
|
|
|
153
158
|
--a-radius-k: 1.25;
|
|
154
159
|
--a-density: 1.1;
|
|
155
160
|
}
|
|
161
|
+
|
|
162
|
+
}
|
package/styles/tokens.css
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
API. Splitting the former single :root block into per-dimension files is
|
|
16
16
|
cascade-inert (every token is declared exactly once). */
|
|
17
17
|
|
|
18
|
-
@import "./colors/index.css";
|
|
18
|
+
@import "./colors/index.css" layer(tokens);
|
|
19
19
|
@import "./typography.css";
|
|
20
|
-
@import "./foundation/index.css";
|
|
21
|
-
@import "./api/sizing.css";
|
|
20
|
+
@import "./foundation/index.css" layer(tokens);
|
|
21
|
+
@import "./api/sizing.css" layer(utilities);
|
package/styles/type/elements.css
CHANGED
|
@@ -60,6 +60,22 @@
|
|
|
60
60
|
color: var(--a-fg-muted);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
+
/* Semantic-list opt-out: `role="list"` restores the ARIA list role that
|
|
64
|
+
`list-style: none` strips in Safari/VoiceOver, and removes the default
|
|
65
|
+
indent so a de-listed list reads as plain content. An element-default
|
|
66
|
+
*refinement*, not a floor-reset — its real specificity (0,1,1) beats the
|
|
67
|
+
`:where(ul, ol)` default (0,0,0) within this layer, so it wins by
|
|
68
|
+
specificity rather than by source order or by being unlayered. Relocated
|
|
69
|
+
from styles/resets.css during the @layer migration (ADR-0038 step 2):
|
|
70
|
+
under `@layer`, a rule in the low `reset` layer would lose to this
|
|
71
|
+
unlayered/`elements`-layer default — the win must come from specificity,
|
|
72
|
+
here, not from precedence trickery. */
|
|
73
|
+
ul[role='list'],
|
|
74
|
+
ol[role='list'] {
|
|
75
|
+
list-style: none;
|
|
76
|
+
padding: 0;
|
|
77
|
+
}
|
|
78
|
+
|
|
63
79
|
/* ── Blockquote ── */
|
|
64
80
|
:where(blockquote) {
|
|
65
81
|
margin: 1em 0;
|
|
@@ -200,6 +216,63 @@
|
|
|
200
216
|
border-radius: var(--a-radius-md);
|
|
201
217
|
}
|
|
202
218
|
|
|
219
|
+
/* ── Heading role defaults (h1–h6) ──
|
|
220
|
+
Each native heading defaults to a sensible typographic role. Zero specificity
|
|
221
|
+
via :where() (0,0,0) so [variant] and component @scope always win. Relocated
|
|
222
|
+
from styles/type/roles.css during the @layer migration (ADR-0038 step 4) to
|
|
223
|
+
consolidate all native h1–h6 styling in the element-defaults file / `elements`
|
|
224
|
+
layer; co-located with the bare h1–h6 rule below, whose real specificity
|
|
225
|
+
(0,0,1) intentionally wins line-height (1.1) over these (the relationship is
|
|
226
|
+
specificity-decided, so it survives both rules landing in the same layer). */
|
|
227
|
+
:where(h1) {
|
|
228
|
+
font-family: var(--a-title-family);
|
|
229
|
+
font-weight: var(--a-title-weight);
|
|
230
|
+
font-size: var(--a-title-size);
|
|
231
|
+
line-height: var(--a-title-leading);
|
|
232
|
+
letter-spacing: var(--a-title-tracking);
|
|
233
|
+
color: var(--a-title-color);
|
|
234
|
+
}
|
|
235
|
+
:where(h2) {
|
|
236
|
+
font-family: var(--a-heading-family);
|
|
237
|
+
font-weight: var(--a-heading-weight);
|
|
238
|
+
font-size: var(--a-heading-size);
|
|
239
|
+
line-height: var(--a-heading-leading);
|
|
240
|
+
letter-spacing: var(--a-heading-tracking);
|
|
241
|
+
color: var(--a-heading-color);
|
|
242
|
+
}
|
|
243
|
+
:where(h3) {
|
|
244
|
+
font-family: var(--a-section-family);
|
|
245
|
+
font-weight: var(--a-section-weight);
|
|
246
|
+
font-size: var(--a-section-size);
|
|
247
|
+
line-height: var(--a-section-leading);
|
|
248
|
+
letter-spacing: var(--a-section-tracking);
|
|
249
|
+
color: var(--a-section-color);
|
|
250
|
+
}
|
|
251
|
+
:where(h4) {
|
|
252
|
+
font-family: var(--a-subsection-family);
|
|
253
|
+
font-weight: var(--a-subsection-weight);
|
|
254
|
+
font-size: var(--a-subsection-size);
|
|
255
|
+
line-height: var(--a-subsection-leading);
|
|
256
|
+
letter-spacing: var(--a-subsection-tracking);
|
|
257
|
+
color: var(--a-subsection-color);
|
|
258
|
+
}
|
|
259
|
+
:where(h5) {
|
|
260
|
+
font-family: var(--a-caption-family);
|
|
261
|
+
font-weight: var(--a-caption-weight);
|
|
262
|
+
font-size: var(--a-caption-size);
|
|
263
|
+
line-height: var(--a-caption-leading);
|
|
264
|
+
letter-spacing: var(--a-caption-tracking);
|
|
265
|
+
color: var(--a-caption-color);
|
|
266
|
+
}
|
|
267
|
+
:where(h6) {
|
|
268
|
+
font-family: var(--a-label-family);
|
|
269
|
+
font-weight: var(--a-label-weight);
|
|
270
|
+
font-size: var(--a-label-size);
|
|
271
|
+
line-height: var(--a-label-leading);
|
|
272
|
+
letter-spacing: var(--a-label-tracking);
|
|
273
|
+
color: var(--a-label-color);
|
|
274
|
+
}
|
|
275
|
+
|
|
203
276
|
/* ── Native element typography consolidated from resets.css ──
|
|
204
277
|
(v0.6.48 reorg, ADR-0035). These are (0,0,1)/(0,1,1) and only compete
|
|
205
278
|
with the :where() (0,0,0) defaults above, so specificity decides — the
|
package/styles/type/roles.css
CHANGED
|
@@ -259,56 +259,20 @@
|
|
|
259
259
|
<span variant="kicker">Category</span>
|
|
260
260
|
═══════════════════════════════════════════════════════════ */
|
|
261
261
|
|
|
262
|
-
/*
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
letter-spacing: var(--a-title-tracking);
|
|
269
|
-
color: var(--a-title-color);
|
|
270
|
-
}
|
|
271
|
-
:where(h2) {
|
|
272
|
-
font-family: var(--a-heading-family);
|
|
273
|
-
font-weight: var(--a-heading-weight);
|
|
274
|
-
font-size: var(--a-heading-size);
|
|
275
|
-
line-height: var(--a-heading-leading);
|
|
276
|
-
letter-spacing: var(--a-heading-tracking);
|
|
277
|
-
color: var(--a-heading-color);
|
|
278
|
-
}
|
|
279
|
-
:where(h3) {
|
|
280
|
-
font-family: var(--a-section-family);
|
|
281
|
-
font-weight: var(--a-section-weight);
|
|
282
|
-
font-size: var(--a-section-size);
|
|
283
|
-
line-height: var(--a-section-leading);
|
|
284
|
-
letter-spacing: var(--a-section-tracking);
|
|
285
|
-
color: var(--a-section-color);
|
|
286
|
-
}
|
|
287
|
-
:where(h4) {
|
|
288
|
-
font-family: var(--a-subsection-family);
|
|
289
|
-
font-weight: var(--a-subsection-weight);
|
|
290
|
-
font-size: var(--a-subsection-size);
|
|
291
|
-
line-height: var(--a-subsection-leading);
|
|
292
|
-
letter-spacing: var(--a-subsection-tracking);
|
|
293
|
-
color: var(--a-subsection-color);
|
|
294
|
-
}
|
|
295
|
-
:where(h5) {
|
|
296
|
-
font-family: var(--a-caption-family);
|
|
297
|
-
font-weight: var(--a-caption-weight);
|
|
298
|
-
font-size: var(--a-caption-size);
|
|
299
|
-
line-height: var(--a-caption-leading);
|
|
300
|
-
letter-spacing: var(--a-caption-tracking);
|
|
301
|
-
color: var(--a-caption-color);
|
|
302
|
-
}
|
|
303
|
-
:where(h6) {
|
|
304
|
-
font-family: var(--a-label-family);
|
|
305
|
-
font-weight: var(--a-label-weight);
|
|
306
|
-
font-size: var(--a-label-size);
|
|
307
|
-
line-height: var(--a-label-leading);
|
|
308
|
-
letter-spacing: var(--a-label-tracking);
|
|
309
|
-
color: var(--a-label-color);
|
|
310
|
-
}
|
|
262
|
+
/* The h1–h6 :where() defaults moved to styles/type/elements.css (the
|
|
263
|
+
element-defaults file, which already owns the bare h1–h6 text-wrap/leading
|
|
264
|
+
rule) during the @layer migration — ADR-0038 step 4. They belong in the
|
|
265
|
+
`elements` layer alongside the rest of the native-element baseline. Role
|
|
266
|
+
*tokens* (above) stay here (unlayered → `tokens`); the [variant] API (below)
|
|
267
|
+
is now the `utilities` layer (step 6). */
|
|
311
268
|
|
|
269
|
+
/* [variant] attribute API → `utilities` layer (ADR-0038 step 6). Above
|
|
270
|
+
`components` and `elements`, so a [variant] on any element (component,
|
|
271
|
+
heading, span) wins by layer order — not specificity. Within `utilities` it
|
|
272
|
+
ties with [weight]/[color] (all (0,1,0)); source order decides, and api/text
|
|
273
|
+
imports AFTER this block, so [weight] still wins that tie — preserved by both
|
|
274
|
+
landing in the same layer. */
|
|
275
|
+
@layer utilities {
|
|
312
276
|
[variant="display"] {
|
|
313
277
|
font-family: var(--a-display-family);
|
|
314
278
|
font-weight: var(--a-display-weight);
|
|
@@ -417,3 +381,4 @@
|
|
|
417
381
|
text-transform: var(--a-code-case);
|
|
418
382
|
color: var(--a-code-color);
|
|
419
383
|
}
|
|
384
|
+
} /* @layer utilities — [variant] API */
|
package/styles/type/scale.css
CHANGED
|
@@ -12,10 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
/* ── Font families ── */
|
|
14
14
|
|
|
15
|
-
/*--a-font-family-sans: var(--a-font-gt-standard);*/
|
|
16
|
-
/*--a-font-family-mono: var(--a-font-gt-standard-mono);*/
|
|
17
|
-
/*--a-font-family-sans: var(--a-font-neu-montreal-sans);*/
|
|
18
|
-
/*--a-font-family-mono: var(--a-font-neu-montreal-mono);*/
|
|
19
15
|
--a-font-family-display: var(--a-font-family-sans);
|
|
20
16
|
--a-font-family-text: var(--a-font-family-sans);
|
|
21
17
|
--a-font-family-heading: var(--a-font-family-sans);
|
|
@@ -23,7 +19,6 @@
|
|
|
23
19
|
--a-font-family-code: var(--a-font-family-mono);
|
|
24
20
|
--a-font-family-control: var(--a-font-family-mono);
|
|
25
21
|
--a-font-family: var(--a-font-family-sans);
|
|
26
|
-
--a-font-family-text: var(--a-font-family-sans);
|
|
27
22
|
|
|
28
23
|
/* ── Type scale ──
|
|
29
24
|
Ratio: ~1.25 (major third) with dramatic hero jump.
|
package/styles/typography.css
CHANGED
|
@@ -60,6 +60,6 @@
|
|
|
60
60
|
|
|
61
61
|
@import "./type/scale.css"; /* L1/L2 — families, weights, leading, tracking */
|
|
62
62
|
@import "./type/roles.css"; /* L3 — 13 roles + h1-h6 + [variant] */
|
|
63
|
-
@import "./type/elements.css"; /* native element defaults */
|
|
64
|
-
@import "./api/text.css"; /* [text-align][weight][color][transform][truncate] */
|
|
65
|
-
@import "./api/layout.css"; /* [hidden][nomargin][grow] */
|
|
63
|
+
@import "./type/elements.css" layer(elements); /* native element defaults → elements layer (ADR-0038 step 4) */
|
|
64
|
+
@import "./api/text.css" layer(utilities); /* [text-align][weight][color][transform][truncate] → utilities (ADR-0038 step 6) */
|
|
65
|
+
@import "./api/layout.css" layer(utilities); /* [hidden][nomargin][grow] → utilities */
|