@adia-ai/web-components 0.7.27 → 0.8.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 +37 -0
- package/components/accordion/accordion.css +13 -4
- package/components/action-list/action-list.css +3 -3
- package/components/agent-artifact/agent-artifact.css +4 -4
- package/components/agent-questions/agent-questions.css +8 -8
- package/components/agent-reasoning/agent-reasoning.css +6 -6
- package/components/agent-trace/agent-trace.css +4 -4
- package/components/agent-trace/agent-trace.js +1 -1
- package/components/alert/alert.css +16 -16
- package/components/avatar/avatar.css +3 -3
- package/components/badge/badge.css +32 -32
- package/components/blockquote/blockquote.css +1 -1
- package/components/breadcrumb/breadcrumb.css +2 -2
- package/components/button/button.css +14 -14
- package/components/calendar-grid/calendar-grid.a2ui.json +3 -3
- package/components/calendar-grid/calendar-grid.css +10 -10
- package/components/calendar-grid/calendar-grid.yaml +3 -3
- package/components/calendar-picker/calendar-picker.css +11 -11
- package/components/canvas/canvas.css +2 -2
- package/components/card/card.css +15 -15
- package/components/chart/chart.a2ui.json +1 -1
- package/components/chart/chart.css +23 -23
- package/components/chart/chart.yaml +2 -0
- package/components/chart-legend/chart-legend.css +2 -2
- package/components/chat-thread/chat-input.css +6 -6
- package/components/chat-thread/chat-thread.css +7 -7
- package/components/check/check.css +4 -4
- package/components/code/code-editor.js +1 -1
- package/components/code/code.css +45 -22
- package/components/color-picker/color-picker.css +4 -4
- package/components/combobox/combobox.css +6 -6
- package/components/command/command.class.js +14 -3
- package/components/command/command.css +4 -4
- package/components/context-menu/context-menu.css +2 -2
- package/components/date-range-picker/date-range-picker.a2ui.json +3 -3
- package/components/date-range-picker/date-range-picker.css +8 -8
- package/components/date-range-picker/date-range-picker.yaml +3 -3
- package/components/datetime-picker/datetime-picker.css +6 -6
- package/components/demo-toggle/demo-toggle.css +4 -4
- package/components/description-list/description-list.css +1 -1
- package/components/display-field/display-field.css +2 -2
- package/components/divider/divider.css +1 -1
- package/components/drawer/drawer.css +7 -7
- package/components/embed/embed.css +1 -1
- package/components/empty-state/empty-state.css +5 -5
- package/components/feed/feed.css +7 -7
- package/components/field/field.css +2 -2
- package/components/heatmap/heatmap.css +8 -8
- package/components/inline-edit/inline-edit.a2ui.json +1 -1
- package/components/inline-edit/inline-edit.css +3 -3
- package/components/inline-edit/inline-edit.yaml +1 -1
- package/components/inline-message/inline-message.css +4 -4
- package/components/input/input.css +1 -1
- package/components/inspector/inspector.css +1 -1
- package/components/integration-card/integration-card.css +3 -3
- package/components/kbd/kbd.a2ui.json +4 -0
- package/components/kbd/kbd.css +2 -2
- package/components/kbd/kbd.d.ts +2 -0
- package/components/kbd/kbd.yaml +5 -0
- package/components/link/link.css +2 -2
- package/components/list/list.css +10 -10
- package/components/list-window/list-window.css +2 -2
- package/components/mark/mark.css +9 -9
- package/components/menu/menu.css +9 -9
- package/components/modal/modal.css +4 -4
- package/components/nav/nav.css +1 -1
- package/components/nav-group/nav-group.css +7 -16
- package/components/nav-item/nav-item.css +1 -1
- package/components/noodles/noodles.a2ui.json +1 -1
- package/components/noodles/noodles.css +3 -3
- package/components/noodles/noodles.d.ts +1 -1
- package/components/noodles/noodles.yaml +1 -1
- package/components/option-card/option-card.css +11 -11
- package/components/otp-input/otp-input.css +1 -1
- package/components/page/page.css +2 -2
- package/components/pane/pane.css +5 -5
- package/components/password-strength/password-strength.css +1 -1
- package/components/pipeline-status/pipeline-status.css +9 -9
- package/components/popover/popover.css +2 -2
- package/components/preview/preview.css +14 -3
- package/components/progress/progress.a2ui.json +1 -1
- package/components/progress/progress.css +1 -1
- package/components/progress/progress.d.ts +1 -1
- package/components/progress/progress.yaml +1 -1
- package/components/progress-row/progress-row.css +2 -2
- package/components/radio/radio.css +4 -4
- package/components/range/range.css +2 -2
- package/components/rating/rating.css +2 -2
- package/components/richtext/richtext.class.js +4 -0
- package/components/richtext/richtext.css +5 -5
- package/components/richtext/richtext.yaml +1 -0
- package/components/row/row.css +1 -1
- package/components/select/select.css +8 -8
- package/components/skip-nav/skip-nav.a2ui.json +2 -2
- package/components/skip-nav/skip-nav.css +3 -3
- package/components/skip-nav/skip-nav.yaml +2 -2
- package/components/slider/slider.css +5 -5
- package/components/spinner/spinner.css +2 -2
- package/components/spinner/spinner.test.js +4 -2
- package/components/stat/stat.css +1 -1
- package/components/step-progress/step-progress.a2ui.json +1 -1
- package/components/step-progress/step-progress.class.js +1 -1
- package/components/step-progress/step-progress.css +2 -2
- package/components/step-progress/step-progress.d.ts +1 -1
- package/components/step-progress/step-progress.yaml +1 -1
- package/components/stepper/stepper.css +22 -22
- package/components/stream/stream.css +2 -2
- package/components/swatch/swatch.class.js +1 -1
- package/components/swatch/swatch.css +11 -11
- package/components/swiper/swiper.css +5 -5
- package/components/switch/switch.css +5 -5
- package/components/table/cell-types.js +32 -3
- package/components/table/table.a2ui.json +1 -1
- package/components/table/table.css +16 -11
- package/components/table/table.test.js +37 -0
- package/components/table/table.yaml +2 -0
- package/components/table-toolbar/table-toolbar.css +8 -8
- package/components/tabs/tabs.css +5 -5
- package/components/tag/tag.css +41 -29
- package/components/tag/tag.test.js +22 -29
- package/components/tags-input/tags-input.a2ui.json +1 -1
- package/components/tags-input/tags-input.css +3 -3
- package/components/tags-input/tags-input.yaml +5 -3
- package/components/text/text.css +4 -4
- package/components/textarea/textarea.css +1 -1
- package/components/time-picker/time-picker.css +2 -2
- package/components/timeline/timeline.css +31 -31
- package/components/toast/toast.css +19 -19
- package/components/toc/toc.a2ui.json +1 -1
- package/components/toc/toc.css +3 -3
- package/components/toc/toc.yaml +1 -1
- package/components/toggle-group/toggle-group.css +3 -3
- package/components/toolbar/toolbar.css +3 -3
- package/components/tooltip/tooltip.css +9 -9
- package/components/tour/tour.css +3 -3
- package/components/tree/tree.css +2 -2
- package/components/upload/upload.css +7 -7
- package/core/markdown.js +1 -1
- package/dist/host.min.css +1 -1
- package/dist/host.sheet.js +1 -1
- package/dist/theme-provider.min.js +7 -7
- package/dist/themes.min.css +1 -1
- package/dist/themes.sheet.js +1 -1
- package/dist/web-components.min.css +1 -1
- package/dist/web-components.min.js +62 -62
- package/dist/web-components.sheet.js +1 -1
- package/package.json +3 -3
- package/styles/api/text.css +1 -1
- package/styles/colors/bridges/material-bridge.css +30 -0
- package/styles/colors/index.css +19 -1
- package/styles/colors/material-static.css +771 -0
- package/styles/colors/parameters.css +40 -4
- package/styles/colors/primitives-primary.css +89 -0
- package/styles/colors/primitives-secondary.css +89 -0
- package/styles/colors/primitives-tertiary.css +89 -0
- package/styles/colors/primitives.css +3 -1
- package/styles/colors/scrims.css +19 -180
- package/styles/colors/semantics/aliases.css +25 -11
- package/styles/colors/semantics/buckets.css +28 -12
- package/styles/colors/semantics/core.css +323 -202
- package/styles/colors/semantics/data-viz.css +13 -13
- package/styles/colors/semantics/features.css +31 -13
- package/styles/colors/surfaces.css +41 -31
- package/styles/resets.css +15 -1
- package/styles/themes.css +15 -15
- package/styles/colors/primitives-accent.css +0 -89
|
@@ -1,9 +1,43 @@
|
|
|
1
1
|
/* adia:semantic/color — core semantic color aliases (L2 + L3).
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
|
|
3
|
+
INTERNAL as of the Material adoption (2026-07-14,
|
|
4
|
+
.claude/docs/specs/material-color-bridge-contract.md — "replace the
|
|
5
|
+
computational layer" phase): these `--a-*` tokens are now a thin
|
|
6
|
+
ALIAS layer over the static `--md-sys-color-*` export
|
|
7
|
+
(colors/material-static.css, copied verbatim from the
|
|
8
|
+
nonoun-color-tokens-adia reference file and loaded earlier in
|
|
9
|
+
colors/index.css) — not the computed OKLCH engine they used to be.
|
|
10
|
+
Every family block below (CANVAS + PRIMARY/SECONDARY/TERTIARY/INFO/
|
|
11
|
+
SUCCESS/WARNING/DANGER) reads `var(--md-sys-color-*)` directly
|
|
12
|
+
instead of the old `--a-{fam}-{NN}` computed primitives. `--a-*`
|
|
13
|
+
stays fully functional as a consumption surface — this is
|
|
14
|
+
"re-source the alias", not "delete the old name". Consume
|
|
15
|
+
`--md-sys-color-*` directly in new code; every real component/app/
|
|
16
|
+
site CSS file was already swept onto it
|
|
17
|
+
(`scripts/refactor/adopt-material-tokens.mjs`). The `--a-accent-*`
|
|
18
|
+
back-compat block was removed in Phase 5 (2026-07-14) once its own
|
|
19
|
+
stated removal condition — zero remaining real consumers — was met.
|
|
20
|
+
|
|
21
|
+
Accepted tradeoff (operator-confirmed 2026-07-14): the 8-theme
|
|
22
|
+
live-retheming system in `styles/themes.css` degrades to 1 theme —
|
|
23
|
+
`--md-sys-color-*`'s values are static OKLCH literals, not
|
|
24
|
+
calc()-computed from `--a-{family}-hue/-c-min/-c-max`, so a
|
|
25
|
+
`[theme="ocean"]` override of those parametric knobs no longer
|
|
26
|
+
reaches anything downstream. Only `--a-brand-*` (no Material
|
|
27
|
+
equivalent, stays computed) and the non-color theme knobs
|
|
28
|
+
(`--a-radius-k`, `--a-density`, `--a-shadow-intensity`) still
|
|
29
|
+
respond to a theme attribute. The raw fine/coarse `--a-{fam}-{NN}`
|
|
30
|
+
primitive ramps (primitives-*.css) are untouched and still function
|
|
31
|
+
— only unused by this semantic layer now, kept for the swatch
|
|
32
|
+
display page (colors.examples.html) and for `--a-brand-*`, which
|
|
33
|
+
still sources from them.
|
|
34
|
+
|
|
35
|
+
Was: "The consumable API: canvas (neutral fg/bg/border), accent,
|
|
36
|
+
brand, and the four status families (info/success/warning/danger)."
|
|
37
|
+
Split out of the 636-line semantics.css (v0.6.48 reorg, ADR-0035);
|
|
38
|
+
imported FIRST by the semantics.css barrel so the status-compat
|
|
39
|
+
overrides in aliases.css (imported last) still win, exactly as in
|
|
40
|
+
the original source order. */
|
|
7
41
|
|
|
8
42
|
:root, theme-ui, [theme], theme-provider {
|
|
9
43
|
|
|
@@ -11,136 +45,152 @@
|
|
|
11
45
|
CANVAS — Neutral text, borders, surfaces
|
|
12
46
|
══════════════════════════════════════════════════════════════ */
|
|
13
47
|
|
|
14
|
-
/* L2 — family tokens
|
|
15
|
-
|
|
16
|
-
--a-canvas:
|
|
17
|
-
--a-canvas
|
|
18
|
-
--a-canvas-
|
|
19
|
-
--a-canvas-
|
|
20
|
-
--a-canvas-
|
|
21
|
-
--a-canvas-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
--a-canvas-text-strong:
|
|
31
|
-
--a-canvas-text:
|
|
32
|
-
--a-canvas-text-subtle:
|
|
33
|
-
--a-canvas-text-muted:
|
|
34
|
-
--a-canvas-text-disabled:
|
|
35
|
-
--a-canvas-text-inverse: var(--
|
|
36
|
-
|
|
37
|
-
/*
|
|
38
|
-
|
|
39
|
-
--a-canvas-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
/*
|
|
43
|
-
--a-canvas-
|
|
44
|
-
--a-canvas-
|
|
45
|
-
|
|
48
|
+
/* L2 — family tokens (re-sourced from --md-sys-color-neutral-*
|
|
49
|
+
static export, 2026-07-14 — see file header) */
|
|
50
|
+
--a-canvas-strong: var(--md-sys-color-neutral-surface-high);
|
|
51
|
+
--a-canvas: var(--md-sys-color-neutral-surface);
|
|
52
|
+
--a-canvas-subtle: var(--md-sys-color-neutral-surface-dim);
|
|
53
|
+
--a-canvas-muted: var(--md-sys-color-neutral-surface-dimmer);
|
|
54
|
+
--a-canvas-hover: var(--md-sys-color-neutral-hover);
|
|
55
|
+
--a-canvas-active: var(--md-sys-color-neutral-active);
|
|
56
|
+
--a-canvas-selected: var(--md-sys-color-neutral-container-active);
|
|
57
|
+
|
|
58
|
+
/* Text on neutral surfaces — Material's on-surface family has 3 tiers
|
|
59
|
+
(on-surface / on-surface-variant / on-surface-disabled), compressing
|
|
60
|
+
the old 4-step hierarchy (strong/default/subtle/muted/disabled):
|
|
61
|
+
strong + default both collapse to on-surface; subtle + muted both
|
|
62
|
+
collapse to on-surface-variant. Visual hierarchy leans more on
|
|
63
|
+
font-weight + size where the old finer steps used to carry it. */
|
|
64
|
+
--a-canvas-text-strong: var(--md-sys-color-neutral-on-surface);
|
|
65
|
+
--a-canvas-text: var(--md-sys-color-neutral-on-surface);
|
|
66
|
+
--a-canvas-text-subtle: var(--md-sys-color-neutral-on-surface-variant);
|
|
67
|
+
--a-canvas-text-muted: var(--md-sys-color-neutral-on-surface-variant);
|
|
68
|
+
--a-canvas-text-disabled: var(--md-sys-color-neutral-on-surface-disabled);
|
|
69
|
+
--a-canvas-text-inverse: var(--md-sys-color-neutral-inverse-on-surface);
|
|
70
|
+
|
|
71
|
+
/* Inverse surface — Material ships this role directly now (was a
|
|
72
|
+
mechanical light-dark() swap of neutral-0 before). */
|
|
73
|
+
--a-canvas-surface-inverse: var(--md-sys-color-neutral-inverse-surface);
|
|
74
|
+
|
|
75
|
+
/* Luminance-direction surfaces (always darken relative to canvas background) */
|
|
76
|
+
--a-canvas-well: var(--md-sys-color-neutral-surface-low); /* sunken panels, code blocks */
|
|
77
|
+
--a-canvas-inset: var(--md-sys-color-neutral-background); /* recessed inputs, wells */
|
|
78
|
+
--a-canvas-pressed: var(--md-sys-color-neutral-surface-high); /* pressed/active button states */
|
|
79
|
+
/* well-strong: for a chip/inline surface that must read as its OWN
|
|
80
|
+
distinct object (not just a subtly-sunken panel) — e.g. inline code.
|
|
81
|
+
`-container` is the nearest static role carrying that same "own
|
|
82
|
+
object" contrast intent. */
|
|
83
|
+
--a-canvas-well-strong: var(--md-sys-color-neutral-container);
|
|
84
|
+
|
|
85
|
+
/* Borders on neutral surfaces */
|
|
86
|
+
--a-canvas-border-subtle: var(--md-sys-color-neutral-outline-variant);
|
|
87
|
+
--a-canvas-border: var(--md-sys-color-neutral-outline);
|
|
88
|
+
--a-canvas-border-strong: var(--md-sys-color-neutral-outline-active);
|
|
46
89
|
|
|
47
90
|
/* L3 — short-alias matrix (the consumable API for neutral surfaces) */
|
|
48
|
-
--a-bg: var(--
|
|
49
|
-
--a-bg-scrim: var(--
|
|
50
|
-
--a-bg-subtle: var(--
|
|
51
|
-
--a-bg-muted: var(--
|
|
52
|
-
--a-bg-strong: var(--
|
|
53
|
-
--a-bg-hover: var(--
|
|
54
|
-
--a-bg-active: var(--
|
|
55
|
-
--a-bg-selected: var(--
|
|
56
|
-
--a-bg-disabled: var(--
|
|
91
|
+
--a-bg: var(--md-sys-color-neutral-background);
|
|
92
|
+
--a-bg-scrim: var(--md-sys-color-neutral-scrim-weakest);
|
|
93
|
+
--a-bg-subtle: var(--md-sys-color-neutral-surface);
|
|
94
|
+
--a-bg-muted: var(--md-sys-color-neutral-container);
|
|
95
|
+
--a-bg-strong: var(--md-sys-color-neutral-surface-high);
|
|
96
|
+
--a-bg-hover: var(--md-sys-color-neutral-hover);
|
|
97
|
+
--a-bg-active: var(--md-sys-color-neutral-active);
|
|
98
|
+
--a-bg-selected: var(--md-sys-color-neutral-container-active);
|
|
99
|
+
--a-bg-disabled: var(--md-sys-color-neutral-container-disabled);
|
|
57
100
|
--a-bg-invalid: var(--a-danger-muted);
|
|
58
101
|
|
|
59
|
-
--a-fg: var(--
|
|
60
|
-
--a-fg-subtle: var(--
|
|
61
|
-
--a-fg-muted: var(--
|
|
62
|
-
--a-fg-strong: var(--
|
|
63
|
-
--a-fg-hover: var(--
|
|
102
|
+
--a-fg: var(--md-sys-color-neutral-on-surface);
|
|
103
|
+
--a-fg-subtle: var(--md-sys-color-neutral-on-surface-variant);
|
|
104
|
+
--a-fg-muted: var(--md-sys-color-neutral-on-surface-variant);
|
|
105
|
+
--a-fg-strong: var(--md-sys-color-neutral-on-surface);
|
|
106
|
+
--a-fg-hover: var(--md-sys-color-neutral-on-surface-hover);
|
|
64
107
|
/* ADR-0028: --a-fg-{active,invalid} retired (zero consumers). Use
|
|
65
108
|
`--a-ui-text-active` / `--a-ui-text-invalid` for form-control state,
|
|
66
109
|
or define a per-primitive `--<comp>-fg-{active,invalid}` token. */
|
|
67
|
-
--a-fg-selected: var(--
|
|
68
|
-
--a-fg-disabled: var(--
|
|
69
|
-
--a-fg-inverse: var(--
|
|
70
|
-
|
|
71
|
-
--a-border: var(--
|
|
72
|
-
--a-border-subtle: var(--
|
|
73
|
-
--a-border-strong: var(--
|
|
74
|
-
--a-border-hover: var(--
|
|
110
|
+
--a-fg-selected: var(--md-sys-color-neutral-on-surface-active);
|
|
111
|
+
--a-fg-disabled: var(--md-sys-color-neutral-on-surface-disabled);
|
|
112
|
+
--a-fg-inverse: var(--md-sys-color-neutral-inverse-on-surface);
|
|
113
|
+
|
|
114
|
+
--a-border: var(--md-sys-color-neutral-outline);
|
|
115
|
+
--a-border-subtle: var(--md-sys-color-neutral-outline-variant);
|
|
116
|
+
--a-border-strong: var(--md-sys-color-neutral-outline-active);
|
|
117
|
+
--a-border-hover: var(--md-sys-color-neutral-outline-hover);
|
|
75
118
|
/* ADR-0028: --a-border-{active,selected,disabled,invalid} retired (zero
|
|
76
119
|
consumers). Per-primitive `--<comp>-border-{state}` is the override
|
|
77
120
|
surface; `--a-focus-ring` carries focus-active borders for form
|
|
78
121
|
controls. */
|
|
79
122
|
|
|
80
123
|
/* ══════════════════════════════════════════════════════════════
|
|
81
|
-
|
|
124
|
+
PRIMARY — Interactive, links, focus (renamed from `accent`,
|
|
125
|
+
2026-07-14 — consolidates with the L3 CTA role names below, which
|
|
126
|
+
already used `primary`, and matches Material's single `primary`
|
|
127
|
+
family. See .claude/docs/specs/material-color-bridge-contract.md.
|
|
128
|
+
The `--a-accent-*` back-compat block that used to live further
|
|
129
|
+
down this file was removed in Phase 5 — see the file header. )
|
|
82
130
|
══════════════════════════════════════════════════════════════ */
|
|
83
131
|
|
|
84
|
-
/* L2 — family tokens
|
|
85
|
-
|
|
86
|
-
--a-
|
|
87
|
-
--a-
|
|
88
|
-
--a-
|
|
89
|
-
--a-
|
|
90
|
-
--a-
|
|
91
|
-
--a-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
--a-
|
|
104
|
-
--a-
|
|
105
|
-
--a-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
--a-
|
|
109
|
-
--a-
|
|
110
|
-
--a-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
--a-primary-bg
|
|
120
|
-
--a-primary-bg-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
--a-primary-fg
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
--a-primary-border-hover:
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
132
|
+
/* L2 — family tokens (re-sourced from --md-sys-color-primary-* static
|
|
133
|
+
export, 2026-07-14 — see file header) */
|
|
134
|
+
--a-primary-strong: var(--md-sys-color-primary-active);
|
|
135
|
+
--a-primary: var(--md-sys-color-primary);
|
|
136
|
+
--a-primary-subtle: var(--md-sys-color-primary-container-high);
|
|
137
|
+
--a-primary-muted: var(--md-sys-color-primary-container);
|
|
138
|
+
--a-primary-hover: var(--md-sys-color-primary-hover);
|
|
139
|
+
--a-primary-active: var(--md-sys-color-primary-active);
|
|
140
|
+
--a-primary-selected: var(--md-sys-color-primary);
|
|
141
|
+
|
|
142
|
+
/* Link family — Material's static export has no dedicated "link" role,
|
|
143
|
+
so this reuses the primary interactive triad directly: link = the
|
|
144
|
+
bare accent, link-hover = its hover state, link-visited = its active
|
|
145
|
+
state (reads as "already-visited, deeper" without a bespoke ramp). */
|
|
146
|
+
--a-link: var(--md-sys-color-primary);
|
|
147
|
+
--a-link-hover: var(--md-sys-color-primary-hover);
|
|
148
|
+
--a-link-visited: var(--md-sys-color-primary-active);
|
|
149
|
+
|
|
150
|
+
/* Primary text on primary solid bg — needs light text on dark-ish primary */
|
|
151
|
+
--a-primary-text-strong: var(--md-sys-color-primary-on-primary);
|
|
152
|
+
--a-primary-text: var(--md-sys-color-primary-on-surface);
|
|
153
|
+
--a-primary-text-subtle: var(--md-sys-color-primary-on-surface-variant);
|
|
154
|
+
--a-primary-text-disabled: var(--md-sys-color-primary-on-surface-disabled);
|
|
155
|
+
|
|
156
|
+
--a-primary-border-subtle: var(--md-sys-color-primary-outline-variant);
|
|
157
|
+
--a-primary-border: var(--md-sys-color-primary-outline);
|
|
158
|
+
--a-primary-border-strong: var(--md-sys-color-primary-outline-active);
|
|
159
|
+
|
|
160
|
+
/* L3 — CTA role matrix (filled buttons, checked controls). Sources
|
|
161
|
+
the renamed L2 family directly — no `accent` intermediate. The
|
|
162
|
+
`--a-accent-bg`/`-fg`/`-border*` L3 aliases that used to sit
|
|
163
|
+
parallel to this (for "primary-hued but not obviously the CTA")
|
|
164
|
+
are retired: Material's own role model expresses that need via
|
|
165
|
+
role choice — `-muted`/`-border` (soft/tinted) vs. this filled
|
|
166
|
+
`-bg`/`-fg` — not a second family name. */
|
|
167
|
+
--a-primary-bg: var(--a-primary);
|
|
168
|
+
--a-primary-bg-hover: var(--a-primary-hover);
|
|
169
|
+
--a-primary-bg-active: var(--a-primary-active);
|
|
170
|
+
|
|
171
|
+
--a-primary-fg: var(--a-primary-text-strong);
|
|
172
|
+
--a-primary-fg-hover: var(--a-primary-text-strong);
|
|
173
|
+
|
|
174
|
+
--a-primary-border-hover: var(--a-primary-border-strong);
|
|
175
|
+
--a-primary-container-disabled: var(--md-sys-color-primary-container-disabled);
|
|
176
|
+
|
|
177
|
+
/* `--a-accent-*` back-compat block REMOVED (2026-07-14, Phase 5): its
|
|
178
|
+
own stated removal condition — `grep -rn '\-\-a-accent-'` (excluding
|
|
179
|
+
this block) returns zero hits — is now met. The last 2 real
|
|
180
|
+
consumers (qa/gap-analysis/styles.css, .claude/docs/qa/component-
|
|
181
|
+
isolation.html — both QA tooling, not product code) were swept to
|
|
182
|
+
`--a-primary` directly. See
|
|
183
|
+
.claude/docs/specs/material-color-bridge-contract.md. */
|
|
184
|
+
|
|
185
|
+
/* Legacy shorthand `--a-primary`/`--a-primary-hover` ("keep until all
|
|
186
|
+
components migrate to --a-primary-bg/-hover") is no longer a
|
|
187
|
+
separate declaration: the renamed L2 family base above (line ~97,
|
|
188
|
+
100) already IS `--a-primary`/`--a-primary-hover` — both were
|
|
189
|
+
always value-identical to `--a-primary-bg`/`-bg-hover` (accent-50/
|
|
190
|
+
accent-40 transitively), so redeclaring them here would be a
|
|
191
|
+
same-name duplicate, last-wins, pure redundancy. Nothing for any
|
|
192
|
+
consumer changes: `var(--a-primary)` / `var(--a-primary-hover)`
|
|
193
|
+
resolve to the exact same value they always did. */
|
|
144
194
|
|
|
145
195
|
/* ══════════════════════════════════════════════════════════════
|
|
146
196
|
BRAND — Non-interactive identity color
|
|
@@ -178,23 +228,24 @@
|
|
|
178
228
|
INFO
|
|
179
229
|
══════════════════════════════════════════════════════════════ */
|
|
180
230
|
|
|
181
|
-
/* L2 — family tokens
|
|
182
|
-
|
|
183
|
-
--a-info:
|
|
184
|
-
--a-info
|
|
185
|
-
--a-info-
|
|
186
|
-
--a-info-
|
|
187
|
-
--a-info-
|
|
188
|
-
--a-info-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
--a-info-text:
|
|
192
|
-
--a-info-text
|
|
193
|
-
--a-info-text-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
--a-info-border:
|
|
197
|
-
--a-info-border
|
|
231
|
+
/* L2 — family tokens (re-sourced from --md-sys-color-info-* static
|
|
232
|
+
export, 2026-07-14 — see file header) */
|
|
233
|
+
--a-info-strong: var(--md-sys-color-info-active);
|
|
234
|
+
--a-info: var(--md-sys-color-info);
|
|
235
|
+
--a-info-subtle: var(--md-sys-color-info-container-high);
|
|
236
|
+
--a-info-muted: var(--md-sys-color-info-container);
|
|
237
|
+
--a-info-hover: var(--md-sys-color-info-hover);
|
|
238
|
+
--a-info-active: var(--md-sys-color-info-active);
|
|
239
|
+
--a-info-selected: var(--md-sys-color-info);
|
|
240
|
+
|
|
241
|
+
--a-info-text-strong: var(--md-sys-color-info-on-info);
|
|
242
|
+
--a-info-text: var(--md-sys-color-info-on-surface);
|
|
243
|
+
--a-info-text-subtle: var(--md-sys-color-info-on-surface-variant);
|
|
244
|
+
--a-info-text-disabled: var(--md-sys-color-info-on-surface-disabled);
|
|
245
|
+
|
|
246
|
+
--a-info-border-subtle: var(--md-sys-color-info-outline-variant);
|
|
247
|
+
--a-info-border: var(--md-sys-color-info-outline);
|
|
248
|
+
--a-info-border-strong: var(--md-sys-color-info-outline-active);
|
|
198
249
|
|
|
199
250
|
/* L3 — Info surface role matrix */
|
|
200
251
|
--a-info-bg: var(--a-info);
|
|
@@ -205,28 +256,30 @@
|
|
|
205
256
|
|
|
206
257
|
/* L3 border state matrix — rest state is --a-info-border (L2 above). */
|
|
207
258
|
--a-info-border-hover: var(--a-info-border-strong);
|
|
259
|
+
--a-info-container-disabled: var(--md-sys-color-info-container-disabled);
|
|
208
260
|
|
|
209
261
|
/* ══════════════════════════════════════════════════════════════
|
|
210
262
|
SUCCESS
|
|
211
263
|
══════════════════════════════════════════════════════════════ */
|
|
212
264
|
|
|
213
|
-
/* L2 — family tokens
|
|
214
|
-
|
|
215
|
-
--a-success:
|
|
216
|
-
--a-success
|
|
217
|
-
--a-success-
|
|
218
|
-
--a-success-
|
|
219
|
-
--a-success-
|
|
220
|
-
--a-success-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
--a-success-text:
|
|
224
|
-
--a-success-text
|
|
225
|
-
--a-success-text-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
--a-success-border:
|
|
229
|
-
--a-success-border
|
|
265
|
+
/* L2 — family tokens (re-sourced from --md-sys-color-success-* static
|
|
266
|
+
export, 2026-07-14 — see file header) */
|
|
267
|
+
--a-success-strong: var(--md-sys-color-success-active);
|
|
268
|
+
--a-success: var(--md-sys-color-success);
|
|
269
|
+
--a-success-subtle: var(--md-sys-color-success-container-high);
|
|
270
|
+
--a-success-muted: var(--md-sys-color-success-container);
|
|
271
|
+
--a-success-hover: var(--md-sys-color-success-hover);
|
|
272
|
+
--a-success-active: var(--md-sys-color-success-active);
|
|
273
|
+
--a-success-selected: var(--md-sys-color-success);
|
|
274
|
+
|
|
275
|
+
--a-success-text-strong: var(--md-sys-color-success-on-success);
|
|
276
|
+
--a-success-text: var(--md-sys-color-success-on-surface);
|
|
277
|
+
--a-success-text-subtle: var(--md-sys-color-success-on-surface-variant);
|
|
278
|
+
--a-success-text-disabled: var(--md-sys-color-success-on-surface-disabled);
|
|
279
|
+
|
|
280
|
+
--a-success-border-subtle: var(--md-sys-color-success-outline-variant);
|
|
281
|
+
--a-success-border: var(--md-sys-color-success-outline);
|
|
282
|
+
--a-success-border-strong: var(--md-sys-color-success-outline-active);
|
|
230
283
|
|
|
231
284
|
/* L3 — Success surface role matrix */
|
|
232
285
|
--a-success-bg: var(--a-success);
|
|
@@ -237,40 +290,40 @@
|
|
|
237
290
|
|
|
238
291
|
/* L3 border state matrix — rest state is --a-success-border (L2 above). */
|
|
239
292
|
--a-success-border-hover: var(--a-success-border-strong);
|
|
293
|
+
--a-success-container-disabled: var(--md-sys-color-success-container-disabled);
|
|
240
294
|
|
|
241
295
|
/* ══════════════════════════════════════════════════════════════
|
|
242
296
|
WARNING
|
|
243
297
|
══════════════════════════════════════════════════════════════ */
|
|
244
298
|
|
|
245
|
-
/* L2 — family tokens
|
|
246
|
-
|
|
247
|
-
--a-warning:
|
|
248
|
-
--a-warning
|
|
249
|
-
--a-warning-
|
|
250
|
-
--a-warning-
|
|
251
|
-
--a-warning-
|
|
252
|
-
--a-warning-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
caution-tape look in light + dark mode. */
|
|
299
|
+
/* L2 — family tokens (re-sourced from --md-sys-color-warning-* static
|
|
300
|
+
export, 2026-07-14 — see file header) */
|
|
301
|
+
--a-warning-strong: var(--md-sys-color-warning-active);
|
|
302
|
+
--a-warning: var(--md-sys-color-warning);
|
|
303
|
+
--a-warning-subtle: var(--md-sys-color-warning-container-high);
|
|
304
|
+
--a-warning-muted: var(--md-sys-color-warning-container);
|
|
305
|
+
--a-warning-hover: var(--md-sys-color-warning-hover);
|
|
306
|
+
--a-warning-active: var(--md-sys-color-warning-active);
|
|
307
|
+
--a-warning-selected: var(--md-sys-color-warning);
|
|
308
|
+
|
|
309
|
+
/* NOTE (2026-07-14): the old dark-text-on-light-warning override
|
|
310
|
+
(this file used to force `-text-strong` dark in both schemes,
|
|
311
|
+
because warning's yellow is light-colored) no longer applies —
|
|
312
|
+
`--md-sys-color-warning-on-warning` is the static export's own
|
|
313
|
+
role and, per Material's fixed-light-on-color rule, resolves
|
|
314
|
+
light in both schemes like every other family's on-color. This is
|
|
315
|
+
the reference file's own accepted design law, not a bug in this
|
|
316
|
+
mapping — verify visually if a warning chip reads low-contrast. */
|
|
317
|
+
--a-warning-text-strong: var(--md-sys-color-warning-on-warning);
|
|
318
|
+
--a-warning-text: var(--md-sys-color-warning-on-surface);
|
|
319
|
+
--a-warning-text-subtle: var(--md-sys-color-warning-on-surface-variant);
|
|
320
|
+
--a-warning-text-disabled: var(--md-sys-color-warning-on-surface-disabled);
|
|
321
|
+
|
|
322
|
+
--a-warning-border-subtle: var(--md-sys-color-warning-outline-variant);
|
|
323
|
+
--a-warning-border: var(--md-sys-color-warning-outline);
|
|
324
|
+
--a-warning-border-strong: var(--md-sys-color-warning-outline-active);
|
|
325
|
+
|
|
326
|
+
/* L3 — Warning surface role matrix */
|
|
274
327
|
--a-warning-bg: var(--a-warning);
|
|
275
328
|
--a-warning-bg-hover: var(--a-warning-hover);
|
|
276
329
|
|
|
@@ -279,30 +332,30 @@
|
|
|
279
332
|
|
|
280
333
|
/* L3 border state matrix — rest state is --a-warning-border (L2 above). */
|
|
281
334
|
--a-warning-border-hover: var(--a-warning-border-strong);
|
|
335
|
+
--a-warning-container-disabled: var(--md-sys-color-warning-container-disabled);
|
|
282
336
|
|
|
283
337
|
/* ══════════════════════════════════════════════════════════════
|
|
284
338
|
DANGER
|
|
285
339
|
══════════════════════════════════════════════════════════════ */
|
|
286
340
|
|
|
287
|
-
/* L2 — family tokens
|
|
288
|
-
|
|
289
|
-
--a-danger:
|
|
290
|
-
--a-danger
|
|
291
|
-
--a-danger-
|
|
292
|
-
--a-danger-
|
|
293
|
-
--a-danger-
|
|
294
|
-
--a-danger-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
--a-danger-text
|
|
299
|
-
--a-danger-text:
|
|
300
|
-
--a-danger-text-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
--a-danger-border
|
|
304
|
-
--a-danger-border:
|
|
305
|
-
--a-danger-border-strong: var(--a-danger-60);
|
|
341
|
+
/* L2 — family tokens (re-sourced from --md-sys-color-danger-* static
|
|
342
|
+
export, 2026-07-14 — see file header) */
|
|
343
|
+
--a-danger-strong: var(--md-sys-color-danger-active);
|
|
344
|
+
--a-danger: var(--md-sys-color-danger);
|
|
345
|
+
--a-danger-subtle: var(--md-sys-color-danger-container-high);
|
|
346
|
+
--a-danger-muted: var(--md-sys-color-danger-container);
|
|
347
|
+
--a-danger-hover: var(--md-sys-color-danger-hover);
|
|
348
|
+
--a-danger-active: var(--md-sys-color-danger-active);
|
|
349
|
+
--a-danger-selected: var(--md-sys-color-danger);
|
|
350
|
+
|
|
351
|
+
--a-danger-text-strong: var(--md-sys-color-danger-on-danger);
|
|
352
|
+
--a-danger-text: var(--md-sys-color-danger-on-surface);
|
|
353
|
+
--a-danger-text-subtle: var(--md-sys-color-danger-on-surface-variant);
|
|
354
|
+
--a-danger-text-disabled: var(--md-sys-color-danger-on-surface-disabled);
|
|
355
|
+
|
|
356
|
+
--a-danger-border-subtle: var(--md-sys-color-danger-outline-variant);
|
|
357
|
+
--a-danger-border: var(--md-sys-color-danger-outline);
|
|
358
|
+
--a-danger-border-strong: var(--md-sys-color-danger-outline-active);
|
|
306
359
|
|
|
307
360
|
/* L3 — Danger surface role matrix */
|
|
308
361
|
--a-danger-bg: var(--a-danger);
|
|
@@ -313,5 +366,73 @@
|
|
|
313
366
|
|
|
314
367
|
/* L3 border state matrix — rest state is --a-danger-border (L2 above). */
|
|
315
368
|
--a-danger-border-hover: var(--a-danger-border-strong);
|
|
369
|
+
--a-danger-container-disabled: var(--md-sys-color-danger-container-disabled);
|
|
370
|
+
|
|
371
|
+
/* ══════════════════════════════════════════════════════════════
|
|
372
|
+
SECONDARY
|
|
373
|
+
══════════════════════════════════════════════════════════════ */
|
|
374
|
+
|
|
375
|
+
/* L2 — family tokens (re-sourced from --md-sys-color-secondary-* static
|
|
376
|
+
export, 2026-07-14 — see file header) */
|
|
377
|
+
--a-secondary-strong: var(--md-sys-color-secondary-active);
|
|
378
|
+
--a-secondary: var(--md-sys-color-secondary);
|
|
379
|
+
--a-secondary-subtle: var(--md-sys-color-secondary-container-high);
|
|
380
|
+
--a-secondary-muted: var(--md-sys-color-secondary-container);
|
|
381
|
+
--a-secondary-hover: var(--md-sys-color-secondary-hover);
|
|
382
|
+
--a-secondary-active: var(--md-sys-color-secondary-active);
|
|
383
|
+
--a-secondary-selected: var(--md-sys-color-secondary);
|
|
384
|
+
|
|
385
|
+
--a-secondary-text-strong: var(--md-sys-color-secondary-on-secondary);
|
|
386
|
+
--a-secondary-text: var(--md-sys-color-secondary-on-surface);
|
|
387
|
+
--a-secondary-text-subtle: var(--md-sys-color-secondary-on-surface-variant);
|
|
388
|
+
--a-secondary-text-disabled: var(--md-sys-color-secondary-on-surface-disabled);
|
|
389
|
+
|
|
390
|
+
--a-secondary-border-subtle: var(--md-sys-color-secondary-outline-variant);
|
|
391
|
+
--a-secondary-border: var(--md-sys-color-secondary-outline);
|
|
392
|
+
--a-secondary-border-strong: var(--md-sys-color-secondary-outline-active);
|
|
393
|
+
|
|
394
|
+
/* L3 — Secondary surface role matrix */
|
|
395
|
+
--a-secondary-bg: var(--a-secondary);
|
|
396
|
+
--a-secondary-bg-hover: var(--a-secondary-hover);
|
|
397
|
+
|
|
398
|
+
--a-secondary-fg: var(--a-secondary-text-strong);
|
|
399
|
+
--a-secondary-fg-hover: var(--a-secondary-text-strong);
|
|
400
|
+
|
|
401
|
+
/* L3 border state matrix — rest state is --a-secondary-border (L2 above). */
|
|
402
|
+
--a-secondary-border-hover: var(--a-secondary-border-strong);
|
|
403
|
+
--a-secondary-container-disabled: var(--md-sys-color-secondary-container-disabled);
|
|
404
|
+
|
|
405
|
+
/* ══════════════════════════════════════════════════════════════
|
|
406
|
+
TERTIARY
|
|
407
|
+
══════════════════════════════════════════════════════════════ */
|
|
316
408
|
|
|
409
|
+
/* L2 — family tokens (re-sourced from --md-sys-color-tertiary-* static
|
|
410
|
+
export, 2026-07-14 — see file header) */
|
|
411
|
+
--a-tertiary-strong: var(--md-sys-color-tertiary-active);
|
|
412
|
+
--a-tertiary: var(--md-sys-color-tertiary);
|
|
413
|
+
--a-tertiary-subtle: var(--md-sys-color-tertiary-container-high);
|
|
414
|
+
--a-tertiary-muted: var(--md-sys-color-tertiary-container);
|
|
415
|
+
--a-tertiary-hover: var(--md-sys-color-tertiary-hover);
|
|
416
|
+
--a-tertiary-active: var(--md-sys-color-tertiary-active);
|
|
417
|
+
--a-tertiary-selected: var(--md-sys-color-tertiary);
|
|
418
|
+
|
|
419
|
+
--a-tertiary-text-strong: var(--md-sys-color-tertiary-on-tertiary);
|
|
420
|
+
--a-tertiary-text: var(--md-sys-color-tertiary-on-surface);
|
|
421
|
+
--a-tertiary-text-subtle: var(--md-sys-color-tertiary-on-surface-variant);
|
|
422
|
+
--a-tertiary-text-disabled: var(--md-sys-color-tertiary-on-surface-disabled);
|
|
423
|
+
|
|
424
|
+
--a-tertiary-border-subtle: var(--md-sys-color-tertiary-outline-variant);
|
|
425
|
+
--a-tertiary-border: var(--md-sys-color-tertiary-outline);
|
|
426
|
+
--a-tertiary-border-strong: var(--md-sys-color-tertiary-outline-active);
|
|
427
|
+
|
|
428
|
+
/* L3 — Tertiary surface role matrix */
|
|
429
|
+
--a-tertiary-bg: var(--a-tertiary);
|
|
430
|
+
--a-tertiary-bg-hover: var(--a-tertiary-hover);
|
|
431
|
+
|
|
432
|
+
--a-tertiary-fg: var(--a-tertiary-text-strong);
|
|
433
|
+
--a-tertiary-fg-hover: var(--a-tertiary-text-strong);
|
|
434
|
+
|
|
435
|
+
/* L3 border state matrix — rest state is --a-tertiary-border (L2 above). */
|
|
436
|
+
--a-tertiary-border-hover: var(--a-tertiary-border-strong);
|
|
437
|
+
--a-tertiary-container-disabled: var(--md-sys-color-tertiary-container-disabled);
|
|
317
438
|
}
|