@adia-ai/web-components 0.6.40 → 0.6.42

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,5 +1,18 @@
1
1
  # Changelog — @adia-ai/web-components
2
2
 
3
+ ## [0.6.42] — 2026-05-26
4
+
5
+ ### Changed — yaml/sidecar polish absorbing gen-review cycle 8-17 findings
6
+
7
+ - **`description-list.yaml` + `table.yaml` + `upload.yaml`** — yaml + a2ui.json sidecars updated absorbing the gen-review cycle 14-17 corpus-fix arc (slot patterns + table data + header anatomy + accordion-item-ui text= contract).
8
+ - **`core/provider.js`** — minor adjustment.
9
+
10
+ ## [0.6.41] — 2026-05-26
11
+
12
+ ### Maintenance
13
+
14
+ - **Lockstep version bump only — pure ride-along.** No source changes in any of the 9 packages this cycle. Substantive v0.6.41 work is REPO-LEVEL: adia-ui-release skill v1.8.0 → v1.9.0 (catalog-drift recurring graduation — §Step 5.5 pre-commit trip-wire + supersedes-WT contract + §Step 5 allowlist convention; closes FEEDBACK-75). Version bump preserves 9-package lockstep coherence; published tarballs identical to v0.6.40 modulo version metadata.
15
+
3
16
  ## [0.6.40] — 2026-05-26
4
17
 
5
18
  ### Fixed — `index.js` barrel side-effect-imports `core/provider.js` (cold-start `<router-ui>` registration)
@@ -67,11 +67,7 @@
67
67
  "Field",
68
68
  "Section"
69
69
  ],
70
- "slots": {
71
- "[object Object]": {
72
- "description": "Child content region for the `[object Object]` slot."
73
- }
74
- },
70
+ "slots": {},
75
71
  "states": [
76
72
  {
77
73
  "description": "Default, ready for interaction.",
@@ -38,9 +38,10 @@ props:
38
38
  - stacked
39
39
  - inline
40
40
  events: {}
41
- slots:
42
- "[object Object]":
43
- description: "Child content region for the `[object Object]` slot."
41
+ slots: {}
42
+ # Consumer passes <dt>/<dd> children inline (default slot). No named
43
+ # slots. Previous "[object Object]" entry was a yaml-codegen artifact
44
+ # (unstringified JS object key) — cleaned up 2026-05-26.
44
45
  states:
45
46
  - name: idle
46
47
  description: Default, ready for interaction.
@@ -87,7 +87,13 @@
87
87
  ],
88
88
  "unevaluatedProperties": false,
89
89
  "x-adiaui": {
90
- "anti_patterns": [],
90
+ "anti_patterns": [
91
+ {
92
+ "fix": "<table-ui paginate=\"25\"></table-ui>",
93
+ "why": "[virtual] is not a recognized prop. The attribute is silently accepted (custom elements ignore unknown attributes) but has no effect — all rows are still rendered to the DOM. Common cross-framework instinct (AG Grid / TanStack / lit-virtualizer) that does not transfer to table-ui.",
94
+ "wrong": "<table-ui virtual></table-ui>"
95
+ }
96
+ ],
91
97
  "category": "agent",
92
98
  "composes": [
93
99
  "check-ui",
@@ -269,7 +269,22 @@ a2ui:
269
269
  value, dataIndex}. Per ADR-0027, table-ui composes check-ui,
270
270
  icon-ui, progress-ui, pagination-ui, skeleton-ui, badge-ui —
271
271
  consumer pages must explicitly import the ones they use.
272
- anti_patterns: []
272
+ - >-
273
+ For large datasets (100+ rows), use [paginate="N"] to limit
274
+ rendered rows and add a pagination bar. [virtual] is NOT a
275
+ recognized prop and is silently ignored — there is no DOM-level
276
+ virtual scrolling in table-ui. [paginate] is the supported
277
+ performance mechanism. Wire [paginate] with optional [search]
278
+ and the `page` event for server-driven pagination.
279
+ anti_patterns:
280
+ - wrong: '<table-ui virtual></table-ui>'
281
+ why: >-
282
+ [virtual] is not a recognized prop. The attribute is silently
283
+ accepted (custom elements ignore unknown attributes) but has no
284
+ effect — all rows are still rendered to the DOM. Common
285
+ cross-framework instinct (AG Grid / TanStack / lit-virtualizer)
286
+ that does not transfer to table-ui.
287
+ fix: '<table-ui paginate="25"></table-ui>'
273
288
  examples:
274
289
  - name: api-key-table
275
290
  description: API key management table with actions and status badges.
@@ -100,23 +100,7 @@
100
100
  "image",
101
101
  "input"
102
102
  ],
103
- "slots": {
104
- "dropzone": {
105
- "description": "Click/drop target area"
106
- },
107
- "filelist": {
108
- "description": "List of selected file names"
109
- },
110
- "hint": {
111
- "description": "Help text below the dropzone"
112
- },
113
- "input": {
114
- "description": "Hidden native file input"
115
- },
116
- "label": {
117
- "description": "Label element above the dropzone"
118
- }
119
- },
103
+ "slots": {},
120
104
  "states": [
121
105
  {
122
106
  "description": "Default, ready for interaction.",
@@ -47,17 +47,14 @@ props:
47
47
  events:
48
48
  change:
49
49
  description: Fired when files are selected via click or drag-and-drop
50
- slots:
51
- dropzone:
52
- description: Click/drop target area
53
- filelist:
54
- description: List of selected file names
55
- hint:
56
- description: Help text below the dropzone
57
- input:
58
- description: Hidden native file input
59
- label:
60
- description: Label element above the dropzone
50
+ slots: {}
51
+ # Authoring note (2026-05-26): the previous slots block declared
52
+ # dropzone/filelist/hint/input/label, but class.js stamps these as
53
+ # `<div data-dropzone>` / `<div data-filelist>` / `<span hint="…">` etc.
54
+ # NOT as `[slot="X"]` anchors. `<upload-ui><div slot="dropzone">…`
55
+ # wouldn't render (innerHTML stamp wipes child). Hint + label are
56
+ # already declared as props above (text-only); for an avatar / icon
57
+ # / form-element wrapper, compose <field-ui label> around the upload.
61
58
  states:
62
59
  - name: idle
63
60
  description: Default, ready for interaction.
package/core/provider.js CHANGED
@@ -172,6 +172,7 @@ export class UIRouter extends UIProvider {
172
172
  if (!this.#ownCtrl) {
173
173
  this.#ownCtrl = new RouteController({ routes: list });
174
174
  this.controller = this.#ownCtrl;
175
+ this.#ownCtrl.notify();
175
176
  } else {
176
177
  this.#ownCtrl.commands.setRoutes(list);
177
178
  }