@adia-ai/web-components 0.7.3 → 0.7.4
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 +22 -0
- package/components/accordion/accordion.css +2 -2
- package/components/action-list/action-list.css +2 -2
- package/components/agent-artifact/agent-artifact.css +31 -31
- package/components/agent-feedback-bar/agent-feedback-bar.css +10 -10
- package/components/agent-questions/agent-questions.css +59 -57
- package/components/agent-reasoning/agent-reasoning.css +54 -54
- package/components/agent-suggestions/agent-suggestions.css +4 -4
- package/components/agent-trace/agent-trace.css +53 -53
- package/components/alert/alert.css +53 -53
- package/components/avatar/avatar.css +27 -27
- package/components/badge/badge.css +56 -53
- package/components/block/block.css +16 -16
- package/components/blockquote/blockquote.css +16 -16
- package/components/breadcrumb/breadcrumb.css +23 -23
- package/components/button/button.css +99 -100
- package/components/calendar-grid/calendar-grid.css +95 -92
- package/components/calendar-picker/calendar-picker.css +141 -139
- package/components/canvas/canvas.css +12 -12
- package/components/card/card.css +83 -83
- package/components/chart/chart.css +218 -218
- package/components/chart-legend/chart-legend.css +26 -26
- package/components/check/check.css +40 -40
- package/components/code/code.css +125 -125
- package/components/col/col.css +15 -15
- package/components/color-picker/color-picker.css +55 -55
- package/components/combobox/combobox.css +64 -62
- package/components/command/command.css +91 -91
- package/components/context-menu/context-menu.css +1 -1
- package/components/date-range-picker/date-range-picker.css +59 -59
- package/components/datetime-picker/datetime-picker.css +25 -25
- package/components/demo-toggle/demo-toggle.css +27 -27
- package/components/description-list/description-list.css +18 -18
- package/components/divider/divider.css +24 -24
- package/components/embed/embed.css +6 -6
- package/components/empty-state/empty-state.css +29 -29
- package/components/feed/feed.css +12 -12
- package/components/field/field.css +28 -28
- package/components/field/field.test.js +2 -2
- package/components/fields/fields.css +5 -5
- package/components/grid/grid.a2ui.json +10 -0
- package/components/grid/grid.css +23 -5
- package/components/grid/grid.d.ts +4 -0
- package/components/grid/grid.yaml +13 -0
- package/components/heatmap/heatmap.css +61 -61
- package/components/icon/icon.css +12 -12
- package/components/image/image.css +14 -14
- package/components/inline-edit/inline-edit.css +16 -16
- package/components/inline-message/inline-message.css +16 -16
- package/components/input/input.css +69 -66
- package/components/inspector/inspector.css +6 -6
- package/components/integration-card/integration-card.css +41 -41
- package/components/integration-card/integration-card.test.js +4 -4
- package/components/kbd/kbd.css +47 -40
- package/components/link/link.css +12 -12
- package/components/list/list.css +8 -8
- package/components/list-window/list-window.css +10 -10
- package/components/loading-overlay/loading-overlay.css +17 -18
- package/components/loading-overlay/loading-overlay.test.js +8 -8
- package/components/mark/mark.css +16 -16
- package/components/menu/menu.css +9 -9
- package/components/modal/modal.class.js +5 -9
- package/components/modal/modal.css +43 -43
- package/components/nav/nav.css +40 -40
- package/components/nav-group/nav-group.css +54 -54
- package/components/nav-item/nav-item.css +44 -44
- package/components/noodles/noodles.css +31 -31
- package/components/number-format/number-format.css +4 -4
- package/components/option-card/option-card.css +70 -70
- package/components/otp-input/otp-input.css +29 -29
- package/components/page/page.a2ui.json +1 -1
- package/components/page/page.css +27 -27
- package/components/page/page.d.ts +1 -1
- package/components/page/page.yaml +1 -1
- package/components/pagination/pagination.css +6 -6
- package/components/pane/pane.css +57 -57
- package/components/password-strength/password-strength.css +32 -32
- package/components/pipeline-status/pipeline-status.css +67 -67
- package/components/popover/popover.css +11 -11
- package/components/preview/preview.css +21 -21
- package/components/progress/progress.css +23 -23
- package/components/progress-row/progress-row.css +17 -17
- package/components/qr-code/qr-code.css +4 -4
- package/components/radio/radio.css +39 -39
- package/components/range/range.css +58 -55
- package/components/rating/rating.css +28 -28
- package/components/relative-time/relative-time.css +6 -6
- package/components/richtext/richtext.css +133 -133
- package/components/row/row.css +19 -19
- package/components/search/search.css +5 -5
- package/components/segment/segment.css +29 -24
- package/components/segmented/segmented.css +30 -25
- package/components/select/select.css +95 -93
- package/components/skeleton/skeleton.css +14 -14
- package/components/skip-nav/skip-nav.css +4 -4
- package/components/slider/slider.css +61 -61
- package/components/spinner/spinner.css +40 -40
- package/components/spinner/spinner.test.js +10 -12
- package/components/stack/stack.css +11 -11
- package/components/stat/stat.css +27 -27
- package/components/step-progress/step-progress.css +20 -20
- package/components/stepper/stepper.css +29 -29
- package/components/stream/stream.css +12 -12
- package/components/swatch/swatch.css +68 -68
- package/components/swiper/swiper.class.js +5 -12
- package/components/swiper/swiper.css +57 -57
- package/components/switch/switch.css +53 -53
- package/components/table/table.css +166 -163
- package/components/table-toolbar/table-toolbar.css +33 -33
- package/components/tabs/tabs.css +54 -51
- package/components/tag/tag.css +74 -71
- package/components/tag/tag.test.js +14 -14
- package/components/tags-input/tags-input.css +51 -49
- package/components/text/text.css +44 -44
- package/components/textarea/textarea.css +49 -46
- package/components/time-picker/time-picker.css +47 -47
- package/components/timeline/timeline.css +54 -54
- package/components/toast/toast.css +58 -58
- package/components/toc/toc.css +28 -28
- package/components/toggle-group/toggle-group.css +9 -6
- package/components/toggle-scheme/toggle-scheme.css +2 -2
- package/components/toolbar/toolbar.css +18 -18
- package/components/tooltip/tooltip.css +2 -2
- package/components/tour/tour.css +4 -4
- package/components/tree/tree.css +37 -37
- package/components/upload/upload.css +49 -49
- package/dist/host.min.css +1 -0
- package/dist/web-components.min.css +1 -1
- package/dist/web-components.min.js +2 -2
- package/package.json +1 -1
- package/styles/foundation/space.css +19 -18
- package/styles/host.css +48 -0
- package/styles/prose.css +187 -173
- package/styles/type/scale.css +6 -0
- package/styles/typography.css +10 -5
- package/styles/verse.css +122 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# Changelog — @adia-ai/web-components
|
|
2
2
|
|
|
3
|
+
## [0.7.4] — 2026-06-02
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- **`[verse]` — third typographic register (compact / dense)** — a sibling to `[prose]`: where prose shifts everything UP (long-form), verse shifts DOWN — tight inset/gap (10/12/14), small controls (18/20/24), small type (body 11/12/13), tight radius (≤16px) — for dense product UI (inspectors, tables, toolbars, side rails). Opt-in context layer (`styles/verse.css`), linked alongside `prose.css`. Type SHIFTS with `[size]` (unlike `[prose]`, which pins type at -md — verse re-declares the `-size` pointers under `[verse]:not([size])` so a bare verse resolves verse's own md value, then the global `[size]` rules shift sm/lg); gap is parametric (`value × --a-gap-k`). Docs: a "Typography registers" comparison section on the card / button / text / field / badge / stat pages, and `typography.css` now documents all three registers. Verified by `scripts/qa/register-scale-probe.mjs`.
|
|
8
|
+
- **`<grid-ui>` `[align]` / `[justify]` item-alignment props** — grid-ui now supports `align` (block axis → `align-items`) and `justify` (inline axis → `justify-items`), reaching parity with `row-ui` / `col-ui` (which already had `align`). e.g. `<grid-ui columns="2" align="center">` vertically centers a text column against a product visual in a split hero. CSS-only (attribute selectors); yaml + `.d.ts` + a2ui sidecar regenerated.
|
|
9
|
+
- **`styles/host.css` — single drop-in host-page foundation** — one `<link>` bundles design tokens + every component's CSS + global resets (via the canonical `index.css` barrel) + a page-frame (`:where(html)` background / foreground / font-family / `min-block-size`). Replaces the hand-rolled `:where(html, body){ … font-family: var(--a-font) }` boilerplate that ~281 demo scaffolds copy-paste. Opt-in layers (themes, prose) + per-module CSS (FB-53) stay explicit on top. `site/index.html` migrated (tokens+components+resets → host.css; verified pixel-identical render). Composes the byte-stable `/css` entry, adds the page-frame above it; CDN bundle at `dist/host.min.css` (`bundle-css.mjs`). (ADR-0035 / ADR-0038)
|
|
10
|
+
- **`--a-font` back-compat alias** (`type/scale.css`: `--a-font: var(--a-font-family)`) — the pre-ADR-0035 token name was renamed to `--a-font-family` but left dangling in ~285 references (demo boilerplate + embedded apps + external consumers). An undefined `var(--a-font)` is invalid-at-computed-value-time → `inherit` → UA **serif**; the alias resolves them to the sans stack. DEPRECATED — prefer `--a-font-family`; retire after the host.css migration retires the boilerplate.
|
|
11
|
+
- **`font-family` floor on 25 text-bearing primitives** — `segmented` / `segment` / `badge` / `button` / `tag` / `input` / `textarea` / `select` / `combobox` / `tags-input` / `tabs` / `toggle-group` / `range` / `table` / `calendar-grid` / `calendar-picker` / `agent-questions` / `command` / `context-menu` / `menu` / `table-toolbar` / `time-picker` / `toolbar` / `tour` + the `onboarding-checklist` module. Each anchors `font-family` to `var(--a-font-family-ui)` — composites (`select` / `combobox` / `tags-input` / `table` / `calendar-picker`) floor the host `:scope` so internal fields/options/cells inherit it; the rest use the `var(--X-font-family, var(--X-font-family-default))` chain (mirroring `text-ui`). Per-component overridable. `inline-edit` + `spinner` intentionally keep `inherit` (must match surrounding content).
|
|
12
|
+
- **New trip-wire `audit:font-family-floor[:strict]`** (`scripts/dev/audit-font-family-floor.mjs`) — flags component CSS using `font: inherit` / `font-family: inherit` without a token floor, plus dead `var(--a-font)` usage. Surfaced 8 of the 25 fixes that manual grep missed; ships green (0 critical, 2 allowlisted).
|
|
13
|
+
|
|
14
|
+
### Changed
|
|
15
|
+
|
|
16
|
+
- **Reverted the OD-5 `-default` token-shadowing layer — component CSS now declares a single un-suffixed token per property** — `var(--card-bg, var(--card-bg-default))` → `var(--card-bg)` across 119 component + module CSS files; variants/states re-point the un-suffixed `--<component>-*` token directly (`:where(:scope)` keeps the base at zero specificity). The 2026-05-24 OD-5 split (internal `--<c>-X-default` + public `--<c>-X` read through a fallback chain) added read-past noise without paying for itself: the one capability it bought — ancestor-surface inheritance of *component-named* tokens — had no real usage (a repo sweep found only on-element attribute hooks + parent→child composition, both of which win by specificity and survive). **Consumer overriding is unchanged** for the four real vectors (`--a-*` upstream · on-element `card-ui { --card-bg: … }` / inline · parent→child composition · `@layer overrides`); the *only* behavior change is that a `--<component>-*` token set on a non-targeting **ancestor** no longer inherits in (theme via `--a-*` or `@layer overrides`). No public component/prop API change. Inverse codemod `scripts/refactor/undo-od5-token-shadowing.mjs` (2-level + 3-level chain collapse, precise pair-derived strip, collision-safe residual rewire); forward `od5-token-shadowing.mjs` retired; `docs/specs/component-token-contract.md` rewritten (§History). Internal: `modal`/`swiper` `getComputedStyle` reads + 5 CSS-string-match tests re-pointed to the un-suffixed names. Verified: suite 1526/1526, `components --verify` clean, bundles fresh, visual QA (composition intact).
|
|
17
|
+
- **Typographic registers re-scaled — regular (default) + prose (MINOR behavior change)** — the regular register's inset compressed `8/16/24 → 14/16/18` and its gap re-based to a clean `value × --a-gap-k` multiplier (`8/12/16 → 10/12/14`, replacing the `half+half·k` form); `md` (the default tier) is unchanged for both, so only `[size=sm]`/`[size=lg]` containers shift. Prose moved one rung up (inset → 32/40/48, gap → 16/20/24). **Radius is now a register-scaled axis** — each register sets its own `--a-radius-min/max` (verse ≤16px · regular 20px=base · prose ≤28px) feeding the existing `clamp(min, k·max·tier-k, max)` formula. All values verified by `scripts/qa/register-scale-probe.mjs` (9 cells × 5 axes).
|
|
18
|
+
- **Demo scaffolds migrated to the `--a-font-family` token** — the ~114 `patterns/` + `traits/` demo `.html` scaffolds (plus the per-component demos) swapped their hand-rolled `:where(html, body) { font-family: var(--a-font) }` boilerplate to `var(--a-font-family)`, tracking the font-family-floor token rename; `patterns/search-discovery` additionally dropped a stray inline `max-width` so the results card self-frames. Demo-layer migration only — no component or CSS-API change.
|
|
19
|
+
|
|
20
|
+
### Fixed
|
|
21
|
+
|
|
22
|
+
- **Text-bearing primitives no longer fall back to UA serif when the host page's font is broken/unset** — 25 primitives (segmented/segment/badge/button/tag, the form controls, menus/toolbars/pickers — see Added) used `font: inherit` / `font-family: inherit` with **no `font-family` floor**, so any consumer page whose inherited `font-family` was wrong (e.g. the embedded-app's `html, body { font-family: var(--a-font) }` → dead token → serif; or a serif host document) rendered their labels in Times while `text-ui` (which anchors to a token) stayed correct — a confusing same-page split. Each now carries a font-family floor (see Added). Root-caused via computed-style probe (segment/badge/button/tag → Times; text-ui → sans); the floor was verified to hold on a deliberately `body{font-family:serif}` page. Robustness layer — the `--a-font` alias additionally fixes the specific embedded-app trigger with no app edit. (embedded-app patient-labs QA)
|
|
23
|
+
- **`<grid-ui align="…">` no longer leaks `text-align` into descendants** — grid-ui never neutralized the legacy UA rule that maps the HTML `align=` attribute to `text-align` (`row.css` / `col.css` both do, explicitly). So `<grid-ui align="center">` — authored for grid-item vertical centering — silently set `text-align: center` on **every** descendant, centering split-hero headlines/decks/kickers that should read left (marketing-engagement `hero-cta-split`, v050-marketing-blocks `hero-section-split`). And because grid-ui had **no** `[align]` rule at all, the attribute didn't even perform the intended vertical centering — it was pure leak. grid-ui now sets `text-align: inherit` (neutralizing the UA mapping) and maps `[align]`/`[justify]` to grid-axis item alignment. Demo fix: `hero-cta-split`'s left column → `align="start"` so the "For teams" tag hugs its content instead of stretching the full column. (marketing-engagement QA)
|
|
24
|
+
|
|
3
25
|
## [0.7.3] — 2026-06-01
|
|
4
26
|
|
|
5
27
|
### Added
|
|
@@ -9,14 +9,14 @@
|
|
|
9
9
|
/* ── Container ── */
|
|
10
10
|
@scope (accordion-ui) {
|
|
11
11
|
:where(:scope) {
|
|
12
|
-
--accordion-gap
|
|
12
|
+
--accordion-gap: 0;
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
:scope {
|
|
16
16
|
box-sizing: border-box;
|
|
17
17
|
display: flex;
|
|
18
18
|
flex-direction: column;
|
|
19
|
-
gap: var(--accordion-gap
|
|
19
|
+
gap: var(--accordion-gap);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
@scope (action-list-ui) {
|
|
2
2
|
:where(:scope) {
|
|
3
|
-
--action-list-gap
|
|
3
|
+
--action-list-gap: var(--a-space-0-5);
|
|
4
4
|
}
|
|
5
5
|
|
|
6
6
|
:scope {
|
|
7
7
|
box-sizing: border-box;
|
|
8
8
|
display: flex;
|
|
9
9
|
flex-direction: column;
|
|
10
|
-
gap: var(--action-list-gap
|
|
10
|
+
gap: var(--action-list-gap);
|
|
11
11
|
margin: 0;
|
|
12
12
|
padding: 0;
|
|
13
13
|
list-style: none;
|
|
@@ -1,57 +1,57 @@
|
|
|
1
1
|
@scope (agent-artifact-ui) {
|
|
2
2
|
:where(:scope) {
|
|
3
3
|
/* ── Layout ── */
|
|
4
|
-
--agent-artifact-radius
|
|
5
|
-
--agent-artifact-padding
|
|
6
|
-
--agent-artifact-header-padding-y
|
|
7
|
-
--agent-artifact-header-padding-x
|
|
8
|
-
--agent-artifact-gap
|
|
4
|
+
--agent-artifact-radius: var(--a-radius);
|
|
5
|
+
--agent-artifact-padding: var(--a-space-3);
|
|
6
|
+
--agent-artifact-header-padding-y: var(--a-space-2);
|
|
7
|
+
--agent-artifact-header-padding-x: var(--a-space-3);
|
|
8
|
+
--agent-artifact-gap: var(--a-space-2);
|
|
9
9
|
|
|
10
10
|
/* ── Colors ── */
|
|
11
|
-
--agent-artifact-bg
|
|
12
|
-
--agent-artifact-fg
|
|
13
|
-
--agent-artifact-fg-muted
|
|
14
|
-
--agent-artifact-border
|
|
15
|
-
--agent-artifact-header-bg
|
|
16
|
-
--agent-artifact-header-bg-hover
|
|
11
|
+
--agent-artifact-bg: var(--a-bg-subtle);
|
|
12
|
+
--agent-artifact-fg: var(--a-fg);
|
|
13
|
+
--agent-artifact-fg-muted: var(--a-fg-muted);
|
|
14
|
+
--agent-artifact-border: var(--a-border-subtle);
|
|
15
|
+
--agent-artifact-header-bg: var(--a-bg);
|
|
16
|
+
--agent-artifact-header-bg-hover: var(--a-bg-hover);
|
|
17
17
|
|
|
18
18
|
/* ── Typography ── */
|
|
19
|
-
--agent-artifact-title-size
|
|
20
|
-
--agent-artifact-title-weight
|
|
19
|
+
--agent-artifact-title-size: var(--a-ui-md);
|
|
20
|
+
--agent-artifact-title-weight: var(--a-weight-medium);
|
|
21
21
|
|
|
22
22
|
/* ── Motion ── */
|
|
23
|
-
--agent-artifact-duration
|
|
23
|
+
--agent-artifact-duration: var(--a-duration-fast);
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
:scope {
|
|
27
27
|
display: flex;
|
|
28
28
|
flex-direction: column;
|
|
29
|
-
border: 1px solid var(--agent-artifact-border
|
|
30
|
-
border-radius: var(--agent-artifact-radius
|
|
31
|
-
background: var(--agent-artifact-bg
|
|
29
|
+
border: 1px solid var(--agent-artifact-border);
|
|
30
|
+
border-radius: var(--agent-artifact-radius);
|
|
31
|
+
background: var(--agent-artifact-bg);
|
|
32
32
|
overflow: hidden;
|
|
33
33
|
min-width: 0;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
:scope[tone="accent"] { --agent-artifact-border
|
|
37
|
-
:scope[tone="warning"] { --agent-artifact-border
|
|
38
|
-
:scope[tone="danger"] { --agent-artifact-border
|
|
36
|
+
:scope[tone="accent"] { --agent-artifact-border: var(--a-accent-bg); }
|
|
37
|
+
:scope[tone="warning"] { --agent-artifact-border: var(--a-warning-bg); }
|
|
38
|
+
:scope[tone="danger"] { --agent-artifact-border: var(--a-danger-bg); }
|
|
39
39
|
|
|
40
40
|
[data-artifact-header] {
|
|
41
41
|
display: flex;
|
|
42
42
|
align-items: center;
|
|
43
|
-
gap: var(--agent-artifact-gap
|
|
44
|
-
padding: var(--agent-artifact-header-padding-y
|
|
45
|
-
background: var(--agent-artifact-header-bg
|
|
46
|
-
border-block-end: 1px solid var(--agent-artifact-border
|
|
43
|
+
gap: var(--agent-artifact-gap);
|
|
44
|
+
padding: var(--agent-artifact-header-padding-y) var(--agent-artifact-header-padding-x);
|
|
45
|
+
background: var(--agent-artifact-header-bg);
|
|
46
|
+
border-block-end: 1px solid var(--agent-artifact-border);
|
|
47
47
|
cursor: pointer;
|
|
48
48
|
user-select: none;
|
|
49
49
|
min-width: 0;
|
|
50
|
-
transition: background var(--agent-artifact-duration
|
|
50
|
+
transition: background var(--agent-artifact-duration);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
[data-artifact-header]:hover {
|
|
54
|
-
background: var(--agent-artifact-header-bg-hover
|
|
54
|
+
background: var(--agent-artifact-header-bg-hover);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
[data-artifact-header]:focus-visible {
|
|
@@ -69,9 +69,9 @@
|
|
|
69
69
|
overflow: hidden;
|
|
70
70
|
text-overflow: ellipsis;
|
|
71
71
|
white-space: nowrap;
|
|
72
|
-
font-size: var(--agent-artifact-title-size
|
|
73
|
-
font-weight: var(--agent-artifact-title-weight
|
|
74
|
-
color: var(--agent-artifact-fg
|
|
72
|
+
font-size: var(--agent-artifact-title-size);
|
|
73
|
+
font-weight: var(--agent-artifact-title-weight);
|
|
74
|
+
color: var(--agent-artifact-fg);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
/* [data-artifact-kind] is a <badge-ui size="sm"> — it brings its own pill
|
|
@@ -91,11 +91,11 @@
|
|
|
91
91
|
|
|
92
92
|
[data-artifact-caret] {
|
|
93
93
|
flex-shrink: 0;
|
|
94
|
-
transition: transform var(--agent-artifact-duration
|
|
94
|
+
transition: transform var(--agent-artifact-duration);
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
[data-artifact-body] {
|
|
98
|
-
padding: var(--agent-artifact-padding
|
|
98
|
+
padding: var(--agent-artifact-padding);
|
|
99
99
|
min-width: 0;
|
|
100
100
|
}
|
|
101
101
|
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
@scope (agent-feedback-bar-ui) {
|
|
2
2
|
:where(:scope) {
|
|
3
3
|
/* ── Layout ── */
|
|
4
|
-
--agent-feedback-bar-gap
|
|
5
|
-
--agent-feedback-bar-padding
|
|
4
|
+
--agent-feedback-bar-gap: var(--a-space-1);
|
|
5
|
+
--agent-feedback-bar-padding: var(--a-space-2);
|
|
6
6
|
|
|
7
7
|
/* ── Typography ── */
|
|
8
|
-
--agent-feedback-bar-font
|
|
8
|
+
--agent-feedback-bar-font: var(--a-ui-sm);
|
|
9
9
|
|
|
10
10
|
/* ── Colors ── */
|
|
11
|
-
--agent-feedback-bar-fg
|
|
11
|
+
--agent-feedback-bar-fg: var(--a-fg-muted);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
:scope {
|
|
15
15
|
display: flex;
|
|
16
16
|
align-items: center;
|
|
17
|
-
gap: var(--agent-feedback-bar-gap
|
|
18
|
-
padding-block: var(--agent-feedback-bar-padding
|
|
19
|
-
font-size: var(--agent-feedback-bar-font
|
|
20
|
-
color: var(--agent-feedback-bar-fg
|
|
17
|
+
gap: var(--agent-feedback-bar-gap);
|
|
18
|
+
padding-block: var(--agent-feedback-bar-padding);
|
|
19
|
+
font-size: var(--agent-feedback-bar-font);
|
|
20
|
+
color: var(--agent-feedback-bar-fg);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
[data-feedback-status] {
|
|
24
24
|
margin-inline-start: auto;
|
|
25
|
-
color: var(--agent-feedback-bar-fg
|
|
26
|
-
font-size: var(--agent-feedback-bar-font
|
|
25
|
+
color: var(--agent-feedback-bar-fg);
|
|
26
|
+
font-size: var(--agent-feedback-bar-font);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
:scope[disabled] {
|
|
@@ -1,64 +1,64 @@
|
|
|
1
1
|
@scope (agent-questions-ui) {
|
|
2
2
|
:where(:scope) {
|
|
3
3
|
/* ── Typography ── */
|
|
4
|
-
--agent-questions-q-size
|
|
5
|
-
--agent-questions-q-weight
|
|
6
|
-
--agent-questions-helper-size
|
|
7
|
-
--agent-questions-label-size
|
|
8
|
-
--agent-questions-label-weight
|
|
9
|
-
--agent-questions-desc-size
|
|
4
|
+
--agent-questions-q-size: var(--a-ui-md);
|
|
5
|
+
--agent-questions-q-weight: var(--a-weight-medium);
|
|
6
|
+
--agent-questions-helper-size: var(--a-ui-sm);
|
|
7
|
+
--agent-questions-label-size: var(--a-ui-md);
|
|
8
|
+
--agent-questions-label-weight: var(--a-weight-medium);
|
|
9
|
+
--agent-questions-desc-size: var(--a-ui-sm);
|
|
10
10
|
|
|
11
11
|
/* ── Colors ── */
|
|
12
|
-
--agent-questions-q-fg
|
|
13
|
-
--agent-questions-helper-fg
|
|
14
|
-
--agent-questions-label-fg
|
|
15
|
-
--agent-questions-desc-fg
|
|
16
|
-
--agent-questions-option-bg
|
|
17
|
-
--agent-questions-option-bg-hover
|
|
18
|
-
--agent-questions-option-bg-sel
|
|
19
|
-
--agent-questions-option-border
|
|
20
|
-
--agent-questions-option-border-sel
|
|
21
|
-
--agent-questions-check-bg
|
|
22
|
-
--agent-questions-check-fg
|
|
12
|
+
--agent-questions-q-fg: var(--a-fg);
|
|
13
|
+
--agent-questions-helper-fg: var(--a-fg-muted);
|
|
14
|
+
--agent-questions-label-fg: var(--a-fg);
|
|
15
|
+
--agent-questions-desc-fg: var(--a-fg-muted);
|
|
16
|
+
--agent-questions-option-bg: var(--a-bg);
|
|
17
|
+
--agent-questions-option-bg-hover: var(--a-bg-subtle);
|
|
18
|
+
--agent-questions-option-bg-sel: var(--a-accent-muted);
|
|
19
|
+
--agent-questions-option-border: var(--a-border-subtle);
|
|
20
|
+
--agent-questions-option-border-sel: var(--a-accent-bg);
|
|
21
|
+
--agent-questions-check-bg: var(--a-accent-bg);
|
|
22
|
+
--agent-questions-check-fg: var(--a-accent-fg);
|
|
23
23
|
|
|
24
24
|
/* ── Layout ── */
|
|
25
|
-
--agent-questions-gap
|
|
26
|
-
--agent-questions-option-gap
|
|
27
|
-
--agent-questions-option-padding
|
|
28
|
-
--agent-questions-option-radius
|
|
29
|
-
--agent-questions-q-padding
|
|
30
|
-
--agent-questions-option-body-gap
|
|
25
|
+
--agent-questions-gap: var(--a-space-2);
|
|
26
|
+
--agent-questions-option-gap: var(--a-space-3);
|
|
27
|
+
--agent-questions-option-padding: var(--a-space-3);
|
|
28
|
+
--agent-questions-option-radius: var(--a-radius);
|
|
29
|
+
--agent-questions-q-padding: var(--a-space-1);
|
|
30
|
+
--agent-questions-option-body-gap: var(--a-space-0-5);
|
|
31
31
|
/* Component-intrinsic measurement; no --a-space-* equivalent */
|
|
32
|
-
--agent-questions-check-size
|
|
32
|
+
--agent-questions-check-size: 20px;
|
|
33
33
|
|
|
34
34
|
/* ── Motion ── */
|
|
35
|
-
--agent-questions-duration
|
|
36
|
-
--agent-questions-easing
|
|
35
|
+
--agent-questions-duration: var(--a-duration-fast);
|
|
36
|
+
--agent-questions-easing: var(--a-easing-out);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
:scope {
|
|
40
40
|
display: flex;
|
|
41
41
|
flex-direction: column;
|
|
42
|
-
gap: var(--agent-questions-gap
|
|
42
|
+
gap: var(--agent-questions-gap);
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
[data-questions-q] {
|
|
46
|
-
font-size: var(--agent-questions-q-size
|
|
47
|
-
font-weight: var(--agent-questions-q-weight
|
|
48
|
-
color: var(--agent-questions-q-fg
|
|
49
|
-
padding: var(--agent-questions-q-padding
|
|
46
|
+
font-size: var(--agent-questions-q-size);
|
|
47
|
+
font-weight: var(--agent-questions-q-weight);
|
|
48
|
+
color: var(--agent-questions-q-fg);
|
|
49
|
+
padding: var(--agent-questions-q-padding) 0;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
[data-questions-helper] {
|
|
53
|
-
font-size: var(--agent-questions-helper-size
|
|
54
|
-
color: var(--agent-questions-helper-fg
|
|
53
|
+
font-size: var(--agent-questions-helper-size);
|
|
54
|
+
color: var(--agent-questions-helper-fg);
|
|
55
55
|
padding-block-end: var(--a-space-1);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
[data-questions-options] {
|
|
59
59
|
display: flex;
|
|
60
60
|
flex-direction: column;
|
|
61
|
-
gap: var(--agent-questions-gap
|
|
61
|
+
gap: var(--agent-questions-gap);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
[data-questions-option] {
|
|
@@ -70,29 +70,31 @@
|
|
|
70
70
|
down to the body's vertical midpoint, which sat between label
|
|
71
71
|
and description rather than on the label. */
|
|
72
72
|
align-items: start;
|
|
73
|
-
gap: var(--agent-questions-option-gap
|
|
74
|
-
padding: var(--agent-questions-option-padding
|
|
75
|
-
border: 1px solid var(--agent-questions-option-border
|
|
76
|
-
border-radius: var(--agent-questions-option-radius
|
|
77
|
-
background: var(--agent-questions-option-bg
|
|
73
|
+
gap: var(--agent-questions-option-gap);
|
|
74
|
+
padding: var(--agent-questions-option-padding);
|
|
75
|
+
border: 1px solid var(--agent-questions-option-border);
|
|
76
|
+
border-radius: var(--agent-questions-option-radius);
|
|
77
|
+
background: var(--agent-questions-option-bg);
|
|
78
78
|
color: inherit;
|
|
79
79
|
cursor: pointer;
|
|
80
80
|
text-align: start;
|
|
81
81
|
font: inherit;
|
|
82
|
+
/* font-family floor — see segment.css rationale (inline default). */
|
|
83
|
+
font-family: var(--agent-questions-font-family, var(--a-font-family-ui));
|
|
82
84
|
transition:
|
|
83
|
-
background var(--agent-questions-duration
|
|
84
|
-
border-color var(--agent-questions-duration
|
|
85
|
+
background var(--agent-questions-duration) var(--agent-questions-easing),
|
|
86
|
+
border-color var(--agent-questions-duration) var(--agent-questions-easing);
|
|
85
87
|
min-width: 0;
|
|
86
88
|
width: 100%;
|
|
87
89
|
}
|
|
88
90
|
|
|
89
91
|
[data-questions-option]:hover {
|
|
90
|
-
background: var(--agent-questions-option-bg-hover
|
|
92
|
+
background: var(--agent-questions-option-bg-hover);
|
|
91
93
|
}
|
|
92
94
|
|
|
93
95
|
[data-questions-option][data-selected] {
|
|
94
|
-
background: var(--agent-questions-option-bg-sel
|
|
95
|
-
border-color: var(--agent-questions-option-border-sel
|
|
96
|
+
background: var(--agent-questions-option-bg-sel);
|
|
97
|
+
border-color: var(--agent-questions-option-border-sel);
|
|
96
98
|
}
|
|
97
99
|
|
|
98
100
|
[data-questions-option][disabled] {
|
|
@@ -101,7 +103,7 @@
|
|
|
101
103
|
}
|
|
102
104
|
|
|
103
105
|
[data-questions-option]:focus-visible {
|
|
104
|
-
outline: 2px solid var(--agent-questions-option-border-sel
|
|
106
|
+
outline: 2px solid var(--agent-questions-option-border-sel);
|
|
105
107
|
outline-offset: 2px;
|
|
106
108
|
}
|
|
107
109
|
|
|
@@ -124,24 +126,24 @@
|
|
|
124
126
|
min-width: 0;
|
|
125
127
|
display: flex;
|
|
126
128
|
flex-direction: column;
|
|
127
|
-
gap: var(--agent-questions-option-body-gap
|
|
129
|
+
gap: var(--agent-questions-option-body-gap);
|
|
128
130
|
}
|
|
129
131
|
|
|
130
132
|
[data-questions-option-label] {
|
|
131
|
-
font-size: var(--agent-questions-label-size
|
|
132
|
-
font-weight: var(--agent-questions-label-weight
|
|
133
|
-
color: var(--agent-questions-label-fg
|
|
133
|
+
font-size: var(--agent-questions-label-size);
|
|
134
|
+
font-weight: var(--agent-questions-label-weight);
|
|
135
|
+
color: var(--agent-questions-label-fg);
|
|
134
136
|
}
|
|
135
137
|
|
|
136
138
|
[data-questions-option-desc] {
|
|
137
|
-
font-size: var(--agent-questions-desc-size
|
|
138
|
-
color: var(--agent-questions-desc-fg
|
|
139
|
+
font-size: var(--agent-questions-desc-size);
|
|
140
|
+
color: var(--agent-questions-desc-fg);
|
|
139
141
|
line-height: 1.4;
|
|
140
142
|
}
|
|
141
143
|
|
|
142
144
|
[data-questions-option-check] {
|
|
143
|
-
width: var(--agent-questions-check-size
|
|
144
|
-
height: var(--agent-questions-check-size
|
|
145
|
+
width: var(--agent-questions-check-size);
|
|
146
|
+
height: var(--agent-questions-check-size);
|
|
145
147
|
border-radius: 50%;
|
|
146
148
|
flex-shrink: 0;
|
|
147
149
|
display: flex;
|
|
@@ -149,18 +151,18 @@
|
|
|
149
151
|
justify-content: center;
|
|
150
152
|
background: transparent;
|
|
151
153
|
opacity: 0;
|
|
152
|
-
transition: opacity var(--agent-questions-duration
|
|
154
|
+
transition: opacity var(--agent-questions-duration) var(--agent-questions-easing);
|
|
153
155
|
/* Match the leading-icon offset so a row of [icon · label · check]
|
|
154
156
|
reads as one horizontal line aligned to the label's first line. */
|
|
155
|
-
margin-top: calc((1.5em - var(--agent-questions-check-size
|
|
157
|
+
margin-top: calc((1.5em - var(--agent-questions-check-size)) / 2);
|
|
156
158
|
}
|
|
157
159
|
|
|
158
160
|
[data-questions-option][data-selected] [data-questions-option-check] {
|
|
159
|
-
background: var(--agent-questions-check-bg
|
|
161
|
+
background: var(--agent-questions-check-bg);
|
|
160
162
|
opacity: 1;
|
|
161
163
|
}
|
|
162
164
|
|
|
163
165
|
[data-questions-option][data-selected] [data-questions-option-check] icon-ui {
|
|
164
|
-
color: var(--agent-questions-check-fg
|
|
166
|
+
color: var(--agent-questions-check-fg);
|
|
165
167
|
}
|
|
166
168
|
}
|