@adia-ai/web-modules 0.5.4 → 0.5.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 CHANGED
@@ -6,11 +6,59 @@ Follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and
6
6
  Scope: composite custom elements organized by cluster (shell, chat,
7
7
  editor, runtime today; data, agent, admin on the strategic horizon).
8
8
  Built from `@adia-ai/web-components` primitives.
9
-
10
9
  ## [Unreleased]
11
10
 
12
11
  _No pending changes._
12
+ ## [0.5.6] - 2026-05-14
13
+
14
+ ### Fixed — §196 (v0.5.6) — `editor-toolbar` + `editor-statusbar` action-slot positioning (FEEDBACK-09 §1 + §2)
15
+
16
+ The `[slot="action"]:first-of-type` selector in `editor-shell.bespoke.css` (lines 55-57 + 236-238 pre-fix) was buggy: `:first-of-type` matches first-by-tagName (e.g. first `<span>`), not first-by-slot. When a `<span slot="title">` or `<span slot="action-leading">` preceded the action cluster, the `margin-inline-start: auto` push-right behavior silently fell through. Consumer-visible: action buttons in the toolbar/statusbar would cluster left-of-center rather than anchoring to the trailing edge.
17
+
18
+ **Fix**: split into two cascading rules per surface — (a) every `[slot="action"]` gets `margin-inline-start: auto` (so the FIRST action pushes right); (b) every subsequent `[slot="action"]` sibling (`~` combinator) overrides with `var(--a-space-2)` for uniform inter-button spacing. CSS pattern matches the original intent without depending on element-type ordering.
19
+
20
+ Reported in FEEDBACK-09 (Tokens Studio Round 9). Closes the bug class for both surfaces simultaneously.
21
+
22
+ ### Added — §193 (v0.5.6) — `<admin-command>` ships its own chrome-reset module CSS
23
+
24
+ NEW `packages/web-modules/shell/admin-command/admin-command.css` —
25
+ the ~20-line `<dialog>` chrome reset + position/size defaults
26
+ previously authored 2× inline by consumers (`site/index.html` +
27
+ `playgrounds/admin-shell/app/admin-shell.html`) now ships with the
28
+ module. Consumers `<link>` it and inherit:
29
+
30
+ - Native `<dialog>` chrome stripped (`border`, `background`,
31
+ `padding`, `margin`, `max-width`, `max-height` all reset)
32
+ - Positioning defaults (`position: fixed`, `top: 20vh`,
33
+ `transform: translateX(-50%)`)
34
+ - Inner `<command-ui>` sizing (`32rem × 24rem`)
35
+ - Backdrop dim (`rgba(0, 0, 0, 0.5)`)
36
+
37
+ All declarations are layer-0 defaults; consumers can override from
38
+ their own stylesheet. Pattern matches the AdiaUI module convention
39
+ (co-located `<name>.css` per module, consumer `<link>`s it; see
40
+ `admin-shell.css` for a precedent).
41
+
42
+ Closes the §189 follow-up filing (v0.5.5 docs-site palette regression
43
+ repair flagged this duplication as a future cleanup). Two consumers
44
+ updated in the same commit: both now `<link>` the module CSS instead
45
+ of inlining a `<style>` block. Future consumers avoid the duplication.
46
+
47
+ ### Fixed — §190a (v0.5.6) — `theme-panel` demo a11y silenced
48
+
49
+ `packages/web-modules/theme/theme-panel/theme-panel.examples.html` —
50
+ icon-only buttons in the example markup gained explicit `aria-label` /
51
+ `title` attributes so the v0.5.5 §184 §8 `<button-ui>` a11y safety-net
52
+ warn (`[button-ui] Icon-only button is missing an accessible name`) no
53
+ longer fires on AdiaUI-owned demo surfaces. Documentation-grade change;
54
+ no runtime behavior delta for theme-panel itself.
55
+ ## [0.5.5] - 2026-05-14
13
56
 
57
+ ### Changed — lockstep ride-along; no source changes
58
+
59
+ `version`: `0.5.4` → `0.5.5`. Source byte-identical to `0.5.4`.
60
+
61
+ Tracking the v0.5.5 cycle's detector-driven cleanup arcs (§176-§179) + exe.dev LLM Gateway migration (§181-§188) + FEEDBACK-08 closure (§184): see root `CHANGELOG.md` for the full narrative. This package carries no source changes this cycle.
14
62
  ## [0.5.4] - 2026-05-14
15
63
 
16
64
  ### Changed — lockstep ride-along; no source changes
@@ -22,24 +70,18 @@ Tracking the v0.5.4 cycle's prop-fidelity arcs (§163 transpiler fix,
22
70
  §164 chunk re-harvest, §165 validator check #19, §166a/b/c audit-script
23
71
  family slots 12+13 + smoke shift-left): see root `CHANGELOG.md` for the
24
72
  full narrative. This package carries no source changes this cycle.
25
-
26
73
  ## [0.5.3] - 2026-05-14
27
74
 
28
75
  _No pending changes._
29
-
30
76
  ## [0.5.2] - 2026-05-13
31
77
 
32
78
  _Lockstep ride-along (no source change)._
33
-
34
-
35
79
  ## [0.5.1] - 2026-05-13
36
80
 
37
81
  _Lockstep ride-along (no source change)._
38
-
39
82
  ## [0.5.0] - 2026-05-13
40
83
 
41
84
  _Lockstep ride-along (no source change)._
42
-
43
85
  ## [0.4.9] - 2026-05-13
44
86
 
45
87
  ### Added — `<editor-sidebar>` `[persist]` attribute (§91c, FEEDBACK-04 #6)
@@ -98,7 +140,6 @@ Two reachable import paths:
98
140
  - `import { isFocusInInput } from '@adia-ai/web-modules/editor/utils';` (direct subpath)
99
141
 
100
142
  Both carry types via the new `types` conditionals.
101
-
102
143
  ## [0.4.8] - 2026-05-12
103
144
 
104
145
  ### Added — TypeScript declarations for all web-modules (FEEDBACK-02 #1, v0.4.8)
@@ -124,13 +165,11 @@ Each web-module YAML now declares a `composes:` field listing the `@adia-ai/web-
124
165
  `README.md` § Module authoring updated with the `composes:` field semantics + lexical-scope rationale (why composes-declared imports must live at the consumer page, not transitively pulled by the module). Aligns with §66's `adaptV09Component()` catalog reader work.
125
166
 
126
167
  See root [CHANGELOG.md `[Unreleased]`](../../CHANGELOG.md) for the cross-cutting arc narrative.
127
-
128
168
  ## [0.4.7] - 2026-05-12
129
169
 
130
170
  ### Changed — `chat/chat-thread.yaml` populates `synonyms.tags` (§72)
131
171
 
132
172
  The composite `chat-thread.yaml` picks up the alias array previously held in the retired `@adia-ai/a2ui-corpus/patterns/_components.json` — `chat`, `conversation`, `messages`, `chat-log`, `message-thread`. Sidecar regenerated by `npm run components`. Mirrors the per-component yaml sweep on `@adia-ai/web-components` for §72 (the §65 carry-over from v0.4.6).
133
-
134
173
  ## [0.4.6] - 2026-05-12
135
174
 
136
175
  ### Fixed — `<editor-sidebar>` resize-state detection via `:has()`
@@ -143,7 +182,6 @@ The composite `chat-thread.yaml` picks up the alias array previously held in the
143
182
  Pairs with the `<pane-ui>` resize tracking fix in `@adia-ai/web-components@[Unreleased]`.
144
183
 
145
184
  See root [CHANGELOG.md `[Unreleased]`](../../CHANGELOG.md) for the cross-cutting arc narrative.
146
-
147
185
  ## [0.4.5] - 2026-05-12
148
186
 
149
187
  ### Added — CSS importable via package specifier (§61)
@@ -177,7 +215,6 @@ The pattern key `./<cluster>/*.css` captures the element name; the value's two `
177
215
  ### Documentation
178
216
 
179
217
  - `README.md` — peer-deps section enriched. Two additional peer dependencies (`@adia-ai/a2ui-runtime`, `@adia-ai/llm`) clarified as cluster-specific (`runtime` cluster + `chat` cluster, respectively); other clusters (`shell`, `editor`, `simple`, `theme`) can omit them or keep them as `--legacy-peer-deps` warnings under npm; pnpm with auto-install-peers silently installs them. Helps consumers who only want a subset avoid noisy install warnings.
180
-
181
218
  ## [0.4.4] - 2026-05-12
182
219
 
183
220
  ### Ride-along (no source changes)
@@ -185,7 +222,6 @@ The pattern key `./<cluster>/*.css` captures the element name; the value's two `
185
222
  Lockstep PATCH cut alongside `@adia-ai/web-components@0.4.4` (14 yaml gap closures from corpus simplification arc), `@adia-ai/a2ui-runtime@0.4.4` (registry expansion +27 web-modules + renderer kebab-case fix), `@adia-ai/a2ui-compose@0.4.4` (composition-library rename + transpiler `<a>` → Link), `@adia-ai/a2ui-corpus@0.4.4` (corpus simplification arc §36–§51), `@adia-ai/a2ui-mcp@0.4.4` (`get_fragment` tool retirement). Source byte-identical to v0.4.3.
186
223
 
187
224
  Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4.0` covers `0.4.x` under semver). See root [CHANGELOG.md `## [0.4.4]`](../../../CHANGELOG.md) for the cut narrative.
188
-
189
225
  ## [0.4.3] - 2026-05-11
190
226
 
191
227
  ### Documentation
@@ -195,7 +231,6 @@ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4
195
231
  ### Lockstep
196
232
 
197
233
  9-package coordinated PATCH cut to v0.4.3. Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry). No source change to any web-module element — `README.md` doc-only. See root [CHANGELOG.md `## [0.4.3]`](../../CHANGELOG.md).
198
-
199
234
  ## [0.4.2] - 2026-05-11
200
235
 
201
236
  ### Added
@@ -210,7 +245,6 @@ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4
210
245
  ### Lockstep
211
246
 
212
247
  9-package coordinated PATCH cut to v0.4.2 (per [`docs/specs/package-architecture.md` § 15](../../docs/specs/package-architecture.md#15-versioning-policy)). Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4.0` covers `0.4.x` under semver). Source change scoped to one file (`editor/editor-sidebar/editor-sidebar.js`); rides alongside the `@adia-ai/web-components` v0.4.2 `<input-ui type="number">` rewrite. See root [CHANGELOG.md `## [0.4.2]`](../../CHANGELOG.md) for the cut narrative.
213
-
214
248
  ## [0.4.1] - 2026-05-10
215
249
 
216
250
  ### Added
@@ -225,7 +259,6 @@ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4
225
259
  ### Changed
226
260
 
227
261
  - Catalog count: 118 → 121 yamls (+3 from simple cluster children).
228
-
229
262
  ## [0.4.0] - 2026-05-10
230
263
 
231
264
  **⚠️ BREAKING** — first non-patch release in the 0.x line. Closes the ADR-0023 arc per [ADR-0024](../../.brain/adrs/0024-legacy-shell-shapes-retired.md). All 6 in-repo consumers migrated in v0.3.6; this release retires the legacy authoring shapes from the shell hosts.
@@ -254,7 +287,6 @@ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4
254
287
  ### Migration
255
288
 
256
289
  See root [CHANGELOG.md `## [0.4.0]`](../../CHANGELOG.md) for the full diff-style migration recipe. The 6 in-repo consumers (`apps/app-shell/`, `site/index.html`, `apps/chat/`, `apps/genui/gen-ui/`, `apps/construct-canvas/`, `apps/genui/a2ui-editor/`) were all migrated in v0.3.6 — see commit `c477d371`.
257
-
258
290
  ## [0.3.6] - 2026-05-10
259
291
 
260
292
  ### Added
@@ -280,7 +312,6 @@ See root [CHANGELOG.md `## [0.4.0]`](../../CHANGELOG.md) for the full diff-style
280
312
  ### Backwards compatibility
281
313
 
282
314
  Legacy authoring shapes (`<header>`, `<div data-editor-body>`, `<pane-ui data-left|data-right>`, `<div data-canvas>`, `<footer>`) all still work identically. Mixed markup renders the same. Migration is opt-in.
283
-
284
315
  ## [0.3.5] - 2026-05-07
285
316
 
286
317
  ### Added
@@ -304,7 +335,6 @@ Legacy authoring shapes (`<header>`, `<div data-editor-body>`, `<pane-ui data-le
304
335
  ### Backwards compatibility
305
336
 
306
337
  Legacy authoring shapes (`<section data-chat-messages>`, `<chat-input-ui data-chat-input>`, `[data-chat-empty]`, `[data-chat-status]`) all still work identically. Mixed markup renders the same. Migration is opt-in.
307
-
308
338
  ## [0.3.4] - 2026-05-07
309
339
 
310
340
  ### Added
@@ -340,7 +370,6 @@ Legacy authoring shapes (`<section data-chat-messages>`, `<chat-input-ui data-ch
340
370
  ### Backwards compatibility
341
371
 
342
372
  Legacy authoring shapes (`<aside data-sidebar="leading">`, `<dialog data-command>`, `<div data-resize>`, `[data-sidebar-toggle]`, `<aside-ui slot="leading">`) all still work identically. Mixed markup (some bespoke, some legacy) renders the same. Migration is opt-in.
343
-
344
373
  ## [0.3.3] - 2026-05-07
345
374
 
346
375
  **Lockstep cut.** All 9 published `@adia-ai/*` packages now share version `0.3.3`, governed by [`docs/specs/package-architecture.md` § 15](../../../docs/specs/package-architecture.md#15-versioning-policy).
@@ -353,7 +382,6 @@ Legacy authoring shapes (`<aside data-sidebar="leading">`, `<dialog data-command
353
382
  ### No source changes
354
383
 
355
384
  `@adia-ai/web-modules` source is byte-identical to `0.3.2`. The cut is a version bump + ride-along on the lockstep policy.
356
-
357
385
  ## [0.3.2] - 2026-05-06
358
386
 
359
387
  **9-package lockstep patch cut to v0.3.2.** All lockstep members share
@@ -368,7 +396,6 @@ version only.
368
396
  ### Changed
369
397
 
370
398
  - `version`: `0.3.1` → `0.3.2`.
371
-
372
399
  ## [0.3.1] - 2026-05-06
373
400
 
374
401
  **9-package lockstep patch cut.** All 9 published `@adia-ai/*` packages bump 0.3.0 → 0.3.1 per [`docs/specs/package-architecture.md` § 15](../../docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges remain at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
@@ -379,7 +406,6 @@ This package itself ships **no source changes** in v0.3.1. The cut bumps version
379
406
 
380
407
  - `version`: `0.3.0` → `0.3.1`.
381
408
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
382
-
383
409
  ## [0.3.0] - 2026-05-05
384
410
 
385
411
  **9-package lockstep cut + chat-shell now uses `@adia-ai/llm`.** All 9 published `@adia-ai/*` packages bump 0.2.5 → 0.3.0 per [`docs/specs/package-architecture.md` § 15](../../docs/specs/package-architecture.md#15-versioning-policy). Internal `@adia-ai/*` dep ranges bump `^0.2.0` → `^0.3.0`.
@@ -411,7 +437,6 @@ Update `package.json`:
411
437
  ```
412
438
 
413
439
  Then `npm install` (or pnpm). Imports of `<chat-shell>` itself don't change. Direct imports of `streamChat` from this package were never a public surface — they remain available indirectly via `@adia-ai/llm`.
414
-
415
440
  ## [0.2.5] - 2026-05-04
416
441
 
417
442
  **8-package lockstep cut.** 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). Internal `@adia-ai/*` dep ranges remain at `^0.2.0` (covers 0.2.5 under semver — patch-cut asymmetry).
@@ -422,7 +447,6 @@ This is a **patch cut on top of v0.2.4, no BREAKING changes.** Substantive conte
422
447
 
423
448
  - `version`: `0.2.4` → `0.2.5`.
424
449
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.2.0` (covers `0.2.5` under semver — patch-cut asymmetry).
425
-
426
450
  ## [0.2.4] - 2026-05-04
427
451
 
428
452
  **8-package lockstep cut.** 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). Internal `@adia-ai/*` dep ranges remain at `^0.2.0` (covers 0.2.4 under semver — patch-cut asymmetry).
@@ -441,7 +465,6 @@ _Nothing yet._
441
465
  ---
442
466
 
443
467
  ---
444
-
445
468
  ## [0.2.3] - 2026-05-04
446
469
 
447
470
  **Lockstep cut.** All 8 published `@adia-ai/*` packages bump
@@ -458,7 +481,6 @@ Patch cut — no breaking changes.
458
481
  ### No source changes
459
482
 
460
483
  `@adia-ai/web-modules` source is byte-identical to `0.2.2`. The cut bumps version + the internal dep range entries only.
461
-
462
484
  ## [0.2.2] — 2026-05-02
463
485
 
464
486
  **Lockstep cut.** All 8 published `@adia-ai/*` packages bump 0.2.1 → 0.2.2 per [`docs/specs/package-architecture.md` § 15](../../docs/specs/package-architecture.md#15-versioning-policy). Patch cut — no breaking changes.
@@ -474,7 +496,6 @@ Patch cut — no breaking changes.
474
496
  `web-modules` source is byte-identical to `0.2.1`. The cut bumps version + tracks peer-dep ranges only. Consumers benefit from the trait coverage 100% + `<traits-host>` wrapper that landed in `@adia-ai/web-components@0.2.2`.
475
497
 
476
498
  ---
477
-
478
499
  ## [0.2.1] — 2026-05-02
479
500
 
480
501
  **Lockstep cut.** All 8 published `@adia-ai/*` packages bump 0.2.0 → 0.2.1 per [`docs/specs/package-architecture.md` § 15](../../docs/specs/package-architecture.md#15-versioning-policy). Patch cut — no breaking changes.
@@ -490,7 +511,6 @@ Patch cut — no breaking changes.
490
511
  `web-modules` source is byte-identical to `0.2.0`. The cut bumps version + tracks peer-dep range only.
491
512
 
492
513
  ---
493
-
494
514
  ## [0.2.0] — 2026-05-02
495
515
 
496
516
  **Lockstep cut.** All 8 published `@adia-ai/*` packages now share one
@@ -510,7 +530,6 @@ byte-identical to 0.0.5. The cut bumps version + tightens peer-dep
510
530
  ranges only. Consumers who want the 0.0.5 work (page-content
511
531
  container-query system) get it via either 0.0.5 or 0.2.0 — both ship
512
532
  the same module code.
513
-
514
533
  ## [0.0.5] — 2026-05-02
515
534
 
516
535
  Additive — `page-content` container-query system on `<admin-shell>`.
@@ -544,7 +563,6 @@ instead of viewport width. No BREAKING changes.
544
563
  (max-width: 720px)` to `@container page-content (max-width: 720px)`
545
564
  for the same threshold so the docs site and the canonical
546
565
  `<admin-shell>` template behave identically.
547
-
548
566
  ## [0.0.4] — 2026-05-01
549
567
 
550
568
  ⚠️ **BREAKING** — nav family removed (consolidated into
@@ -601,7 +619,6 @@ on `<nav-group-ui>` + `<nav-item-ui>`, leading-indicator suppression
601
619
  in section variant) all live in the peer-dep
602
620
  `@adia-ai/web-components@0.0.33` — see its CHANGELOG. No additional
603
621
  work in this package beyond the deletions above.
604
-
605
622
  ## [0.0.3] — 2026-05-01
606
623
 
607
624
  ⚠️ **BREAKING** — class-naming-convention sweep per
@@ -701,7 +718,6 @@ The base class `UIElement` (renamed from `AdiaElement`) lives in
701
718
  `@adia-ai/web-components@0.0.32`. web-modules can't run against
702
719
  older web-components versions because `import { AdiaElement }`
703
720
  no longer resolves there.
704
-
705
721
  ## [0.0.2] — 2026-05-01
706
722
 
707
723
  ⚠️ **BREAKING** — naming-convention sweep per
@@ -781,7 +797,6 @@ Unchanged from 0.0.1 — four clusters (`shell`, `chat`, `editor`,
781
797
  `runtime`) with subpath exports. Directory contents within each
782
798
  cluster reshuffle per the rename map; the cluster names themselves
783
799
  don't change.
784
-
785
800
  ## [0.0.1] — 2026-05-01
786
801
 
787
802
  Initial extraction from `@adia-ai/web-components/patterns/`. Captures
@@ -52,9 +52,19 @@ editor-toolbar > [slot="status"] {
52
52
  color: var(--a-fg-muted);
53
53
  }
54
54
 
55
- editor-toolbar > [slot="action"]:first-of-type {
55
+ /* The FIRST [slot="action"] element pushes to the trailing edge via
56
+ auto-margin. Subsequent action-slot siblings stack to its right with a
57
+ uniform space. The previous form `[slot="action"]:first-of-type` was
58
+ buggy: `:first-of-type` matches first-by-tagName (e.g. first <span>),
59
+ not first-by-slot — so when a <span slot="title"> or <span
60
+ slot="action-leading"> preceded the action cluster, the auto-margin
61
+ never fired. §196 (v0.5.6) closes FEEDBACK-09 §1. */
62
+ editor-toolbar > [slot="action"] {
56
63
  margin-inline-start: auto;
57
64
  }
65
+ editor-toolbar > [slot="action"] ~ [slot="action"] {
66
+ margin-inline-start: var(--a-space-2);
67
+ }
58
68
 
59
69
  /* Full-screen mode — toolbar can be hidden by host CSS */
60
70
  editor-toolbar[full-screen] {
@@ -233,9 +243,14 @@ editor-statusbar > [slot="zoom"] {
233
243
  margin-inline-start: var(--a-space-2);
234
244
  }
235
245
 
236
- editor-statusbar > [slot="action"]:first-of-type {
246
+ /* Same `:first-of-type` bug as the toolbar above — see §196 comment.
247
+ FEEDBACK-09 §2 (v0.5.6). */
248
+ editor-statusbar > [slot="action"] {
237
249
  margin-inline-start: auto;
238
250
  }
251
+ editor-statusbar > [slot="action"] ~ [slot="action"] {
252
+ margin-inline-start: var(--a-space-2);
253
+ }
239
254
 
240
255
  /* ── editor-shell layout — when bespoke children are used ── */
241
256
  editor-shell:has(> editor-canvas) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@adia-ai/web-modules",
3
- "version": "0.5.4",
4
- "description": "AdiaUI composite custom elements shell, chat, editor, runtime clusters built from @adia-ai/web-components primitives. Subpath exports per cluster.",
3
+ "version": "0.5.6",
4
+ "description": "AdiaUI composite custom elements \u2014 shell, chat, editor, runtime clusters built from @adia-ai/web-components primitives. Subpath exports per cluster.",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": "./index.js",
@@ -0,0 +1,53 @@
1
+ /* ═══════════════════════════════════════════════════════════════
2
+ admin-command — Module CSS (command-palette wrapper)
3
+
4
+ <admin-command> constructs an internal <dialog> programmatically
5
+ (see admin-command.js::connected). Native <dialog> ships with
6
+ thick ridge/inset border, narrow max-width, and `margin: auto`
7
+ centering — none of which suit a command palette. This module
8
+ CSS resets the native chrome + ships sensible position/size
9
+ defaults so every consumer doesn't have to duplicate the same
10
+ ~20-line block (which was the seed of the §189 regression that
11
+ broke the docs-site palette when the consumer's selectors went
12
+ inert post tag-rename).
13
+
14
+ Consumers may override any of these declarations from their own
15
+ stylesheet — module CSS is the layer-0 default, not the lock.
16
+
17
+ Authored 2026-05-14 in v0.5.6 §193 to close the §189 follow-up
18
+ filing. Previously duplicated across site/index.html (lines
19
+ 23-44) and playgrounds/admin-shell/app/admin-shell.html (lines
20
+ 18-38). Both consumer copies removed in the same commit.
21
+ ═══════════════════════════════════════════════════════════════ */
22
+
23
+ /* Chrome reset — strip native <dialog> UA defaults so the inner
24
+ <command-ui> can size itself. Without this the palette renders
25
+ with a thick ridge border, narrow max-width, and content-width
26
+ flow. */
27
+ admin-command dialog {
28
+ border: none;
29
+ background: none;
30
+ padding: 0;
31
+ margin: 0;
32
+ max-width: none;
33
+ max-height: none;
34
+ position: fixed;
35
+ top: 20vh;
36
+ left: 50%;
37
+ transform: translateX(-50%);
38
+ overflow: visible;
39
+ }
40
+
41
+ /* Inner <command-ui> sizing — defaults to a comfortable two-column
42
+ palette footprint. Consumers can override via their own selector
43
+ `admin-command dialog command-ui { width: …; height: …; }`. */
44
+ admin-command dialog command-ui {
45
+ width: 32rem;
46
+ height: 24rem;
47
+ }
48
+
49
+ /* Backdrop — native dialog supports ::backdrop which paints behind
50
+ the modal. Subtle dim so the underlying page stays visible. */
51
+ admin-command dialog::backdrop {
52
+ background: rgba(0, 0, 0, 0.5);
53
+ }
@@ -40,11 +40,11 @@
40
40
  <h2 variant="section">Inside a popover (canonical composition)</h2>
41
41
  <p data-note>The usual shape — a palette-icon button trigger pops the panel from a topbar. This is how <code>site/</code> and <code>playgrounds/admin-shell/</code> consume the module.</p>
42
42
  <code-ui language="html">&lt;popover-ui placement="bottom-end"&gt;
43
- &lt;button-ui icon="palette" variant="ghost" size="sm" slot="trigger"&gt;&lt;/button-ui&gt;
43
+ &lt;button-ui icon="palette" title="Choose theme" variant="ghost" size="sm" slot="trigger"&gt;&lt;/button-ui&gt;
44
44
  &lt;theme-panel slot="content" parametric presets scheme-toggle&gt;&lt;/theme-panel&gt;
45
45
  &lt;/popover-ui&gt;</code-ui>
46
46
  <popover-ui placement="bottom-end">
47
- <button-ui icon="palette" variant="ghost" size="sm" slot="trigger"></button-ui>
47
+ <button-ui icon="palette" title="Choose theme" variant="ghost" size="sm" slot="trigger"></button-ui>
48
48
  <theme-panel slot="content" parametric presets scheme-toggle></theme-panel>
49
49
  </popover-ui>
50
50
  </section>