@adia-ai/web-components 0.8.27 → 0.8.29
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 +14 -0
- package/components/icon/icon.a2ui.json +14 -0
- package/components/icon/icon.class.js +2 -0
- package/components/icon/icon.css +16 -1
- package/components/icon/icon.d.ts +2 -0
- package/components/icon/icon.yaml +24 -0
- package/dist/theme-provider.min.js +1 -1
- package/dist/web-components.min.css +1 -1
- package/dist/web-components.min.js +68 -68
- package/dist/web-components.sheet.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog — @adia-ai/web-components
|
|
2
2
|
|
|
3
|
+
## [0.8.29] — 2026-08-06
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **`icon-ui` gains `tone`** — semantic color roles (accent/info/success/warning/danger/muted/neutral) matching badge-ui's vocabulary, mapped to the L3 role text tokens; default `""` inherits currentColor, zero behavior change for existing consumers. Wire-valid through the regenerated A2UI sidecar/catalog (gh#652, PR #658).
|
|
7
|
+
|
|
8
|
+
### Maintenance
|
|
9
|
+
- **`components/` touched in this release window** (6 file(s), e.g. `icon/icon.a2ui.json`) — carried by the entries above.
|
|
10
|
+
- **`dist/` bundles rebuilt** in this cut's window (4 file(s)) — regenerated from the source changes described above, not independent edits.
|
|
11
|
+
|
|
12
|
+
## [0.8.28] — 2026-08-05
|
|
13
|
+
|
|
14
|
+
### Maintenance
|
|
15
|
+
- **Lockstep version bump only.** No source changes in this package; bumped to maintain the lockstep version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.28 work shipped in sideEffects tree-shaking fix + CSS barrel regen (gh#625/632). See `0828--2026-08-05` for details.
|
|
16
|
+
|
|
3
17
|
## [0.8.27] — 2026-08-05
|
|
4
18
|
|
|
5
19
|
### Added
|
|
@@ -31,6 +31,20 @@
|
|
|
31
31
|
"type": "string",
|
|
32
32
|
"default": ""
|
|
33
33
|
},
|
|
34
|
+
"tone": {
|
|
35
|
+
"description": "Semantic color role. Empty (default) inherits currentColor — unchanged from pre-tone behavior. Maps to the L3 role text tokens (--a-{family}-text / --a-fg-muted). Vocabulary mirrors <badge-ui>'s [variant] enum so a status color reads the same whether it comes from a Badge chip or a bare status/trend icon.",
|
|
36
|
+
"type": "string",
|
|
37
|
+
"enum": [
|
|
38
|
+
"accent",
|
|
39
|
+
"info",
|
|
40
|
+
"success",
|
|
41
|
+
"warning",
|
|
42
|
+
"danger",
|
|
43
|
+
"muted",
|
|
44
|
+
"neutral"
|
|
45
|
+
],
|
|
46
|
+
"default": ""
|
|
47
|
+
},
|
|
34
48
|
"weight": {
|
|
35
49
|
"description": "Icon weight — selects the Phosphor weight variant (thin/light/regular/bold/fill/duotone).",
|
|
36
50
|
"type": "string",
|
|
@@ -53,6 +53,8 @@ export class UIIcon extends UIElement {
|
|
|
53
53
|
label: { type: String, default: '', reflect: true },
|
|
54
54
|
/** regular | thin | light | bold | fill | duotone */
|
|
55
55
|
weight: { type: String, default: 'regular', reflect: true },
|
|
56
|
+
/** '' | accent | info | success | warning | danger | muted | neutral */
|
|
57
|
+
tone: { type: String, default: '', reflect: true },
|
|
56
58
|
};
|
|
57
59
|
|
|
58
60
|
// Incremented when the icon registry becomes ready so the reactive
|
package/components/icon/icon.css
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
@scope (icon-ui) {
|
|
2
2
|
:where(:scope) {
|
|
3
|
-
--icon-size:
|
|
3
|
+
--icon-size: var(--a-icon-size, calc(1em + 0.125rem));
|
|
4
|
+
--icon-color: currentColor;
|
|
4
5
|
}
|
|
5
6
|
|
|
6
7
|
:scope {
|
|
@@ -10,6 +11,7 @@
|
|
|
10
11
|
justify-content: center;
|
|
11
12
|
width: var(--icon-size);
|
|
12
13
|
height: var(--icon-size);
|
|
14
|
+
color: var(--icon-color);
|
|
13
15
|
flex-shrink: 0;
|
|
14
16
|
line-height: 0;
|
|
15
17
|
}
|
|
@@ -25,4 +27,17 @@
|
|
|
25
27
|
placeholders, fill-the-parent) use the free-form string prop
|
|
26
28
|
(size="48", size="3rem", size="100%"), which sets --icon-size
|
|
27
29
|
inline from icon.class.js. */
|
|
30
|
+
|
|
31
|
+
/* ── Tone (override --icon-color) ────────────────────────────────
|
|
32
|
+
Consumes the L3 role text tokens — same source badge-ui's `muted`
|
|
33
|
+
(default) variant reads — so a tone-carrying icon matches an
|
|
34
|
+
equivalent Badge chip's foreground color exactly. `accent` maps
|
|
35
|
+
to the primary family per badge-ui's `accent` variant. */
|
|
36
|
+
:scope[tone="accent"] { --icon-color: var(--a-primary-text); }
|
|
37
|
+
:scope[tone="info"] { --icon-color: var(--a-info-text); }
|
|
38
|
+
:scope[tone="success"] { --icon-color: var(--a-success-text); }
|
|
39
|
+
:scope[tone="warning"] { --icon-color: var(--a-warning-text); }
|
|
40
|
+
:scope[tone="danger"] { --icon-color: var(--a-danger-text); }
|
|
41
|
+
:scope[tone="muted"],
|
|
42
|
+
:scope[tone="neutral"] { --icon-color: var(--a-fg-muted); }
|
|
28
43
|
}
|
|
@@ -19,6 +19,8 @@ export class UIIcon extends UIElement {
|
|
|
19
19
|
name: string;
|
|
20
20
|
/** Icon size. Named tiers `sm` 14px / `md` 16px / `lg` 20px ride the universal `[size]` system (`--a-icon-size`), which the ancestor `[scale]` tiers re-table. Anything beyond the row is a free-form pixel / rem / em / percent string ("48", "3rem", "1.25em", "100%" fills the parent box). */
|
|
21
21
|
size: string;
|
|
22
|
+
/** Semantic color role. Empty (default) inherits currentColor — unchanged from pre-tone behavior. Maps to the L3 role text tokens (--a-{family}-text / --a-fg-muted). Vocabulary mirrors <badge-ui>'s [variant] enum so a status color reads the same whether it comes from a Badge chip or a bare status/trend icon. */
|
|
23
|
+
tone: 'accent' | 'info' | 'success' | 'warning' | 'danger' | 'muted' | 'neutral';
|
|
22
24
|
/** Icon weight — selects the Phosphor weight variant (thin/light/regular/bold/fill/duotone). */
|
|
23
25
|
weight: 'thin' | 'light' | 'regular' | 'bold' | 'fill' | 'duotone';
|
|
24
26
|
}
|
|
@@ -37,6 +37,24 @@ props:
|
|
|
37
37
|
default: regular
|
|
38
38
|
reflect: true
|
|
39
39
|
enum: [thin, light, regular, bold, fill, duotone]
|
|
40
|
+
tone:
|
|
41
|
+
description: >-
|
|
42
|
+
Semantic color role. Empty (default) inherits currentColor —
|
|
43
|
+
unchanged from pre-tone behavior. Maps to the L3 role text tokens
|
|
44
|
+
(--a-{family}-text / --a-fg-muted). Vocabulary mirrors <badge-ui>'s
|
|
45
|
+
[variant] enum so a status color reads the same whether it comes
|
|
46
|
+
from a Badge chip or a bare status/trend icon.
|
|
47
|
+
type: string
|
|
48
|
+
default: ""
|
|
49
|
+
enum:
|
|
50
|
+
- accent
|
|
51
|
+
- info
|
|
52
|
+
- success
|
|
53
|
+
- warning
|
|
54
|
+
- danger
|
|
55
|
+
- muted
|
|
56
|
+
- neutral
|
|
57
|
+
reflect: true
|
|
40
58
|
events: {}
|
|
41
59
|
slots: {}
|
|
42
60
|
states:
|
|
@@ -71,6 +89,12 @@ a2ui:
|
|
|
71
89
|
Use [weight="fill"] for selected / active toggles,
|
|
72
90
|
[weight="regular"] (default) for inactive. Do not mix weights
|
|
73
91
|
in the same set; the visual inconsistency reads as a bug.
|
|
92
|
+
- >-
|
|
93
|
+
Set [tone] to carry semantic color independent of the parent's
|
|
94
|
+
text color — e.g. a trend arrow icon that must read
|
|
95
|
+
success/warning/danger regardless of surrounding row color.
|
|
96
|
+
Leave [tone] unset when the icon should just inherit the
|
|
97
|
+
ambient text color (the common case).
|
|
74
98
|
anti_patterns: []
|
|
75
99
|
examples:
|
|
76
100
|
- name: command-palette
|