@adia-ai/a2ui-compose 0.5.6 → 0.5.8

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,22 @@ generator graph.
10
10
  ## [Unreleased]
11
11
 
12
12
  _No pending changes._
13
+
14
+ ## [0.5.8] - 2026-05-15
15
+
16
+ _Lockstep ride-along (no source change)._
17
+
18
+
19
+ ## [0.5.7] - 2026-05-15
20
+
21
+ ### Changed — §210 cross-package sweep — `transpiler/`+`strategies/` text-variant retargeting (v0.5.7)
22
+
23
+ Companion to `@adia-ai/web-components@0.5.7` §210 (`<text-ui>` variant enum cleanup — removed 6 phantom entries `h1`-`h6` + `subheading`).
24
+
25
+ - `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.
26
+ - `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.
27
+ - `strategies/free-form-composer/free-form-composer.test.js` — fixture variant `'h1'` → `'display'` (test stub uses real variant).
28
+
13
29
  ## [0.5.6] - 2026-05-14
14
30
 
15
31
  ### 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.6",
4
- "description": "AdiaUI A2UI compose engine \u2014 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).",
3
+ "version": "0.5.8",
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: 'h1', textContent: 'Sign in' },
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: 'h1', textContent: 'Create account' },
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="h1" through "h6" for headings (renders native heading tags)
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
- h1: { type: 'Text', props: { variant: 'h1' } },
190
- h2: { type: 'Text', props: { variant: 'h2' } },
191
- h3: { type: 'Text', props: { variant: 'h3' } },
192
- h4: { type: 'Text', props: { variant: 'h4' } },
193
- h5: { type: 'Text', props: { variant: 'h5' } },
194
- h6: { type: 'Text', props: { variant: 'h6' } },
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: 'h5' } },
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")