@adia-ai/web-modules 0.5.5 → 0.5.7

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,57 @@ 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._
13
12
 
13
+ ## [0.5.7] - 2026-05-15
14
+
15
+ _Lockstep ride-along (no source change)._
16
+
17
+ ## [0.5.6] - 2026-05-14
18
+
19
+ ### Fixed — §196 (v0.5.6) — `editor-toolbar` + `editor-statusbar` action-slot positioning (FEEDBACK-09 §1 + §2)
20
+
21
+ 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.
22
+
23
+ **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.
24
+
25
+ Reported in FEEDBACK-09 (Tokens Studio Round 9). Closes the bug class for both surfaces simultaneously.
26
+
27
+ ### Added — §193 (v0.5.6) — `<admin-command>` ships its own chrome-reset module CSS
28
+
29
+ NEW `packages/web-modules/shell/admin-command/admin-command.css` —
30
+ the ~20-line `<dialog>` chrome reset + position/size defaults
31
+ previously authored 2× inline by consumers (`site/index.html` +
32
+ `playgrounds/admin-shell/app/admin-shell.html`) now ships with the
33
+ module. Consumers `<link>` it and inherit:
34
+
35
+ - Native `<dialog>` chrome stripped (`border`, `background`,
36
+ `padding`, `margin`, `max-width`, `max-height` all reset)
37
+ - Positioning defaults (`position: fixed`, `top: 20vh`,
38
+ `transform: translateX(-50%)`)
39
+ - Inner `<command-ui>` sizing (`32rem × 24rem`)
40
+ - Backdrop dim (`rgba(0, 0, 0, 0.5)`)
41
+
42
+ All declarations are layer-0 defaults; consumers can override from
43
+ their own stylesheet. Pattern matches the AdiaUI module convention
44
+ (co-located `<name>.css` per module, consumer `<link>`s it; see
45
+ `admin-shell.css` for a precedent).
46
+
47
+ Closes the §189 follow-up filing (v0.5.5 docs-site palette regression
48
+ repair flagged this duplication as a future cleanup). Two consumers
49
+ updated in the same commit: both now `<link>` the module CSS instead
50
+ of inlining a `<style>` block. Future consumers avoid the duplication.
51
+
52
+ ### Fixed — §190a (v0.5.6) — `theme-panel` demo a11y silenced
53
+
54
+ `packages/web-modules/theme/theme-panel/theme-panel.examples.html` —
55
+ icon-only buttons in the example markup gained explicit `aria-label` /
56
+ `title` attributes so the v0.5.5 §184 §8 `<button-ui>` a11y safety-net
57
+ warn (`[button-ui] Icon-only button is missing an accessible name`) no
58
+ longer fires on AdiaUI-owned demo surfaces. Documentation-grade change;
59
+ no runtime behavior delta for theme-panel itself.
14
60
  ## [0.5.5] - 2026-05-14
15
61
 
16
62
  ### Changed — lockstep ride-along; no source changes
@@ -18,7 +64,6 @@ _No pending changes._
18
64
  `version`: `0.5.4` → `0.5.5`. Source byte-identical to `0.5.4`.
19
65
 
20
66
  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.
21
-
22
67
  ## [0.5.4] - 2026-05-14
23
68
 
24
69
  ### Changed — lockstep ride-along; no source changes
@@ -30,24 +75,18 @@ Tracking the v0.5.4 cycle's prop-fidelity arcs (§163 transpiler fix,
30
75
  §164 chunk re-harvest, §165 validator check #19, §166a/b/c audit-script
31
76
  family slots 12+13 + smoke shift-left): see root `CHANGELOG.md` for the
32
77
  full narrative. This package carries no source changes this cycle.
33
-
34
78
  ## [0.5.3] - 2026-05-14
35
79
 
36
80
  _No pending changes._
37
-
38
81
  ## [0.5.2] - 2026-05-13
39
82
 
40
83
  _Lockstep ride-along (no source change)._
41
-
42
-
43
84
  ## [0.5.1] - 2026-05-13
44
85
 
45
86
  _Lockstep ride-along (no source change)._
46
-
47
87
  ## [0.5.0] - 2026-05-13
48
88
 
49
89
  _Lockstep ride-along (no source change)._
50
-
51
90
  ## [0.4.9] - 2026-05-13
52
91
 
53
92
  ### Added — `<editor-sidebar>` `[persist]` attribute (§91c, FEEDBACK-04 #6)
@@ -106,7 +145,6 @@ Two reachable import paths:
106
145
  - `import { isFocusInInput } from '@adia-ai/web-modules/editor/utils';` (direct subpath)
107
146
 
108
147
  Both carry types via the new `types` conditionals.
109
-
110
148
  ## [0.4.8] - 2026-05-12
111
149
 
112
150
  ### Added — TypeScript declarations for all web-modules (FEEDBACK-02 #1, v0.4.8)
@@ -132,13 +170,11 @@ Each web-module YAML now declares a `composes:` field listing the `@adia-ai/web-
132
170
  `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.
133
171
 
134
172
  See root [CHANGELOG.md `[Unreleased]`](../../CHANGELOG.md) for the cross-cutting arc narrative.
135
-
136
173
  ## [0.4.7] - 2026-05-12
137
174
 
138
175
  ### Changed — `chat/chat-thread.yaml` populates `synonyms.tags` (§72)
139
176
 
140
177
  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).
141
-
142
178
  ## [0.4.6] - 2026-05-12
143
179
 
144
180
  ### Fixed — `<editor-sidebar>` resize-state detection via `:has()`
@@ -151,7 +187,6 @@ The composite `chat-thread.yaml` picks up the alias array previously held in the
151
187
  Pairs with the `<pane-ui>` resize tracking fix in `@adia-ai/web-components@[Unreleased]`.
152
188
 
153
189
  See root [CHANGELOG.md `[Unreleased]`](../../CHANGELOG.md) for the cross-cutting arc narrative.
154
-
155
190
  ## [0.4.5] - 2026-05-12
156
191
 
157
192
  ### Added — CSS importable via package specifier (§61)
@@ -185,7 +220,6 @@ The pattern key `./<cluster>/*.css` captures the element name; the value's two `
185
220
  ### Documentation
186
221
 
187
222
  - `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.
188
-
189
223
  ## [0.4.4] - 2026-05-12
190
224
 
191
225
  ### Ride-along (no source changes)
@@ -193,7 +227,6 @@ The pattern key `./<cluster>/*.css` captures the element name; the value's two `
193
227
  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.
194
228
 
195
229
  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.
196
-
197
230
  ## [0.4.3] - 2026-05-11
198
231
 
199
232
  ### Documentation
@@ -203,7 +236,6 @@ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4
203
236
  ### Lockstep
204
237
 
205
238
  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).
206
-
207
239
  ## [0.4.2] - 2026-05-11
208
240
 
209
241
  ### Added
@@ -218,7 +250,6 @@ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4
218
250
  ### Lockstep
219
251
 
220
252
  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.
221
-
222
253
  ## [0.4.1] - 2026-05-10
223
254
 
224
255
  ### Added
@@ -233,7 +264,6 @@ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4
233
264
  ### Changed
234
265
 
235
266
  - Catalog count: 118 → 121 yamls (+3 from simple cluster children).
236
-
237
267
  ## [0.4.0] - 2026-05-10
238
268
 
239
269
  **⚠️ 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.
@@ -262,7 +292,6 @@ Internal `@adia-ai/*` dep ranges stay at `^0.4.0` (patch-cut asymmetry — `^0.4
262
292
  ### Migration
263
293
 
264
294
  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`.
265
-
266
295
  ## [0.3.6] - 2026-05-10
267
296
 
268
297
  ### Added
@@ -288,7 +317,6 @@ See root [CHANGELOG.md `## [0.4.0]`](../../CHANGELOG.md) for the full diff-style
288
317
  ### Backwards compatibility
289
318
 
290
319
  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.
291
-
292
320
  ## [0.3.5] - 2026-05-07
293
321
 
294
322
  ### Added
@@ -312,7 +340,6 @@ Legacy authoring shapes (`<header>`, `<div data-editor-body>`, `<pane-ui data-le
312
340
  ### Backwards compatibility
313
341
 
314
342
  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.
315
-
316
343
  ## [0.3.4] - 2026-05-07
317
344
 
318
345
  ### Added
@@ -348,7 +375,6 @@ Legacy authoring shapes (`<section data-chat-messages>`, `<chat-input-ui data-ch
348
375
  ### Backwards compatibility
349
376
 
350
377
  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.
351
-
352
378
  ## [0.3.3] - 2026-05-07
353
379
 
354
380
  **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).
@@ -361,7 +387,6 @@ Legacy authoring shapes (`<aside data-sidebar="leading">`, `<dialog data-command
361
387
  ### No source changes
362
388
 
363
389
  `@adia-ai/web-modules` source is byte-identical to `0.3.2`. The cut is a version bump + ride-along on the lockstep policy.
364
-
365
390
  ## [0.3.2] - 2026-05-06
366
391
 
367
392
  **9-package lockstep patch cut to v0.3.2.** All lockstep members share
@@ -376,7 +401,6 @@ version only.
376
401
  ### Changed
377
402
 
378
403
  - `version`: `0.3.1` → `0.3.2`.
379
-
380
404
  ## [0.3.1] - 2026-05-06
381
405
 
382
406
  **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).
@@ -387,7 +411,6 @@ This package itself ships **no source changes** in v0.3.1. The cut bumps version
387
411
 
388
412
  - `version`: `0.3.0` → `0.3.1`.
389
413
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.3.0` (covers `0.3.1` under semver — patch-cut asymmetry).
390
-
391
414
  ## [0.3.0] - 2026-05-05
392
415
 
393
416
  **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`.
@@ -419,7 +442,6 @@ Update `package.json`:
419
442
  ```
420
443
 
421
444
  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`.
422
-
423
445
  ## [0.2.5] - 2026-05-04
424
446
 
425
447
  **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).
@@ -430,7 +452,6 @@ This is a **patch cut on top of v0.2.4, no BREAKING changes.** Substantive conte
430
452
 
431
453
  - `version`: `0.2.4` → `0.2.5`.
432
454
  - Internal `@adia-ai/*` dep ranges: unchanged at `^0.2.0` (covers `0.2.5` under semver — patch-cut asymmetry).
433
-
434
455
  ## [0.2.4] - 2026-05-04
435
456
 
436
457
  **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).
@@ -449,7 +470,6 @@ _Nothing yet._
449
470
  ---
450
471
 
451
472
  ---
452
-
453
473
  ## [0.2.3] - 2026-05-04
454
474
 
455
475
  **Lockstep cut.** All 8 published `@adia-ai/*` packages bump
@@ -466,7 +486,6 @@ Patch cut — no breaking changes.
466
486
  ### No source changes
467
487
 
468
488
  `@adia-ai/web-modules` source is byte-identical to `0.2.2`. The cut bumps version + the internal dep range entries only.
469
-
470
489
  ## [0.2.2] — 2026-05-02
471
490
 
472
491
  **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.
@@ -482,7 +501,6 @@ Patch cut — no breaking changes.
482
501
  `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`.
483
502
 
484
503
  ---
485
-
486
504
  ## [0.2.1] — 2026-05-02
487
505
 
488
506
  **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.
@@ -498,7 +516,6 @@ Patch cut — no breaking changes.
498
516
  `web-modules` source is byte-identical to `0.2.0`. The cut bumps version + tracks peer-dep range only.
499
517
 
500
518
  ---
501
-
502
519
  ## [0.2.0] — 2026-05-02
503
520
 
504
521
  **Lockstep cut.** All 8 published `@adia-ai/*` packages now share one
@@ -518,7 +535,6 @@ byte-identical to 0.0.5. The cut bumps version + tightens peer-dep
518
535
  ranges only. Consumers who want the 0.0.5 work (page-content
519
536
  container-query system) get it via either 0.0.5 or 0.2.0 — both ship
520
537
  the same module code.
521
-
522
538
  ## [0.0.5] — 2026-05-02
523
539
 
524
540
  Additive — `page-content` container-query system on `<admin-shell>`.
@@ -552,7 +568,6 @@ instead of viewport width. No BREAKING changes.
552
568
  (max-width: 720px)` to `@container page-content (max-width: 720px)`
553
569
  for the same threshold so the docs site and the canonical
554
570
  `<admin-shell>` template behave identically.
555
-
556
571
  ## [0.0.4] — 2026-05-01
557
572
 
558
573
  ⚠️ **BREAKING** — nav family removed (consolidated into
@@ -609,7 +624,6 @@ on `<nav-group-ui>` + `<nav-item-ui>`, leading-indicator suppression
609
624
  in section variant) all live in the peer-dep
610
625
  `@adia-ai/web-components@0.0.33` — see its CHANGELOG. No additional
611
626
  work in this package beyond the deletions above.
612
-
613
627
  ## [0.0.3] — 2026-05-01
614
628
 
615
629
  ⚠️ **BREAKING** — class-naming-convention sweep per
@@ -709,7 +723,6 @@ The base class `UIElement` (renamed from `AdiaElement`) lives in
709
723
  `@adia-ai/web-components@0.0.32`. web-modules can't run against
710
724
  older web-components versions because `import { AdiaElement }`
711
725
  no longer resolves there.
712
-
713
726
  ## [0.0.2] — 2026-05-01
714
727
 
715
728
  ⚠️ **BREAKING** — naming-convention sweep per
@@ -789,7 +802,6 @@ Unchanged from 0.0.1 — four clusters (`shell`, `chat`, `editor`,
789
802
  `runtime`) with subpath exports. Directory contents within each
790
803
  cluster reshuffle per the rename map; the cluster names themselves
791
804
  don't change.
792
-
793
805
  ## [0.0.1] — 2026-05-01
794
806
 
795
807
  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.5",
4
- "description": "AdiaUI composite custom elements \u2014 shell, chat, editor, runtime clusters built from @adia-ai/web-components primitives. Subpath exports per cluster.",
3
+ "version": "0.5.7",
4
+ "description": "AdiaUI composite custom elements 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>