@adia-ai/a2ui-compose 0.5.6 → 0.5.7
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
|
@@ -10,6 +10,17 @@ generator graph.
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
12
|
_No pending changes._
|
|
13
|
+
|
|
14
|
+
## [0.5.7] - 2026-05-15
|
|
15
|
+
|
|
16
|
+
### Changed — §210 cross-package sweep — `transpiler/`+`strategies/` text-variant retargeting (v0.5.7)
|
|
17
|
+
|
|
18
|
+
Companion to `@adia-ai/web-components@0.5.7` §210 (`<text-ui>` variant enum cleanup — removed 6 phantom entries `h1`-`h6` + `subheading`).
|
|
19
|
+
|
|
20
|
+
- `transpiler/transpiler-maps.js` — `HTML_TAG_MAP` retargets native `<h1>`-`<h6>` + `<summary>` from removed `h1`-`h6` variants to working role tokens (`display` / `title` / `heading` / `subsection`). Pre-§210 the mapping rendered silent body-default; post-§210 each level renders at its declared token size.
|
|
21
|
+
- `strategies/monolithic/_shared.js` — TEXT TYPES system-prompt block updated to enumerate the actual `<text-ui>` variant enum (display/title/heading/subsection/section for headings; body / caption / label / kicker / code / deck / metric for inline / meta / lede). Generator prompt now matches the runtime contract.
|
|
22
|
+
- `strategies/free-form-composer/free-form-composer.test.js` — fixture variant `'h1'` → `'display'` (test stub uses real variant).
|
|
23
|
+
|
|
13
24
|
## [0.5.6] - 2026-05-14
|
|
14
25
|
|
|
15
26
|
### Removed — §195 (v0.5.6) — retired fragment-graph iteration codepath
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adia-ai/a2ui-compose",
|
|
3
|
-
"version": "0.5.
|
|
4
|
-
"description": "AdiaUI A2UI compose engine
|
|
3
|
+
"version": "0.5.7",
|
|
4
|
+
"description": "AdiaUI A2UI compose engine — framework-agnostic. Takes natural-language intents + a catalog and produces A2UI protocol messages. Pairs with `@adia-ai/a2ui-retrieval` (intent classification, catalog lookup) and `@adia-ai/a2ui-validator` (schema + semantic checks).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./index.js",
|
|
@@ -22,7 +22,7 @@ const FIXTURE_VOCAB = [
|
|
|
22
22
|
keywords: ['login', 'auth'],
|
|
23
23
|
template: [
|
|
24
24
|
{ id: 'card', component: 'Card', children: ['title', 'submit'] },
|
|
25
|
-
{ id: 'title', component: 'Text', variant: '
|
|
25
|
+
{ id: 'title', component: 'Text', variant: 'display', textContent: 'Sign in' },
|
|
26
26
|
{ id: 'submit', component: 'Button', text: 'Continue', variant: 'primary' },
|
|
27
27
|
],
|
|
28
28
|
},
|
|
@@ -33,7 +33,7 @@ const FIXTURE_VOCAB = [
|
|
|
33
33
|
keywords: ['signup', 'register'],
|
|
34
34
|
template: [
|
|
35
35
|
{ id: 'card', component: 'Card', children: ['title'] },
|
|
36
|
-
{ id: 'title', component: 'Text', variant: '
|
|
36
|
+
{ id: 'title', component: 'Text', variant: 'display', textContent: 'Create account' },
|
|
37
37
|
],
|
|
38
38
|
},
|
|
39
39
|
];
|
|
@@ -195,9 +195,10 @@ LAYOUT PRIMITIVES:
|
|
|
195
195
|
- Grid (grid-ui): CSS grid. Use columns="2"|"3"|"4", gap="4".
|
|
196
196
|
|
|
197
197
|
TEXT TYPES (component="Text"):
|
|
198
|
-
- variant="
|
|
199
|
-
- variant="body" for paragraphs
|
|
200
|
-
- for small text
|
|
198
|
+
- variant="display" / "title" / "heading" / "subsection" / "section" for headings (largest → smallest)
|
|
199
|
+
- variant="body" for paragraphs (default)
|
|
200
|
+
- variant="caption" / "label" / "kicker" / "code" for small / meta text
|
|
201
|
+
- variant="deck" / "metric" for lede / KPI text
|
|
201
202
|
- Use textContent prop for the display text
|
|
202
203
|
|
|
203
204
|
TABS (component="Tabs"):
|
|
@@ -186,12 +186,26 @@ for (const [type, tag] of registry) {
|
|
|
186
186
|
|
|
187
187
|
/** @type {Record<string, { type: string, props?: Record<string, unknown> }>} */
|
|
188
188
|
export const HTML_TAG_MAP = {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
189
|
+
// §210 (v0.5.7, FEEDBACK-17 §1): map native heading levels to working
|
|
190
|
+
// text-ui variants. Pre-§210 these mapped to `h1`-`h6` strings that
|
|
191
|
+
// text.css had no `:scope[variant=…]` rule for — silent body-default
|
|
192
|
+
// rendering. The retired variants (`h1`-`h6` + `subheading`) were
|
|
193
|
+
// removed from text.yaml/text.d.ts/text.a2ui.json in §210 because no
|
|
194
|
+
// matching tokens shipped. Replacement mapping prefers role tokens
|
|
195
|
+
// that actually render:
|
|
196
|
+
// <h1> → 'display' (largest type — marketing hero)
|
|
197
|
+
// <h2> → 'title' (page title)
|
|
198
|
+
// <h3> → 'heading' (section division)
|
|
199
|
+
// <h4> → 'subsection' (sub-grouping inside a heading section)
|
|
200
|
+
// <h5>, <h6> → 'subsection' (no smaller subsection token ships;
|
|
201
|
+
// consistent fallback over silent
|
|
202
|
+
// body-default)
|
|
203
|
+
h1: { type: 'Text', props: { variant: 'display' } },
|
|
204
|
+
h2: { type: 'Text', props: { variant: 'title' } },
|
|
205
|
+
h3: { type: 'Text', props: { variant: 'heading' } },
|
|
206
|
+
h4: { type: 'Text', props: { variant: 'subsection' } },
|
|
207
|
+
h5: { type: 'Text', props: { variant: 'subsection' } },
|
|
208
|
+
h6: { type: 'Text', props: { variant: 'subsection' } },
|
|
195
209
|
p: { type: 'Text', props: { variant: 'body' } },
|
|
196
210
|
small: { type: 'Text', props: { variant: 'caption' } },
|
|
197
211
|
strong: { type: 'Text', props: { variant: 'body' } },
|
|
@@ -217,7 +231,7 @@ export const HTML_TAG_MAP = {
|
|
|
217
231
|
main: { type: 'Column' },
|
|
218
232
|
article: { type: 'Card' },
|
|
219
233
|
details: { type: 'Accordion' },
|
|
220
|
-
summary: { type: 'Text', props: { variant: '
|
|
234
|
+
summary: { type: 'Text', props: { variant: 'subsection' } },
|
|
221
235
|
dialog: { type: 'Modal' },
|
|
222
236
|
hr: { type: 'Divider' },
|
|
223
237
|
a: { type: 'Link' }, // §47 — was: Button + variant=ghost (button.yaml line 60: "for inline navigation use `<link-ui>` instead")
|