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

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

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

opened this

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

Closes #5494

commented

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

Approved

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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs