@adia-ai/web-components 0.7.16 → 0.7.17

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 CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog — @adia-ai/web-components
2
2
 
3
+ ## [0.7.17] — 2026-06-08
4
+
5
+ ### Fixed
6
+ - **`badge-ui` / `tag-ui` — icon-bearing chips no longer inflate row height.** Capped the inner `icon-ui` block-size to the text line-height (`components/badge/badge.css` `0.75em`, `components/tag/tag.css` `1em`) so a leading icon can't push the chip taller than a text-only one. Plus an `[icon]`-gated spacing tighten — reduced leading padding (`--a-space-1`) + a `~0.2em` icon↔label gap so the icon + label read as one tight unit; text-only chips unchanged. `dist/web-components.min.{css,js}` + `.sheet.js` regenerated to match.
7
+
3
8
  ## [0.7.16] — 2026-06-08
4
9
 
5
10
  ### Changed
@@ -45,13 +45,27 @@
45
45
 
46
46
  /* Leading icon stamped by JS (when [icon] is set). Inherits the badge's
47
47
  foreground color so legend chips read as a single color-coded unit
48
- (e.g. accent variant → accent-colored dot + accent-colored label). */
48
+ (e.g. accent variant → accent-colored dot + accent-colored label).
49
+ ICON-HEIGHT FIX: cap the icon block-size so it cannot exceed the text
50
+ line-height. `line-height:1` on the badge drives the block size via
51
+ the text glyph; an icon taller than 1em would inflate the row. */
49
52
  :scope > icon-ui {
50
53
  --a-icon-size: 0.75em;
54
+ block-size: 0.75em;
51
55
  color: currentColor;
52
56
  flex-shrink: 0;
53
57
  }
54
58
 
59
+ /* ── Icon-badge spacing rebalance (B0) ──
60
+ Symmetric --badge-px looks loose / left-heavy when a leading icon is present:
61
+ the icon's own visual mass eats into the left breathing room. Tighten the
62
+ leading pad to --a-space-1 (4px) and narrow the gap to ~0.2em so the icon+label
63
+ read as ONE tight unit. Gated on [icon] so text-only badges are unaffected. */
64
+ :scope[icon] {
65
+ padding-inline-start: var(--badge-px-icon, var(--a-space-1));
66
+ gap: var(--badge-gap-icon, 0.2em);
67
+ }
68
+
55
69
  /* ── Variants ──
56
70
  Badge fg pairs with the muted (tinted) bg — use --a-{family}-text, which
57
71
  flips with scheme (shade in light, tint in dark) for proper contrast.
@@ -189,10 +189,25 @@ tag-ui[removable]:not([disabled]):hover {
189
189
  /* ── Slotted icons (leading) ──
190
190
  Icons placed inside the tag (e.g. `<icon-ui name="check">`) inherit
191
191
  the host's text color so legend / status chips read as a single
192
- color-coded unit. Mirrors `<badge-ui>`'s convention. */
192
+ color-coded unit. Mirrors `<badge-ui>`'s convention.
193
+ ICON-HEIGHT FIX: cap the icon at 1em so it never exceeds the text
194
+ line-height and inflates the row. The icon is visual decoration on
195
+ a text chip — it must not drive the block size. `flex-none` prevents
196
+ it from growing or shrinking; `flex-shrink:0` is already here. */
193
197
  :scope > icon-ui {
194
198
  color: currentColor;
195
199
  flex-shrink: 0;
200
+ --a-icon-size: 1em;
201
+ block-size: 1em;
202
+ }
203
+
204
+ /* ── Icon-tag spacing rebalance (B0) ──
205
+ Mirrors badge-ui's [icon] rebalance: tighten leading pad + narrow gap when
206
+ a leading icon is present, so the icon+label read as one tight unit.
207
+ Gated on :has(> icon-ui) to leave text-only tags unaffected. */
208
+ :scope:has(> icon-ui) {
209
+ padding-inline-start: var(--tag-px-icon, var(--a-space-1));
210
+ gap: var(--tag-gap-icon, 0.2em);
196
211
  }
197
212
 
198
213
  /* ── Dismiss button ── */