@adia-ai/a2ui-corpus 0.7.27 → 0.8.0

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,4 +1,50 @@
1
1
  # Changelog — @adia-ai/a2ui-corpus
2
+ ## [0.8.0] — 2026-07-15
3
+
4
+ ### Changed — Material color-token adoption (lockstep with @adia-ai/web-components@0.8.0)
5
+ - **Chunk corpus re-harvested with the post-migration token vocabulary** — 11 chunks + `_index.json` now carry `--md-sys-color-*` names in their inline styles instead of the removed/renamed `--a-*` forms; `chunk-embeddings.json` rebuilt to match. Gen-UI training data no longer teaches retired tokens.
6
+ - **`catalog-a2ui_0_9.json` regenerated** — component token-default docs updated for the `accent` → `primary` rename (sidecar re-sync in web-components/web-modules).
7
+ ## [0.7.28] — 2026-07-14
8
+
9
+ ### Fixed — TKT-0010, corpus admission-time validation classes 1 and 3
10
+
11
+ `harvest-chunks.mjs`'s new admission-time validator (Phase 4a, shipped
12
+ 0.7.27) found 104/384 templated chunk instances (27%) failing schema/
13
+ catalog validation. This cycle fixes the two classes owned by this
14
+ package's schemas:
15
+
16
+ - **`common_types.json`'s `CatalogComponentCommon`** now declares `span`
17
+ as a cross-cutting `DynamicString` property (mirroring the existing
18
+ `slot` entry) and a `patternProperties` allowance for `^data-` —
19
+ both legitimate JS/CSS hooks the transpiler already universally
20
+ preserves (TKT-0002), but previously rejected by Ajv's
21
+ `unevaluatedProperties: false` on every generated component schema
22
+ (the dominant failure class, ~70 of the 104).
23
+ - **New `DynamicObjectList` `$def`** — `Chart.data`/`Table.data`'s
24
+ dynamic array props were compiled to `DynamicStringList`
25
+ (array-of-string only), the wrong shape for row-record data. Split a
26
+ proper array-of-object variant; `components.mjs`'s `compileProp`
27
+ selects it when a prop's yaml declares `items: {type: object}` (see
28
+ `@adia-ai/web-components`'s `chart.yaml`/`table.yaml`). The
29
+ companion transpiler-side bug (the attribute value was never
30
+ actually `JSON.parse`d) is fixed in `@adia-ai/a2ui-compose`.
31
+ - **`catalog-a2ui_0_9.json` regenerated** to pick up both schema
32
+ changes.
33
+
34
+ Verified: `harvest-chunks.mjs --dry` dropped from 104 → 16 invalid
35
+ chunk instances; all 16 remaining are already-tracked class-2 debt
36
+ (enum drift + accessibility anti-patterns, matching `verify:corpus`'s
37
+ existing 118-warn baseline) — zero new class-1/3-shaped failures.
38
+ `--strict` stays opt-in (not flipped to the harvester's default) since
39
+ that floor is accepted, not cleared, by this cycle.
40
+
41
+ ### Maintenance
42
+ - **Chunk corpus re-harvested** to reflect the schema fixes above plus
43
+ content fixes in three `.contents.html` sources (`IntegrationCard.provider`,
44
+ `Stat.label`, `Heatmap.type`, two runtime-badge placeholders, and
45
+ `Chart.data` now carrying real parsed arrays instead of raw JSON
46
+ text). 394 chunks total.
47
+
2
48
  ## [0.7.27] — 2026-07-12
3
49
 
4
50
  ### Maintenance
@@ -4036,11 +4036,11 @@
4036
4036
  },
4037
4037
  "--calendar-grid-day-bg-selected": {
4038
4038
  "description": "Background of the selected day cell.",
4039
- "default": "var(--a-accent)"
4039
+ "default": "var(--md-sys-color-primary)"
4040
4040
  },
4041
4041
  "--calendar-grid-day-fg-selected": {
4042
4042
  "description": "Text color of the selected day cell.",
4043
- "default": "var(--a-accent-fg)"
4043
+ "default": "var(--md-sys-color-primary-on-primary)"
4044
4044
  },
4045
4045
  "--calendar-grid-day-size": {
4046
4046
  "description": "Square cell size for day buttons.",
@@ -4048,7 +4048,7 @@
4048
4048
  },
4049
4049
  "--calendar-grid-day-today-color": {
4050
4050
  "description": "Accent color used for the today-indicator dot + numeral tint.",
4051
- "default": "var(--a-accent)"
4051
+ "default": "var(--md-sys-color-primary)"
4052
4052
  },
4053
4053
  "--calendar-grid-width": {
4054
4054
  "description": "Grid container width.",
@@ -4618,7 +4618,7 @@
4618
4618
  },
4619
4619
  "data": {
4620
4620
  "description": "JS property (set programmatically — `el.data = [...]`). An array of plain objects; each object's keys are named by the `x` and `y` attributes — e.g. `<chart-ui x=\"month\" y=\"revenue\">` consumes `[{month:'Jan', revenue:3200}, {month:'Feb', revenue:4100}]`. The Chart.js `{labels, datasets}` envelope is NOT chart-ui's API — passing it (or any non-array value) renders an empty chart. May also be supplied declaratively as a JSON-array `data=\"[…]\"` attribute, hydrated once at connect. Custom accessor on the element class, not a reflected attribute.",
4621
- "$ref": "#/$defs/DynamicStringList"
4621
+ "$ref": "#/$defs/DynamicObjectList"
4622
4622
  },
4623
4623
  "format": {
4624
4624
  "description": "Number-format mode applied to axis labels + value overlays + donut total + gauge value + treemap value + funnel value + internal tooltip. `abbr` is the legacy 1.2K / 3M format; `decimal` fixes 2 decimals; `currency` prefixes via `--chart-currency-prefix` token (default \"$\"); `percent` multiplies × 100 and adds a % suffix.",
@@ -7544,7 +7544,7 @@
7544
7544
  "tag": "confirm-dialog-ui",
7545
7545
  "tokens": {
7546
7546
  "--confirm-dialog-confirm-bg": {
7547
- "description": "Confirm-button background under [confirm-variant=\"primary\"].\nDefaults to var(--a-accent-bg). When [confirm-variant=\"ghost\"]\nthe button uses transparent background regardless of this token.\n"
7547
+ "description": "Confirm-button background under [confirm-variant=\"primary\"].\nDefaults to var(--a-primary-bg). When [confirm-variant=\"ghost\"]\nthe button uses transparent background regardless of this token.\n"
7548
7548
  },
7549
7549
  "--confirm-dialog-icon-bg": {
7550
7550
  "description": "Optional header-icon disc background. Defaults to var(--a-bg-muted)."
@@ -8256,7 +8256,7 @@
8256
8256
  },
8257
8257
  "--date-range-picker-preview-bg": {
8258
8258
  "description": "In-range preview background (between from and pending to).",
8259
- "default": "var(--a-accent-muted)"
8259
+ "default": "var(--md-sys-color-primary-container)"
8260
8260
  },
8261
8261
  "--date-range-picker-px": {
8262
8262
  "description": "Horizontal popover padding.",
@@ -8268,11 +8268,11 @@
8268
8268
  },
8269
8269
  "--date-range-picker-selected-bg": {
8270
8270
  "description": "Selected day-cell background (cascaded into the inner calendar via --calendar-picker-day-bg-selected).",
8271
- "default": "var(--a-accent)"
8271
+ "default": "var(--md-sys-color-primary)"
8272
8272
  },
8273
8273
  "--date-range-picker-selected-fg": {
8274
8274
  "description": "Selected day-cell foreground.",
8275
- "default": "var(--a-accent-fg)"
8275
+ "default": "var(--md-sys-color-primary-on-primary)"
8276
8276
  }
8277
8277
  },
8278
8278
  "traits": [],
@@ -12174,7 +12174,7 @@
12174
12174
  },
12175
12175
  "--inline-edit-outline": {
12176
12176
  "description": "Outline color in the editing state.",
12177
- "default": "var(--a-accent-strong)"
12177
+ "default": "var(--a-primary-strong)"
12178
12178
  },
12179
12179
  "--inline-edit-placeholder": {
12180
12180
  "description": "Placeholder text color in empty-static state.",
@@ -13904,6 +13904,10 @@
13904
13904
  "lg"
13905
13905
  ],
13906
13906
  "default": ""
13907
+ },
13908
+ "textContent": {
13909
+ "description": "Key label text, extracted from innerHTML (e.g. \"Ctrl+K\"). The main payload field for Kbd components extracted from HTML — mirrors Text/Code's textContent prop.",
13910
+ "$ref": "#/$defs/DynamicString"
13907
13911
  }
13908
13912
  },
13909
13913
  "required": [
@@ -15841,7 +15845,7 @@
15841
15845
  "default": false
15842
15846
  },
15843
15847
  "color": {
15844
- "description": "Noodle stroke color. Defaults to --a-accent",
15848
+ "description": "Noodle stroke color. Defaults to --a-primary-bg",
15845
15849
  "type": "string",
15846
15850
  "default": ""
15847
15851
  },
@@ -16675,7 +16679,7 @@
16675
16679
  },
16676
16680
  "--onboarding-checklist-progress-fill": {
16677
16681
  "description": "Progress-bar fill color (forwarded to inner <progress-ui> via --progress-fill).",
16678
- "default": "var(--a-accent)"
16682
+ "default": "var(--md-sys-color-primary)"
16679
16683
  },
16680
16684
  "--onboarding-checklist-px": {
16681
16685
  "description": "Inline (left/right) padding.",
@@ -18148,7 +18152,7 @@
18148
18152
  },
18149
18153
  "--payment-method-list-row-bg-default": {
18150
18154
  "description": "Background tint applied to the default row.",
18151
- "default": "var(--a-accent-muted)"
18155
+ "default": "var(--md-sys-color-primary-container)"
18152
18156
  },
18153
18157
  "--payment-method-list-row-bg-hover": {
18154
18158
  "description": "Row hover background.",
@@ -18160,7 +18164,7 @@
18160
18164
  },
18161
18165
  "--payment-method-list-row-border-default": {
18162
18166
  "description": "Border on the default row.",
18163
- "default": "1px solid var(--a-accent)"
18167
+ "default": "1px solid var(--md-sys-color-primary)"
18164
18168
  },
18165
18169
  "--payment-method-list-row-gap": {
18166
18170
  "description": "Gap between brand mark, meta, and actions cells.",
@@ -18567,7 +18571,7 @@
18567
18571
  },
18568
18572
  "--plan-picker-card-bg-recommended": {
18569
18573
  "description": "Recommended-card background.",
18570
- "default": "var(--a-accent-muted)"
18574
+ "default": "var(--md-sys-color-primary-container)"
18571
18575
  },
18572
18576
  "--plan-picker-card-border": {
18573
18577
  "description": "Default card border.",
@@ -18575,7 +18579,7 @@
18575
18579
  },
18576
18580
  "--plan-picker-card-border-recommended": {
18577
18581
  "description": "Recommended-card accent border.",
18578
- "default": "2px solid var(--a-accent)"
18582
+ "default": "2px solid var(--md-sys-color-primary)"
18579
18583
  },
18580
18584
  "--plan-picker-card-px": {
18581
18585
  "description": "Card horizontal padding.",
@@ -18599,7 +18603,7 @@
18599
18603
  },
18600
18604
  "--plan-picker-feature-icon-fg": {
18601
18605
  "description": "Feature-row check icon color.",
18602
- "default": "var(--a-accent)"
18606
+ "default": "var(--md-sys-color-primary)"
18603
18607
  },
18604
18608
  "--plan-picker-features-gap": {
18605
18609
  "description": "Gap between feature list rows.",
@@ -18919,7 +18923,7 @@
18919
18923
  "default": null
18920
18924
  },
18921
18925
  "variant": {
18922
- "description": "Render mode — `bar` (default) or `spinner`. For fill color set the `--progress-fill` token (defaults to `--a-accent`); there is no variant-as-color (use the token).",
18926
+ "description": "Render mode — `bar` (default) or `spinner`. For fill color set the `--progress-fill` token (defaults to `--md-sys-color-primary`); there is no variant-as-color (use the token).",
18923
18927
  "type": "string",
18924
18928
  "enum": [
18925
18929
  "bar",
@@ -21380,11 +21384,11 @@
21380
21384
  "tokens": {
21381
21385
  "--skip-nav-bg": {
21382
21386
  "description": "Background of the visible (focused) skip link.",
21383
- "default": "var(--a-accent-bg)"
21387
+ "default": "var(--a-primary-bg)"
21384
21388
  },
21385
21389
  "--skip-nav-fg": {
21386
21390
  "description": "Foreground of the visible (focused) skip link.",
21387
- "default": "var(--a-accent-fg)"
21391
+ "default": "var(--md-sys-color-primary-on-primary)"
21388
21392
  }
21389
21393
  },
21390
21394
  "traits": [],
@@ -22304,7 +22308,7 @@
22304
22308
  },
22305
22309
  "StepProgress": {
22306
22310
  "title": "StepProgress",
22307
- "description": "Discrete-dash step-progress indicator. One <span> dash per step in\n[total]; the first [value] dashes are filled with --a-accent. Used\nin multi-step flows (registration, onboarding, wizards). Replaces\nthe bespoke `[data-onb-progress]` + `[data-reg-progress]` markup\nthat lived in onboarding.css + registration.css with a single\nprimitive.\n",
22311
+ "description": "Discrete-dash step-progress indicator. One <span> dash per step in\n[total]; the first [value] dashes are filled with --md-sys-color-primary. Used\nin multi-step flows (registration, onboarding, wizards). Replaces\nthe bespoke `[data-onb-progress]` + `[data-reg-progress]` markup\nthat lived in onboarding.css + registration.css with a single\nprimitive.\n",
22308
22312
  "type": "object",
22309
22313
  "allOf": [
22310
22314
  {
@@ -23153,7 +23157,7 @@
23153
23157
  },
23154
23158
  "data": {
23155
23159
  "description": "Row records. Array of plain objects keyed to columns[].key.",
23156
- "$ref": "#/$defs/DynamicStringList"
23160
+ "$ref": "#/$defs/DynamicObjectList"
23157
23161
  },
23158
23162
  "density": {
23159
23163
  "description": "Controls cell padding and row height. 'compact' for dense data, 'standard' for default spacing, 'comfortable' for spacious rows.",
@@ -23862,7 +23866,7 @@
23862
23866
  },
23863
23867
  "--toc-rule-active": {
23864
23868
  "description": "Active-item indicator rule color (left border).",
23865
- "default": "var(--a-accent-bg)"
23869
+ "default": "var(--a-primary-bg)"
23866
23870
  },
23867
23871
  "--toc-size": {
23868
23872
  "description": "Link font-size.",
@@ -24647,7 +24651,7 @@
24647
24651
  ],
24648
24652
  "slots": {
24649
24653
  "chip": {
24650
- "description": "Custom chip template receives `{value, index}` per token.\nWhen absent, each token renders as a default\n`<tag-ui removable text=\"<value>\">`."
24654
+ "description": "Planned: custom chip template, receiving `{value, index}` per\ntoken NOT YET IMPLEMENTED (TKT-0023; the template mechanism's\nshape needs a design decision before it's built). Every token\ncurrently renders as the fixed default,\n`<tag-ui removable text=\"<value>\">`, with no override path."
24651
24655
  }
24652
24656
  },
24653
24657
  "states": [
@@ -28051,6 +28055,10 @@
28051
28055
  "description": "Named slot to project into when child of a slotted container.",
28052
28056
  "type": "string"
28053
28057
  },
28058
+ "span": {
28059
+ "description": "Grid-child column span, read by grid-ui's CSS attribute selector ([span=\"N\"] { grid-column: span N }). Layout-bearing like slot — accepted on every component, not a per-component prop (TKT-0002/TKT-0010).",
28060
+ "$ref": "#/$defs/DynamicString"
28061
+ },
28054
28062
  "style": {
28055
28063
  "description": "Inline CSS string applied to the host element (use sparingly; prefer variants).",
28056
28064
  "type": "string"
@@ -28075,6 +28083,11 @@
28075
28083
  "description": "Font weight role. Common values: thin, light, normal, medium, semibold, bold.",
28076
28084
  "$ref": "#/$defs/DynamicString"
28077
28085
  }
28086
+ },
28087
+ "patternProperties": {
28088
+ "^data-": {
28089
+ "description": "Arbitrary data-* attribute — a JS/CSS hook the transpiler passes through verbatim (TKT-0010); not modeled per-component."
28090
+ }
28078
28091
  }
28079
28092
  },
28080
28093
  "Checkable": {
@@ -28194,6 +28207,32 @@
28194
28207
  }
28195
28208
  ]
28196
28209
  },
28210
+ "DynamicObjectList": {
28211
+ "description": "An array of plain objects (e.g. chart/table row records) that may be a literal, a path-bound reference, or the result of a FunctionCall. TKT-0010: split from DynamicStringList, which only ever accepted array-of-string — the wrong shape for JS-set collection props whose items are records.",
28212
+ "oneOf": [
28213
+ {
28214
+ "type": "array",
28215
+ "items": {
28216
+ "type": "object"
28217
+ }
28218
+ },
28219
+ {
28220
+ "type": "object",
28221
+ "properties": {
28222
+ "path": {
28223
+ "type": "string"
28224
+ }
28225
+ },
28226
+ "required": [
28227
+ "path"
28228
+ ],
28229
+ "additionalProperties": false
28230
+ },
28231
+ {
28232
+ "$ref": "#/$defs/FunctionCall"
28233
+ }
28234
+ ]
28235
+ },
28197
28236
  "DynamicString": {
28198
28237
  "description": "A string that may be a literal, a path-bound reference, or the result of a FunctionCall.",
28199
28238
  "oneOf": [