@adia-ai/web-components 0.8.47 → 0.8.50
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 +50 -0
- package/MIGRATION.md +136 -0
- package/components/card/card.css +25 -2
- package/components/chart/chart.a2ui.json +1 -1
- package/components/chart/chart.class.js +41 -10
- package/components/chart/chart.d.ts +1 -1
- package/components/chart/chart.yaml +6 -3
- package/components/input/input.a2ui.json +2 -2
- package/components/input/input.css +45 -16
- package/components/input/input.yaml +11 -9
- package/components/link/link.css +3 -2
- package/components/richtext/richtext.css +2 -2
- package/components/search/search.a2ui.json +1 -1
- package/components/search/search.class.js +43 -0
- package/components/search/search.css +28 -0
- package/components/search/search.yaml +4 -1
- package/components/select/select.class.js +4 -1
- package/components/select/select.css +13 -0
- package/components/stat/stat.a2ui.json +30 -3
- package/components/stat/stat.css +88 -0
- package/components/stat/stat.d.ts +2 -2
- package/components/stat/stat.yaml +99 -6
- package/components/table/table.a2ui.json +5 -2
- package/components/table/table.class.js +36 -1
- package/components/table/table.d.ts +2 -2
- package/components/table/table.yaml +17 -1
- package/components/table-footer/table-footer.a2ui.json +20 -2
- package/components/table-footer/table-footer.class.js +94 -8
- package/components/table-footer/table-footer.d.ts +6 -2
- package/components/table-footer/table-footer.yaml +57 -6
- package/components/table-toolbar/table-toolbar.a2ui.json +28 -2
- package/components/table-toolbar/table-toolbar.class.js +69 -2
- package/components/table-toolbar/table-toolbar.css +36 -2
- package/components/table-toolbar/table-toolbar.d.ts +8 -2
- package/components/table-toolbar/table-toolbar.examples.md +6 -4
- package/components/table-toolbar/table-toolbar.yaml +140 -26
- package/components/theme-provider/theme-provider.a2ui.json +3 -5
- package/components/theme-provider/theme-provider.class.js +9 -30
- package/components/theme-provider/theme-provider.d.ts +3 -5
- package/components/theme-provider/theme-provider.yaml +4 -8
- package/core/element.js +16 -3
- package/custom-elements.json +52 -10
- package/dist/host.min.css +1 -1
- package/dist/host.sheet.js +1 -1
- package/dist/theme-provider.min.js +8 -8
- 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 +70 -69
- package/dist/web-components.sheet.js +1 -1
- package/index.css +1 -2
- package/package.json +1 -1
- package/styles/README.md +1 -1
- package/styles/api/sizing.css +1 -1
- package/styles/colors/material-static.css +34 -12
- package/styles/host.css +1 -4
- package/styles/index.css +2 -2
- package/styles/scale.css +19 -26
- package/styles/themes.css +2678 -2
- package/styles/type/elements.css +1 -0
- package/styles/type/roles.css +3 -3
- package/styles/typography.css +6 -5
- package/dist/prose.min.css +0 -1
- package/dist/prose.sheet.js +0 -11
- package/dist/verse.min.css +0 -1
- package/dist/verse.sheet.js +0 -11
- package/styles/prose.css +0 -211
- package/styles/verse.css +0 -151
package/index.css
CHANGED
|
@@ -13,8 +13,7 @@
|
|
|
13
13
|
* @adia-ai/web-components/styles/index.css (primitives only)
|
|
14
14
|
* @adia-ai/web-components/styles/tokens.css (tokens only)
|
|
15
15
|
* @adia-ai/web-components/styles/themes.css (optional — named theme presets)
|
|
16
|
-
* @adia-ai/web-components/styles/
|
|
17
|
-
* @adia-ai/web-components/styles/verse.css (optional — compact density)
|
|
16
|
+
* @adia-ai/web-components/styles/scale.css (optional — [scale] sizing register)
|
|
18
17
|
*/
|
|
19
18
|
|
|
20
19
|
@import "./styles/host.css";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adia-ai/web-components",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.50",
|
|
4
4
|
"description": "AdiaUI web components \u2014 vanilla custom elements. A2UI runtime (renderer, registry, streams, wiring) lives in @adia-ai/a2ui.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./index.d.ts",
|
package/styles/README.md
CHANGED
|
@@ -297,7 +297,7 @@ styles/
|
|
|
297
297
|
│ └── layout.css # [hidden] [nomargin] [grow]
|
|
298
298
|
│
|
|
299
299
|
├── themes.css # CONTEXT: 8 named themes + light/dark scheme overrides ([theme])
|
|
300
|
-
├──
|
|
300
|
+
├── scale.css # CONTEXT: six-tier ancestor sizing register ([scale])
|
|
301
301
|
├── resets.css # global RESET (box-sizing, scrollbar, focus, normalize)
|
|
302
302
|
├── fonts.css # @font-face declarations + font-family primitives
|
|
303
303
|
├── components.css # per-component @import barrel
|
package/styles/api/sizing.css
CHANGED
|
@@ -172,7 +172,7 @@
|
|
|
172
172
|
|
|
173
173
|
Sets --a-gap-self, a NON-inheriting token, so an explicit gap on a
|
|
174
174
|
parent does NOT leak into nested layout primitives. This is the
|
|
175
|
-
counterpart to --a-gap, the AMBIENT gap set by [size]/[
|
|
175
|
+
counterpart to --a-gap, the AMBIENT gap set by [size]/[scale]/:root
|
|
176
176
|
(which DOES inherit — `<div size="sm">` shifts the whole subtree).
|
|
177
177
|
Gap-reading components resolve `var(--a-gap-self, var(--a-gap))`:
|
|
178
178
|
explicit-if-present, else fall through to the inherited ambient.
|
|
@@ -28,18 +28,40 @@
|
|
|
28
28
|
(host.css) puts `context` (where [theme="x"] rules live) after
|
|
29
29
|
`tokens` (this file's :root block) in the cascade-layer order, and
|
|
30
30
|
layer order always wins over selector specificity — so a themed
|
|
31
|
-
ancestor's raw-stop override wins
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
31
|
+
ancestor's raw-stop override wins there. Verified empirically
|
|
32
|
+
(Playwright, file:// harness) — `--md-sys-color-primary-600` measured
|
|
33
|
+
`oklch(0.5493 0.1051 226.08)` at :root vs `oklch(0.5493 0.0946
|
|
34
|
+
216.96)` under `[theme="atlas"]`, the atlas-rotated hue, not the
|
|
35
|
+
default.
|
|
36
|
+
|
|
37
|
+
CORRECTION #2 (gh#1863, 2026-08-22) — the "every semantic role...
|
|
38
|
+
re-resolves through it at each descendant, by ordinary CSS
|
|
39
|
+
custom-property inheritance" claim directly above was WRONG for a
|
|
40
|
+
descendant-scoped `[theme]` and has been removed; the raw-stop
|
|
41
|
+
measurement above never actually tested an alias. Per CSS
|
|
42
|
+
custom-property semantics, `var()` inside a property's value
|
|
43
|
+
substitutes at computed-value time on the element where THAT property
|
|
44
|
+
is declared — every alias in this file is declared once, at `:root`,
|
|
45
|
+
so it substitutes using `:root`'s own raw stops and that computed
|
|
46
|
+
value is what inherits downward as a plain value, not a live
|
|
47
|
+
reference. `[theme]` on `:root`/`<html>` itself works (root is also
|
|
48
|
+
the alias's declaration site, so the raw-stop override and the alias
|
|
49
|
+
substitution happen at the same element) — but `[theme]` on a
|
|
50
|
+
DESCENDANT (the documented, shipped `<theme-provider theme="X">`
|
|
51
|
+
nested-scoping shape, components/theme-provider/) only rotates the
|
|
52
|
+
raw stop there; every alias stayed pinned to the default theme,
|
|
53
|
+
silently, because no rule redeclares the alias itself at that
|
|
54
|
+
descendant. Confirmed both ways (Playwright, file:// harness,
|
|
55
|
+
`--md-sys-color-primary` vs `-primary-600` under root- and
|
|
56
|
+
descendant-scoped `[theme="atlas"]`) and closed by generating a
|
|
57
|
+
themed redeclaration of every alias into each of themes.css's 12
|
|
58
|
+
`[theme="X"]` blocks (`scripts/build/generate-theme-aliases.mjs`,
|
|
59
|
+
`npm run check:theme-scoped-alias` — the regression gate).
|
|
60
|
+
info/success/warning/danger are correctly left unthemed (deliberate —
|
|
61
|
+
status meaning stays constant across themes, themes.css's own
|
|
62
|
+
header). Only `--a-brand-hue`/`-radius-k`/`-density`/
|
|
63
|
+
`-shadow-intensity` were ever the OTHER stated-live knobs; that part
|
|
64
|
+
of the original 2026-07-14 claim stands.
|
|
43
65
|
|
|
44
66
|
NOT touched by this replacement: `--a-brand-*` (no adia.css palette
|
|
45
67
|
to source from), `--a-link*`/`--a-focus-*`/`--a-data-*` (no direct
|
package/styles/host.css
CHANGED
|
@@ -21,10 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
── Opt-in add-ons (link separately when wanted) ─────────────────────
|
|
23
23
|
styles/themes.css the [theme] preset switcher (@layer context)
|
|
24
|
-
styles/
|
|
25
|
-
styles/verse.css the [verse] compact register (opt-in density)
|
|
26
|
-
styles/scale.css the [scale] six-tier register — supersedes
|
|
27
|
-
[verse]/[prose] (@layer context)
|
|
24
|
+
styles/scale.css the [scale] six-tier sizing register (@layer context)
|
|
28
25
|
|
|
29
26
|
See ADR-0035 (foundation reorg) + ADR-0038 (cascade layers). */
|
|
30
27
|
|
package/styles/index.css
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
<link rel="stylesheet" href="@adia-ai/web-components/styles/host.css" />
|
|
8
8
|
<link rel="stylesheet" href="@adia-ai/web-components/styles/index.css" />
|
|
9
9
|
|
|
10
|
-
Opt-in layers (theme presets,
|
|
11
|
-
separately — styles/themes.css, styles/
|
|
10
|
+
Opt-in layers (theme presets, the [scale] sizing register) are linked
|
|
11
|
+
separately — styles/themes.css, styles/scale.css.
|
|
12
12
|
|
|
13
13
|
Composite-element CSS (chat-shell, editor-shell, admin-shell, etc.)
|
|
14
14
|
lives in @adia-ai/web-modules — link its barrel separately:
|
package/styles/scale.css
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
lookup (never a multiplier — multipliers drift height/font/icon
|
|
6
6
|
off coherent rows; agent-ui ADR-0038 precedent):
|
|
7
7
|
|
|
8
|
-
[scale="ui-sm"] dense product UI
|
|
8
|
+
[scale="ui-sm"] dense product UI
|
|
9
9
|
[scale="ui-md"] the base register (≡ :root defaults)
|
|
10
10
|
[scale="ui-lg"] touch/presentation UI
|
|
11
11
|
[scale="content-sm"] compact article
|
|
12
|
-
[scale="content-md"] long-form default
|
|
12
|
+
[scale="content-md"] long-form default
|
|
13
13
|
[scale="content-lg"] hero / marketing
|
|
14
14
|
|
|
15
15
|
Control-band overlap: content-sm ≡ ui-md and content-md ≡ ui-lg
|
|
@@ -20,25 +20,19 @@
|
|
|
20
20
|
the full *-sm/md/lg families, so the universal [size] attribute
|
|
21
21
|
keeps working on and below a scaled element. Tokens compute at
|
|
22
22
|
their declaration site, so each tier RE-DECLARES every pointer it
|
|
23
|
-
shifts
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
Selector shape: [scale][scale="X"] (0-2-0)
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
ui-sm, ui-md and content-md are byte-derived from verse.css,
|
|
38
|
-
:root and prose.css respectively — an unscaled page and a
|
|
39
|
-
[scale="ui-md"] page render identically. ui-lg, content-sm and
|
|
40
|
-
content-lg are DEDUCED rows (one-step shifts of their neighbors)
|
|
41
|
-
— proposed, tune to taste.
|
|
23
|
+
shifts, and carries explicit [size] tier rules — this context
|
|
24
|
+
layer shadows the utilities-layer global [size] rules for any
|
|
25
|
+
token the tier pins.
|
|
26
|
+
|
|
27
|
+
Selector shape: [scale][scale="X"] (0-2-0). Never a bare [scale]
|
|
28
|
+
selector — heatmap-ui reflects scale="linear|log", a different
|
|
29
|
+
vocabulary on the same attribute name.
|
|
30
|
+
|
|
31
|
+
ui-sm, ui-md and content-md were originally byte-derived from the
|
|
32
|
+
now-removed compact-density and long-form-content sheets (gh#1885) —
|
|
33
|
+
an unscaled page and a [scale="ui-md"] page render identically.
|
|
34
|
+
ui-lg, content-sm and content-lg are DEDUCED rows (one-step shifts
|
|
35
|
+
of their neighbors) — proposed, tune to taste.
|
|
42
36
|
|
|
43
37
|
--a-density is orthogonal and composes: every spacing value rides
|
|
44
38
|
the --a-space-* rungs and every control row multiplies
|
|
@@ -302,7 +296,7 @@
|
|
|
302
296
|
--a-size-lg: calc(var(--a-density) * 2.75rem); /* 44px */
|
|
303
297
|
--a-size: var(--a-size-md);
|
|
304
298
|
|
|
305
|
-
/*
|
|
299
|
+
/* content-md type register (byte-values from the removed prose sheet, gh#1885) */
|
|
306
300
|
--a-display-sm: clamp(24px, 20px + 1.5vw, 36px);
|
|
307
301
|
--a-display-md: clamp(32px, 24px + 3vw, 56px);
|
|
308
302
|
--a-display-lg: clamp(40px, 32px + 4vw, 80px);
|
|
@@ -644,10 +638,9 @@
|
|
|
644
638
|
the base row). */
|
|
645
639
|
|
|
646
640
|
/* ═══════════════ Content-band flow enhancements ═══════════════
|
|
647
|
-
Ported from prose
|
|
648
|
-
[scale^="content-"] is value-prefixed — cannot
|
|
649
|
-
heatmap-ui's scale="linear|log"
|
|
650
|
-
scale="verse|prose". */
|
|
641
|
+
Ported from the removed prose sheet (gh#1885) so every content
|
|
642
|
+
tier gets them. [scale^="content-"] is value-prefixed — cannot
|
|
643
|
+
collide with heatmap-ui's scale="linear|log". */
|
|
651
644
|
[scale^="content-"] > :is(p, ul, ol, blockquote, pre, table, dl) {
|
|
652
645
|
max-width: var(--prose-max-width);
|
|
653
646
|
}
|