@adia-ai/adia-ui-factory 0.8.41 → 0.8.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/.claude-plugin/plugin.json +1 -1
- package/.mcp.json +1 -1
- package/CHANGELOG.md +8 -0
- package/README.md +1 -1
- package/package.json +1 -1
- package/references/shell-admin.md +2 -2
- package/scripts/adia-lint +27 -4
- package/skills/pattern-catalog/references/pattern-index.md +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adia-ui-kit-factory",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.42",
|
|
4
4
|
"description": "Author and verify apps built ON the adia-ui (@adia-ai) light-DOM web-component framework \u2014 orient, scaffold, compose, wire, verify, and migrate across SPA and SSR rendering modes. Wires the a2ui MCP for catalog retrieval, UI generation, and validation.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Kim",
|
package/.mcp.json
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog — adia-ui-kit-factory
|
|
2
2
|
|
|
3
|
+
## [0.8.42] — 2026-08-17
|
|
4
|
+
|
|
5
|
+
### Maintenance
|
|
6
|
+
- Vendored contract/catalog references updated for the ADR-0063 compat shims and rename-wave W1/W2 names (PRs #1565/#1567/#1569).
|
|
7
|
+
- **`.claude-plugin/plugin.json` version bump** — moves in lockstep with package.json (the `/plugin update` cache key).
|
|
8
|
+
- **`scripts/` touched in this release window** (1 file(s), e.g. `scripts/adia-lint`) — carried by the entries above.
|
|
9
|
+
- **`skills/` touched in this release window** (1 file(s), e.g. `references/pattern-index.md`) — carried by the entries above.
|
|
10
|
+
|
|
3
11
|
## [0.8.41] — 2026-08-17
|
|
4
12
|
|
|
5
13
|
### Changed
|
package/README.md
CHANGED
|
@@ -98,7 +98,7 @@ surface-qa-agent) · `component-model.md` · the `references/contracts/` twins.
|
|
|
98
98
|
|
|
99
99
|
## MCP
|
|
100
100
|
|
|
101
|
-
`adia-gen-ui` server pinned: `@adia-ai/mcp@0.8.
|
|
101
|
+
`adia-gen-ui` server pinned: `@adia-ai/mcp@0.8.42` (tool SoT:
|
|
102
102
|
`packages/gen-ui/mcp/TOOLS.md` — the `gen-ui` section; stability rule in
|
|
103
103
|
`references/contracts/`; pin lives in `.mcp.json` — `check:plugin-count-claims`
|
|
104
104
|
guards this README copy against it). The server is `adia-mcp gen-ui`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adia-ai/adia-ui-factory",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.42",
|
|
4
4
|
"description": "Author and verify apps built ON the adia-ui (@adia-ai) light-DOM web-component framework \u2014 orient, scaffold, compose, wire, verify, and migrate across SPA and SSR rendering modes. Wires the a2ui MCP for catalog retrieval, UI generation, and validation.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"adia-ui",
|
|
@@ -21,7 +21,7 @@ Full SaaS/admin chrome from `@adia-ai/web-modules`. Register the **cluster barre
|
|
|
21
21
|
<admin-topbar slot="header"><span slot="heading">Workspace</span></admin-topbar>
|
|
22
22
|
<nav-ui>…</nav-ui>
|
|
23
23
|
<admin-statusbar slot="footer"><admin-entity-item slot="heading">…</admin-entity-item></admin-statusbar>
|
|
24
|
-
<div data-resize></div> <!-- required when [resizable] -->
|
|
24
|
+
<div data-sidebar-resize></div> <!-- required when [resizable] -->
|
|
25
25
|
</admin-sidebar>
|
|
26
26
|
<admin-content>
|
|
27
27
|
<admin-topbar slot="header">
|
|
@@ -80,7 +80,7 @@ SPA mounts the full markup. SSR keeps the shell + chrome fixed and swaps only th
|
|
|
80
80
|
- **Piecemeal import** → `AdminSidebar`/`AdminCommand` unregistered; `.toggle()/.show()` undefined. Import the barrel.
|
|
81
81
|
- **Wrapping shell children in `<col-ui>`/`<row-ui>`** → breaks the grid (it reads tag selectors). Generics go _inside_ `admin-content`/`admin-page-body`.
|
|
82
82
|
- **Raw `<header>` vs `<header-ui>` inside `<admin-page-header>`**: both work — the shell CSS targets `admin-page-header > :is(header, header-ui)` identically (css/admin-shell.templates.css:39), and the CHANGELOG's canonical composition uses raw `<header>`. Pick either; just don't wrap the header in a layout primitive.
|
|
83
|
-
- **`[resizable]` without a child `<div data-resize>`** → no drag handle.
|
|
83
|
+
- **`[resizable]` without a child `<div data-sidebar-resize>`** → no drag handle.
|
|
84
84
|
- **Hardcoded `[collapsed]`** → won't auto-clear on resize; use `.collapse()/.expand()`.
|
|
85
85
|
- **Multiple `<admin-page>` in one `<admin-scroll>`** → single-axis scroll breaks; one page per scroll.
|
|
86
86
|
- **`@container (…)` instead of `@container page-content (…)`** → won't react to sidebar collapse.
|
package/scripts/adia-lint
CHANGED
|
@@ -164,9 +164,25 @@ def lint_text(text, path=""):
|
|
|
164
164
|
ln = text.count("\n", 0, m.start()) + 1
|
|
165
165
|
findings.append(("SHELL-NESTING", ln, text[m.start():m.start() + 60].strip()[:90],
|
|
166
166
|
"shell children are positioned by tag selectors — wrapping them in <col-ui>/<row-ui> breaks the shell grid; generics go inside admin-content/admin-page-body"))
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
167
|
+
# Rename-wave compat window (docs/ops/plan/plan-090-rename-wave.md W1):
|
|
168
|
+
# accepts EITHER the current `data-sidebar-resize` or the deprecated
|
|
169
|
+
# `data-resize` name during the 0.8.x→0.9.0 dual-read window; at the
|
|
170
|
+
# 0.9.0 cut (W3) this drops back to requiring `data-sidebar-resize` only.
|
|
171
|
+
if (re.search(r"<admin-sidebar[^>]*\bresizable\b", text)
|
|
172
|
+
and "data-sidebar-resize" not in text and "data-resize" not in text):
|
|
173
|
+
findings.append(("SHELL-RESIZE", 1, "<admin-sidebar resizable> without [data-sidebar-resize]",
|
|
174
|
+
"[resizable] needs a child <div data-sidebar-resize> or there is no drag handle"))
|
|
175
|
+
# Rename-wave compat window: advisory-only, never fails a build — flags
|
|
176
|
+
# the two deprecated pre-0.9.0 names in consumer-authored markup so the
|
|
177
|
+
# migration surfaces during the window instead of silently at the cut.
|
|
178
|
+
# Negative lookahead protects the unrelated trait-owned `data-resize-*`
|
|
179
|
+
# (resize-observer) / `data-grid-*` (arrow-grid-nav) grandfathered names.
|
|
180
|
+
for _old, _new in (("data-resize", "data-sidebar-resize"), ("data-grid", "data-layout-grid")):
|
|
181
|
+
m = re.search(r"\b" + re.escape(_old) + r"\b(?!-)", text)
|
|
182
|
+
if m:
|
|
183
|
+
ln = text.count("\n", 0, m.start()) + 1
|
|
184
|
+
findings.append(("DEPRECATED-LAYOUT-NAME", ln, f"[{_old}]",
|
|
185
|
+
f"[{_old}] is deprecated and removed in 0.9.0 — rename to [{_new}] (docs/ops/plan/plan-090-rename-wave.md)"))
|
|
170
186
|
# server-side files legitimately hold keys — exempt any path whose
|
|
171
187
|
# segments mention server/api/proxy (the smart-proxy's own home).
|
|
172
188
|
_segs = path.replace(os.sep, "/").lower().split("/")
|
|
@@ -278,9 +294,16 @@ def _selftest():
|
|
|
278
294
|
"<admin-scroll><admin-page>a</admin-page><admin-page>b</admin-page></admin-scroll>\n</admin-shell>",
|
|
279
295
|
{"SHELL-NESTING", "SHELL-RESIZE"}),
|
|
280
296
|
("markup/shell-good.html",
|
|
281
|
-
"<admin-shell>\n<admin-sidebar resizable><div data-resize></div></admin-sidebar>\n"
|
|
297
|
+
"<admin-shell>\n<admin-sidebar resizable><div data-sidebar-resize></div></admin-sidebar>\n"
|
|
282
298
|
"<admin-scroll><admin-page>a</admin-page></admin-scroll>\n</admin-shell>",
|
|
283
299
|
set()),
|
|
300
|
+
# Rename-wave compat window (plan-090 W1): SHELL-RESIZE still accepts
|
|
301
|
+
# the deprecated name, but DEPRECATED-LAYOUT-NAME advises on it —
|
|
302
|
+
# both old names exercised in one fixture.
|
|
303
|
+
("markup/shell-old-names.html",
|
|
304
|
+
"<admin-shell>\n<admin-sidebar resizable><div data-resize></div></admin-sidebar>\n"
|
|
305
|
+
"<admin-content data-grid=\"3\"></admin-content>\n</admin-shell>",
|
|
306
|
+
{"DEPRECATED-LAYOUT-NAME"}),
|
|
284
307
|
# gh#1258 regression: the CANONICAL admin skeleton (shell-patterns.md's admin
|
|
285
308
|
# cluster — admin-page-header/body/footer are distinct CSS-only children whose
|
|
286
309
|
# tag names share the <admin-page prefix) must stay clean.
|
|
@@ -479,7 +479,7 @@
|
|
|
479
479
|
- source: `/catalog/ui-patterns/app/image-upload-preview/image-upload-preview.contents.html` · demo: `/catalog/ui-patterns/app/image-upload-preview/image-upload-preview.html` · docs: `/site/examples/patterns/image-upload-preview`
|
|
480
480
|
- **Color Picker Swatches** (Pattern Library) — Color picker with OKLCH input + preset swatch palette. Click a swatch to apply; manual input edits the picker.
|
|
481
481
|
- keywords: color, picker, swatch, palette, oklch, hex, preset, accent, token, chooser
|
|
482
|
-
- components: `swatch-ui` `text-ui` `col-ui` `card-ui` `color-
|
|
482
|
+
- components: `swatch-ui` `text-ui` `col-ui` `card-ui` `color-area-ui` `row-ui`
|
|
483
483
|
- source: `/catalog/ui-patterns/app/color-picker-swatches/color-picker-swatches.contents.html` · demo: `/catalog/ui-patterns/app/color-picker-swatches/color-picker-swatches.html` · docs: `/site/examples/patterns/color-picker-swatches`
|
|
484
484
|
- **Slider Range Controls** (Pattern Library) — Range slider with min/max numeric inputs flanking the slider track. Allows direct value entry or drag-to-set.
|
|
485
485
|
- keywords: slider, range, min, max, input, numeric, value, control, bound, dual-handle
|