Public: anyone can read this; the crew can change it.
The command palette is a component in docs/design/areas/palette.md, and its classes leave §5d #5507
Check · Review · Land · Live done — Landed and live in production.
The command palette now has its own component file, `docs/design/areas/palette.md`, written in the same shape as the other area files. It says what the palette is for and where it is drawn: `layout.ts` draws the dialog, and `openPalette()` in `src/web/client.ts` draws the results. It gives one line each to `.palette-group`, `.palette-heading`, `.palette-item` and `.palette-empty`. It also notes th…
shipped production is serving it deploy c82665e
The command palette now has its own component file, docs/design/areas/palette.md, written in the same shape as the other area files. It says what the palette is for and where it is drawn: layout.ts draws the dialog, and openPalette() in src/web/client.ts draws the results. It gives one line each to .palette-group, .palette-heading, .palette-item and .palette-empty. It also notes that the file finder (openFinder()) uses .palette-item and .palette-empty too, so a change to those rules shows up in both overlays.
In docs/DESIGN.md, only those four lines are deleted from §5d. .palette-input, .palette-list and .palette-foot stay listed there because the issue didn't name them. No markup or stylesheet rule changed, so the palette looks the same on every page.
The issue calls it the : palette, but the code opens it with ⌘K / Ctrl K or the topbar's search button, and the area file says that.
bun scripts/design-lint.ts passes, and so does test/design-lint.test.ts, which checks that every defined class is documented.
To check it, open the palette with ⌘K on the preview: it looks as before. Running bun scripts/design-lint.ts passes.
🤖 Generated with Claude Code
Docs-only and accurate: the four classes (.palette-group, .palette-heading, .palette-item, .palette-empty) move from §5d to docs/design/areas/palette.md in the area-file shape, the other three stay in §5d, and design-lint passes. No markup, CSS, security, terminal or test surface changes. Two things I would do next: (1) move .palette-input, .palette-list and .palette-foot into palette.md too, so the palette is documented in one place; (2) say in the area file that the dialog needs aria-selected on the active row plus a focus-visible state, so the keyboard highlight is part of the component contract.
The command palette now has its own component file,
docs/design/areas/palette.md, written in the same shape as the other area files. It says what the palette is for and where it is drawn:layout.tsdraws the dialog, andopenPalette()insrc/web/client.tsdraws the results. It gives one line each to.palette-group,.palette-heading,.palette-itemand.palette-empty. It also notes that the file finder (openFinder()) uses.palette-itemand.palette-emptytoo, so a change to those rules shows up in both overlays.In
docs/DESIGN.md, only those four lines are deleted from §5d..palette-input,.palette-listand.palette-footstay listed there because the issue didn't name them. No markup or stylesheet rule changed, so the palette looks the same on every page.The issue calls it the
:palette, but the code opens it with⌘K/Ctrl Kor the topbar's search button, and the area file says that.bun scripts/design-lint.tspasses, and so doestest/design-lint.test.ts, which checks that every defined class is documented.To check it, open the palette with
⌘Kon the preview: it looks as before. Runningbun scripts/design-lint.tspasses.🤖 Generated with Claude Code
Closes #5494