@adia-ai/web-modules 0.8.4 → 0.8.6
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 +22 -1
- package/README.md +11 -0
- package/chat/chat-sidebar/chat-sidebar.js +2 -0
- package/chat/chat-thread/chat-thread.js +2 -0
- package/dist/chat/chat-shell.min.js +23 -23
- package/dist/editor/editor-shell.min.js +8 -8
- package/dist/everything.min.js +139 -134
- package/dist/shell/admin-shell.min.js +2 -2
- package/dist/simple/simple-shell.min.js +6 -6
- package/editor/editor-canvas/editor-canvas.js +2 -0
- package/editor/editor-sidebar/editor-sidebar.js +15 -12
- package/package.json +1 -25
- package/shell/admin-sidebar/admin-sidebar.js +24 -3
- package/shell/admin-sidebar/admin-sidebar.test.js +50 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
# Changelog — @adia-ai/web-modules
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [0.8.6] — 2026-07-18
|
|
4
|
+
|
|
5
|
+
### Maintenance
|
|
6
|
+
- **Lockstep version bump only.** No source changes in this package; bumped to maintain the 11-package version coherence enforced by `scripts/release/check-lockstep.mjs`. Substantive v0.8.6 work shipped in SSR attribute-replay fix + table declarative data + token repoints (@adia-ai/web-components), gh#268 forge modernization campaign (adia-forge). See `packages/web-components/CHANGELOG.md#086--2026-07-18` for details.
|
|
7
|
+
- **`dist/` bundles rebuilt** in this cut's window (5 file(s)) — regenerated from the source changes described above, not independent edits.
|
|
8
|
+
|
|
9
|
+
## [0.8.5] — 2026-07-17
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
- **`scripts/verify/exports-wildcard-resolution.mjs`** (gh#296, shared with `@adia-ai/web-components`): live-resolution regression gate asserting every documented short-form CSS/JS subpath specifier resolves to a real on-disk file. Removed 6 dead exports-map keys (`./shell/*/*.css`, `./chat/*/*.css`, `./editor/*/*.css`, `./simple/*/*.css`, `./runtime/*/*.css`, `./theme/*/*.css`) — confirmed via live `import.meta.resolve()` testing that these never actually resolved (Node's pattern matching always picked the single-wildcard sibling key instead), so they provided no real "nested form" support despite looking like they did. Documented the underlying trap (a redundant nested specifier like `shell/admin-command/admin-command.css` silently resolves to a garbage, nonexistent quadrupled path instead of throwing) in `README.md` — not fixable in the exports map itself, since Node's `*` matches across `/` with no way to constrain it to one path segment.
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
- **`shell/admin-sidebar`: a zero-rect connect no longer snaps the sidebar collapsed (gh#286)**: `connectedCallback` read `getBoundingClientRect().width` synchronously and derived `[collapsed]` from it unconditionally — SSR shims (no layout engine) and any early-connect case (an ancestor `display:none`) always return 0×0, which unconditionally satisfied the collapse threshold. A zero width is now treated as "unknown," not "collapsed" — `#syncCollapsedFromWidth()` no-ops on a 0 read; the existing per-host `ResizeObserver` now also derives `[collapsed]` from its first tick as the deferred correction. 3 new tests cover the zero-rect connect, a persisted-width survival case, and the `ResizeObserver` self-correction in both directions.
|
|
16
|
+
- **Browser-only API call sites guarded for SSR (gh#285, shared with `@adia-ai/web-components`)**: `chat/chat-sidebar`, `chat/chat-thread`, `dashboard/dashboard-layout`, `editor/editor-canvas`, `editor/editor-sidebar`, and `shell/admin-sidebar` had unconditional `ResizeObserver`/`IntersectionObserver`/`MutationObserver` construction sites, now feature-detected — same audit and fix shape as `@adia-ai/web-components`; see `packages/web-components/CHANGELOG.md#085--2026-07-17` for the framework-wide detail.
|
|
17
|
+
|
|
18
|
+
### Maintenance
|
|
19
|
+
- **`dist/` bundles rebuilt** (`chat/chat-shell.min.js`, `editor/editor-shell.min.js`, `shell/admin-shell.min.js`, `simple/simple-shell.min.js`, `everything.min.js`) — picks up the gh#285/gh#286 source fixes above.
|
|
20
|
+
|
|
21
|
+
## [0.8.4] — 2026-07-16
|
|
4
22
|
|
|
5
23
|
### Added
|
|
6
24
|
- **`chat-shell.appendMessage({ html: true })`** — assistant messages can carry trusted app-authored component markup (light-DOM upgrade in place); the `render` (markdown) path escapes inline HTML by design, which made gen-ui's error bubbles show raw `<col-ui …>` source text. The html mode persists on the message record and survives `stopStreaming()` and `conversation` getter/setter round-trips.
|
|
7
25
|
|
|
26
|
+
### Fixed
|
|
27
|
+
- **`billing/payment-method-list` row focus ring double-drew the edge** — the focused row kept its 1px card border under the ring (`outline` + `outline-offset`); `border-color: transparent` while focused, per the framework-wide focus-ring pairing ruling (2026-07-16).
|
|
28
|
+
|
|
8
29
|
### Maintenance
|
|
9
30
|
- **`dist/` bundles rebuilt** (`chat/chat-shell.min.js`, `everything.min.js` — the chat-shell change plus the inlined @adia-ai/llm provider-routing fixes).
|
|
10
31
|
|
package/README.md
CHANGED
|
@@ -168,6 +168,17 @@ import '@adia-ai/web-modules/runtime/gen-root.css';
|
|
|
168
168
|
|
|
169
169
|
> **For pre-v0.4.5 consumers:** if you were importing CSS via the relative `node_modules` path (`'../node_modules/@adia-ai/web-modules/editor/editor-shell/editor-shell.css'`), switch to the package-specifier form above. The relative-path form is fragile under pnpm, Yarn PnP, and npm hoisting; the new package-specifier form works under all three.
|
|
170
170
|
|
|
171
|
+
> **Don't repeat the directory name.** Every cluster child lives at
|
|
172
|
+
> `<cluster>/<name>/<name>.css` on disk (e.g. `shell/admin-command/admin-command.css`),
|
|
173
|
+
> so `@adia-ai/web-modules/shell/admin-command/admin-command.css` looks like
|
|
174
|
+
> the natural specifier — it is NOT. Use the short form,
|
|
175
|
+
> `@adia-ai/web-modules/shell/admin-command.css`, exactly as shown above.
|
|
176
|
+
> The nested form silently resolves to a garbage, nonexistent path
|
|
177
|
+
> (the directory name quadrupled) instead of a clear "not found" error —
|
|
178
|
+
> Node's exports-map wildcards match across `/` with no way to prevent
|
|
179
|
+
> this, so it can't be fixed in the package. Tracked as
|
|
180
|
+
> [gh#296](https://github.com/adiahealth/gen-ui-kit/issues/296).
|
|
181
|
+
|
|
171
182
|
## Import: JS + CSS in one line (`/with-css`)
|
|
172
183
|
|
|
173
184
|
For the `shell` cluster, the `/with-css` opt-in collapses the JS + CSS
|
|
@@ -202,6 +202,8 @@ class ChatSidebar extends UIElement {
|
|
|
202
202
|
// ── Child ResizeObserver — flips select-ui placement in narrow mode ──
|
|
203
203
|
|
|
204
204
|
#setupChildResizeObserver() {
|
|
205
|
+
// gh#285 — SSR DOM shims (linkedom) have no ResizeObserver global.
|
|
206
|
+
if (typeof ResizeObserver === 'undefined') return;
|
|
205
207
|
this.#childRO = new ResizeObserver((entries) => {
|
|
206
208
|
for (const entry of entries) {
|
|
207
209
|
const narrow = entry.contentBoxSize[0].inlineSize <= SNAP_THRESHOLD;
|
|
@@ -81,6 +81,8 @@ class ChatThread extends UIElement {
|
|
|
81
81
|
}
|
|
82
82
|
|
|
83
83
|
#setupChildObserver() {
|
|
84
|
+
// gh#285 — SSR DOM shims (linkedom) have no MutationObserver global.
|
|
85
|
+
if (typeof MutationObserver === 'undefined') return;
|
|
84
86
|
this.#childObserver = new MutationObserver(() => {
|
|
85
87
|
this.#syncEmptyFromChildren();
|
|
86
88
|
// New message added — scroll to bottom if user is at bottom
|