@adia-ai/a2ui-corpus 0.2.3 → 0.2.5
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 +30 -1
- package/catalog-a2ui_0_9.json +246 -0
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -9,7 +9,36 @@ gap registry. Consumed by `@adia-ai/a2ui-retrieval` and
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
_No pending changes._
|
|
13
|
+
|
|
14
|
+
## [0.2.5] - 2026-05-04
|
|
15
|
+
|
|
16
|
+
**Lockstep cut + catalog regen for `<fields-ui>` primitive.** All 8 published `@adia-ai/*` packages bump 0.2.4 → 0.2.5 per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Patch cut — **no BREAKING changes**.
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- `version`: `0.2.4` → `0.2.5`.
|
|
21
|
+
- `catalog-a2ui_0_9.json`: 1 new entry covering the new `<fields-ui>` primitive (component class `Fields`, tag `fields-ui`, props `[columns]` + `[inline]`, default slot for `<field-ui>` children + the `rows` span pattern). Catalog: 97 → 98 yamls.
|
|
22
|
+
- Per-element `fields/fields.a2ui.json` written by `scripts/build/components.mjs`.
|
|
23
|
+
|
|
24
|
+
## [0.2.4] - 2026-05-04
|
|
25
|
+
|
|
26
|
+
**Lockstep cut + catalog regen for `<demo-toggle-ui>` primitive.** All 8 published `@adia-ai/*` packages bump 0.2.3 → 0.2.4 per [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy). Patch cut — no breaking changes.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
|
|
30
|
+
- `version`: `0.2.3` → `0.2.4`.
|
|
31
|
+
- `catalog-a2ui_0_9.json`: 6 new references (name + slots + events + props + tokens + example) covering the new `<demo-toggle-ui>` primitive added in `web-components@0.2.4`.
|
|
32
|
+
|
|
33
|
+
### Changed — Catalog regenerated against `web-components` Tier-4 surface
|
|
34
|
+
|
|
35
|
+
`catalog-a2ui_0_9.json` regenerated to include the new
|
|
36
|
+
`<demo-toggle-ui>` primitive (6 references covering name + slots +
|
|
37
|
+
events + props + tokens + example) authored alongside the trait-
|
|
38
|
+
library lift initiative's Tier 5 work. No other corpus surface
|
|
39
|
+
changed; new traits introduced in `web-components` are picked up via
|
|
40
|
+
the generated `_catalog.json` consumed by
|
|
41
|
+
`@adia-ai/a2ui-retrieval`.
|
|
13
42
|
|
|
14
43
|
---
|
|
15
44
|
|
package/catalog-a2ui_0_9.json
CHANGED
|
@@ -4045,6 +4045,148 @@
|
|
|
4045
4045
|
"version": 1
|
|
4046
4046
|
}
|
|
4047
4047
|
},
|
|
4048
|
+
"DemoToggle": {
|
|
4049
|
+
"title": "DemoToggle",
|
|
4050
|
+
"description": "Side-by-side comparison primitive — header bar with a switch + two child slots (\"on\" / \"off\"); toggling the switch swaps which slot is visible. Used on trait detail pages to show \"with trait\" vs \"without trait\" on the same chrome. data-mode=\"overlay\" stacks the slots on the same coordinates so layout never shifts.",
|
|
4051
|
+
"type": "object",
|
|
4052
|
+
"allOf": [
|
|
4053
|
+
{
|
|
4054
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
4055
|
+
},
|
|
4056
|
+
{
|
|
4057
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
4058
|
+
}
|
|
4059
|
+
],
|
|
4060
|
+
"properties": {
|
|
4061
|
+
"component": {
|
|
4062
|
+
"const": "DemoToggle"
|
|
4063
|
+
},
|
|
4064
|
+
"initial": {
|
|
4065
|
+
"description": "Initial state when [state] is not set on connect (\"on\" | \"off\").",
|
|
4066
|
+
"type": "string",
|
|
4067
|
+
"enum": [
|
|
4068
|
+
"on",
|
|
4069
|
+
"off"
|
|
4070
|
+
],
|
|
4071
|
+
"default": "off"
|
|
4072
|
+
},
|
|
4073
|
+
"labelOff": {
|
|
4074
|
+
"description": "Header label rendered when state is \"off\".",
|
|
4075
|
+
"type": "string",
|
|
4076
|
+
"default": "Off"
|
|
4077
|
+
},
|
|
4078
|
+
"labelOn": {
|
|
4079
|
+
"description": "Header label rendered when state is \"on\".",
|
|
4080
|
+
"type": "string",
|
|
4081
|
+
"default": "On"
|
|
4082
|
+
},
|
|
4083
|
+
"state": {
|
|
4084
|
+
"description": "Current toggle state (\"on\" | \"off\"). Reflected as data-state on the host.",
|
|
4085
|
+
"type": "string",
|
|
4086
|
+
"enum": [
|
|
4087
|
+
"",
|
|
4088
|
+
"on",
|
|
4089
|
+
"off"
|
|
4090
|
+
],
|
|
4091
|
+
"default": ""
|
|
4092
|
+
}
|
|
4093
|
+
},
|
|
4094
|
+
"required": [
|
|
4095
|
+
"component"
|
|
4096
|
+
],
|
|
4097
|
+
"unevaluatedProperties": false,
|
|
4098
|
+
"x-adiaui": {
|
|
4099
|
+
"anti_patterns": [],
|
|
4100
|
+
"category": "container",
|
|
4101
|
+
"events": {
|
|
4102
|
+
"change": {
|
|
4103
|
+
"description": "Fired when the toggle flips. detail contains { state }."
|
|
4104
|
+
}
|
|
4105
|
+
},
|
|
4106
|
+
"examples": [
|
|
4107
|
+
{
|
|
4108
|
+
"description": "Compare a trait-bearing surface against the bare control on the same chrome.",
|
|
4109
|
+
"a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"DemoToggle\",\n \"labelOn\": \"With shimmer-loading\",\n \"labelOff\": \"Without shimmer-loading\",\n \"initial\": \"off\",\n \"children\": [\"off\", \"on\"]\n },\n {\n \"id\": \"off\",\n \"component\": \"Card\",\n \"slot\": \"off\",\n \"children\": [\"off-section\"]\n },\n {\n \"id\": \"off-section\",\n \"component\": \"Section\",\n \"children\": [\"off-text\"]\n },\n {\n \"id\": \"off-text\",\n \"component\": \"Text\",\n \"textContent\": \"Bare surface — no trait attached.\"\n },\n {\n \"id\": \"on\",\n \"component\": \"Card\",\n \"slot\": \"on\",\n \"children\": [\"on-section\"]\n },\n {\n \"id\": \"on-section\",\n \"component\": \"Section\",\n \"children\": [\"on-text\"]\n },\n {\n \"id\": \"on-text\",\n \"component\": \"Text\",\n \"textContent\": \"Same surface, with trait attached.\"\n }\n]",
|
|
4110
|
+
"name": "with-without-trait"
|
|
4111
|
+
}
|
|
4112
|
+
],
|
|
4113
|
+
"keywords": [
|
|
4114
|
+
"demo",
|
|
4115
|
+
"toggle",
|
|
4116
|
+
"compare",
|
|
4117
|
+
"comparison",
|
|
4118
|
+
"trait",
|
|
4119
|
+
"before-after",
|
|
4120
|
+
"a-b",
|
|
4121
|
+
"switch"
|
|
4122
|
+
],
|
|
4123
|
+
"name": "UIDemoToggle",
|
|
4124
|
+
"related": [
|
|
4125
|
+
"Switch",
|
|
4126
|
+
"Card"
|
|
4127
|
+
],
|
|
4128
|
+
"slots": {
|
|
4129
|
+
"bar": {
|
|
4130
|
+
"description": "Internal header bar (auto-stamped). Hosts the embedded switch + label."
|
|
4131
|
+
},
|
|
4132
|
+
"off": {
|
|
4133
|
+
"description": "Surface rendered when state is \"off\" (the \"without trait\" variant)."
|
|
4134
|
+
},
|
|
4135
|
+
"on": {
|
|
4136
|
+
"description": "Surface rendered when state is \"on\" (the \"with trait\" variant)."
|
|
4137
|
+
}
|
|
4138
|
+
},
|
|
4139
|
+
"states": [
|
|
4140
|
+
{
|
|
4141
|
+
"description": "Default, ready for interaction.",
|
|
4142
|
+
"name": "idle"
|
|
4143
|
+
},
|
|
4144
|
+
{
|
|
4145
|
+
"description": "On slot is active; bar leans accent.",
|
|
4146
|
+
"attribute": "data-state",
|
|
4147
|
+
"name": "on"
|
|
4148
|
+
},
|
|
4149
|
+
{
|
|
4150
|
+
"description": "Off slot is active; bar is neutral.",
|
|
4151
|
+
"attribute": "data-state",
|
|
4152
|
+
"name": "off"
|
|
4153
|
+
}
|
|
4154
|
+
],
|
|
4155
|
+
"synonyms": {
|
|
4156
|
+
"compare": [
|
|
4157
|
+
"demo-toggle",
|
|
4158
|
+
"segmented"
|
|
4159
|
+
],
|
|
4160
|
+
"switch": [
|
|
4161
|
+
"demo-toggle",
|
|
4162
|
+
"toggle-group"
|
|
4163
|
+
]
|
|
4164
|
+
},
|
|
4165
|
+
"tag": "demo-toggle-ui",
|
|
4166
|
+
"tokens": {
|
|
4167
|
+
"--demo-toggle-bar-bg": {
|
|
4168
|
+
"description": "Header bar background (accent when state=on)"
|
|
4169
|
+
},
|
|
4170
|
+
"--demo-toggle-bar-fg": {
|
|
4171
|
+
"description": "Header bar foreground"
|
|
4172
|
+
},
|
|
4173
|
+
"--demo-toggle-bg": {
|
|
4174
|
+
"description": "Stage background"
|
|
4175
|
+
},
|
|
4176
|
+
"--demo-toggle-border": {
|
|
4177
|
+
"description": "Border color"
|
|
4178
|
+
},
|
|
4179
|
+
"--demo-toggle-radius": {
|
|
4180
|
+
"description": "Outer border-radius"
|
|
4181
|
+
},
|
|
4182
|
+
"--demo-toggle-stage-padding": {
|
|
4183
|
+
"description": "Inner padding around each slot"
|
|
4184
|
+
}
|
|
4185
|
+
},
|
|
4186
|
+
"traits": [],
|
|
4187
|
+
"version": 1
|
|
4188
|
+
}
|
|
4189
|
+
},
|
|
4048
4190
|
"DescriptionList": {
|
|
4049
4191
|
"title": "DescriptionList",
|
|
4050
4192
|
"description": "Semantic key-value list (dl/dt/dd). Preserves native HTML semantics for screen readers and SSR. Layout supports stacked (default) or inline.",
|
|
@@ -4973,6 +5115,110 @@
|
|
|
4973
5115
|
"version": 1
|
|
4974
5116
|
}
|
|
4975
5117
|
},
|
|
5118
|
+
"Fields": {
|
|
5119
|
+
"title": "Fields",
|
|
5120
|
+
"description": "Container for a group of <field-ui> children, laid out on a shared 6-column grid. Each <field-ui> spans the full row by default; opt into a narrower span via [rows=\"1..6\"]. Setting [inline] on the host propagates the inline mode to every direct <field-ui> child so a whole sub-form can switch label-position without per-field edits. The grid alignment lets siblings on the same row line up cleanly — consistent label columns + consistent control columns — without the wrap-flex jitter of <row-ui wrap>.",
|
|
5121
|
+
"type": "object",
|
|
5122
|
+
"allOf": [
|
|
5123
|
+
{
|
|
5124
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
5125
|
+
},
|
|
5126
|
+
{
|
|
5127
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
5128
|
+
}
|
|
5129
|
+
],
|
|
5130
|
+
"properties": {
|
|
5131
|
+
"columns": {
|
|
5132
|
+
"description": "Number of grid columns the row uses. Defaults to 6 — common multiples (1/2/3/6) divide cleanly. <field-ui rows=\"N\"> spans `N` of these columns. Override per-instance for tighter 4-column or wider 12-column compositions.",
|
|
5133
|
+
"type": "number",
|
|
5134
|
+
"default": 6
|
|
5135
|
+
},
|
|
5136
|
+
"component": {
|
|
5137
|
+
"const": "Fields"
|
|
5138
|
+
},
|
|
5139
|
+
"inline": {
|
|
5140
|
+
"description": "Propagate the inline layout mode to every direct <field-ui> child. Equivalent to authoring `inline` on each child but drives the whole group from one place. Toggle is reactive — flipping the attribute on the host re-syncs all children.",
|
|
5141
|
+
"type": "boolean",
|
|
5142
|
+
"default": false
|
|
5143
|
+
}
|
|
5144
|
+
},
|
|
5145
|
+
"required": [
|
|
5146
|
+
"component"
|
|
5147
|
+
],
|
|
5148
|
+
"unevaluatedProperties": false,
|
|
5149
|
+
"x-adiaui": {
|
|
5150
|
+
"anti_patterns": [
|
|
5151
|
+
{
|
|
5152
|
+
"description": "Don't wrap <field-ui> children in <row-ui wrap> when grid alignment is desired. row-ui is flex-wrap, which lets each field size to its content — labels and controls won't share a column with siblings.",
|
|
5153
|
+
"severity": "high"
|
|
5154
|
+
},
|
|
5155
|
+
{
|
|
5156
|
+
"description": "Don't set `inline` on individual <field-ui> children when the whole group should switch — set it on the parent <fields-ui> and let the propagation handle every child.",
|
|
5157
|
+
"severity": "medium"
|
|
5158
|
+
}
|
|
5159
|
+
],
|
|
5160
|
+
"category": "form",
|
|
5161
|
+
"events": {},
|
|
5162
|
+
"examples": [
|
|
5163
|
+
{
|
|
5164
|
+
"description": "A 3-up stacked field row — Status / Priority / Group — each taking 2 of 6 columns. Equivalent to a Bootstrap \"col-md-4\" pattern (12-col grid, span 4) but with chat-ui's 6-col default.",
|
|
5165
|
+
"a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"Fields\",\n \"children\": [\"status\", \"priority\", \"group\"]\n },\n { \"id\": \"status\", \"component\": \"Field\", \"label\": \"Status\", \"rows\": 2, \"children\": [\"status-sel\"] },\n { \"id\": \"priority\", \"component\": \"Field\", \"label\": \"Priority\", \"rows\": 2, \"children\": [\"priority-sel\"] },\n { \"id\": \"group\", \"component\": \"Field\", \"label\": \"Group\", \"rows\": 2, \"children\": [\"group-sel\"] },\n { \"id\": \"status-sel\", \"component\": \"Select\", \"value\": \"todo\" },\n { \"id\": \"priority-sel\", \"component\": \"Select\", \"value\": \"0\" },\n { \"id\": \"group-sel\", \"component\": \"Select\", \"value\": \"\" }\n]",
|
|
5166
|
+
"name": "three-up-stacked"
|
|
5167
|
+
},
|
|
5168
|
+
{
|
|
5169
|
+
"description": "An inline form — every field renders label-beside-control. Single [inline] on the host drives all children.",
|
|
5170
|
+
"a2ui": "[\n {\n \"id\": \"root\",\n \"component\": \"Fields\",\n \"inline\": true,\n \"children\": [\"q\", \"kind\"]\n },\n { \"id\": \"q\", \"component\": \"Field\", \"label\": \"Search\", \"children\": [\"q-input\"] },\n { \"id\": \"kind\", \"component\": \"Field\", \"label\": \"Kind\", \"children\": [\"kind-sel\"] },\n { \"id\": \"q-input\", \"component\": \"Input\", \"type\": \"search\" },\n { \"id\": \"kind-sel\", \"component\": \"Select\", \"value\": \"all\" }\n]",
|
|
5171
|
+
"name": "inline-search-form"
|
|
5172
|
+
}
|
|
5173
|
+
],
|
|
5174
|
+
"keywords": [
|
|
5175
|
+
"fields",
|
|
5176
|
+
"form",
|
|
5177
|
+
"grid",
|
|
5178
|
+
"layout",
|
|
5179
|
+
"group"
|
|
5180
|
+
],
|
|
5181
|
+
"name": "UIFields",
|
|
5182
|
+
"related": [
|
|
5183
|
+
"field",
|
|
5184
|
+
"input",
|
|
5185
|
+
"select",
|
|
5186
|
+
"textarea"
|
|
5187
|
+
],
|
|
5188
|
+
"slots": {
|
|
5189
|
+
"default": {
|
|
5190
|
+
"description": "<field-ui> children. Non-field children (separators, headings) are placed in the grid too — span them by setting `style=\"grid-column: 1 / -1\"` for full-width content. Nested <fields-ui> works (an outer 6-col grid hosting inner 3-col grids inside a single cell)."
|
|
5191
|
+
}
|
|
5192
|
+
},
|
|
5193
|
+
"states": [
|
|
5194
|
+
{
|
|
5195
|
+
"description": "Default, ready for interaction.",
|
|
5196
|
+
"name": "idle"
|
|
5197
|
+
}
|
|
5198
|
+
],
|
|
5199
|
+
"synonyms": {
|
|
5200
|
+
"form": [
|
|
5201
|
+
"fields",
|
|
5202
|
+
"group",
|
|
5203
|
+
"layout"
|
|
5204
|
+
]
|
|
5205
|
+
},
|
|
5206
|
+
"tag": "fields-ui",
|
|
5207
|
+
"tokens": {
|
|
5208
|
+
"--fields-column-gap": {
|
|
5209
|
+
"description": "Override the column-gap independently of row-gap."
|
|
5210
|
+
},
|
|
5211
|
+
"--fields-gap": {
|
|
5212
|
+
"description": "Gap between adjacent fields (row + column)."
|
|
5213
|
+
},
|
|
5214
|
+
"--fields-row-gap": {
|
|
5215
|
+
"description": "Override the row-gap independently of column-gap."
|
|
5216
|
+
}
|
|
5217
|
+
},
|
|
5218
|
+
"traits": [],
|
|
5219
|
+
"version": 1
|
|
5220
|
+
}
|
|
5221
|
+
},
|
|
4976
5222
|
"Footer": {
|
|
4977
5223
|
"title": "Footer",
|
|
4978
5224
|
"description": "Footer — styled by closest container parent (Card / Drawer / Modal / Page / AppShell). Contains actions, pagination, or summary. Typically holds Buttons.",
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adia-ai/a2ui-corpus",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "AdiaUI A2UI training corpus
|
|
5
|
+
"description": "AdiaUI A2UI training corpus \u2014 patterns, fragments, compositions, exemplars, eval fixtures, feedback, gap registry. Consumed by the compose engine's retrieval layer + the MCP pipeline.",
|
|
6
6
|
"exports": {
|
|
7
|
-
".":
|
|
8
|
-
"./patterns":
|
|
9
|
-
"./exemplars/*":
|
|
10
|
-
"./manifest":
|
|
11
|
-
"./chunks":
|
|
12
|
-
"./chunks/*":
|
|
13
|
-
"./chunk-library":
|
|
14
|
-
"./chunk-embeddings":
|
|
7
|
+
".": "./catalog-a2ui_0_9.json",
|
|
8
|
+
"./patterns": "./patterns/_components.json",
|
|
9
|
+
"./exemplars/*": "./exemplars/*",
|
|
10
|
+
"./manifest": "./manifest.json",
|
|
11
|
+
"./chunks": "./chunks/_index.json",
|
|
12
|
+
"./chunks/*": "./chunks/*",
|
|
13
|
+
"./chunk-library": "./scripts/chunk-library.js",
|
|
14
|
+
"./chunk-embeddings": "./chunk-embeddings.json",
|
|
15
15
|
"./pattern-embeddings": "./pattern-embeddings.json"
|
|
16
16
|
},
|
|
17
17
|
"files": [
|