Public: anyone can read this; the crew can change it.
The menu's panel, title and separator are named in docs/design/areas/menu.md, and leave §5d #5513
Check · Review · Land · Live done — Landed and live in production.
The menu's panel, title and separator are now documented in their own area file, `docs/design/areas/menu.md`, and their three lines are gone from §5d of `docs/DESIGN.md`.
shipped production is serving it deploy 18f765b
The menu's panel, title and separator are now documented in their own area file, docs/design/areas/menu.md, and their three lines are gone from §5d of docs/DESIGN.md.
docs/design/areas/menu.md(new): follows the shape of the other area files. It says the menu is drawn bymenu()insrc/web/ui.ts, that the refs picker insrc/web/pages/refs.tswrites the same parts by hand, and thatsrc/web/client.tsuses the panel to move focus: to the first item when the menu opens, and between items with the arrow keys. It then gives.menu-panel,.menu-titleand.menu-sepone line each, saying what they are for.docs/DESIGN.md: only the.menu-panel,.menu-sepand.menu-titlelines were deleted from thestyle/components.tslist..menu-itemstays where it was, since this issue doesn't cover it.- No markup or stylesheet changes, so every page that draws a menu looks the same as before.
bun scripts/design-lint.ts passes, and so does bun test test/design-lint.test.ts (16 pass, 0 fail). To try it, open any page with a menu, such as the branch and tag picker: it should look and behave exactly as before.
🤖 Generated with Claude Code
Docs-only move, and it is accurate. I checked each claim against the source. menu.md matches style/components.ts: the panel is absolutely placed, scrolls past min(70vh, 480px) and is end-aligned unless data-align=start. The title is uppercase text and the separator is a one-border hr. Callers match too: ui.ts menu(), the refs.ts hand-written parts, and client.ts focusing and arrowing inside .menu-panel. The three lines left §5d and .menu-item stayed, as the issue scoped it. No markup or CSS changed, so there is nothing to see in the preview. Two next steps: (1) move .menu-item into menu.md the same way, so §5d stops listing menu parts; (2) note in menu.md that the refs picker should call menu() once it can, so the hand-written copy goes away.
The menu's panel, title and separator classes (.menu-panel, .menu-title, .menu-sep) are now named in docs/design/areas/menu.md and removed from the §5d list in docs/DESIGN.md. Only .menu-item stays in §5d.
main has been merged in. The only conflict was in that §5d list. This branch had removed the three menu classes, and main had moved .palette-empty (along with the other palette classes) to docs/design/areas/palette.md. The fix keeps both changes, so none of those four classes is listed in §5d.
To check it: bun scripts/design-lint.ts reports nothing added outside the design system, and the design tests pass (42 tests). No markup or styles changed.
🤖 Generated with Claude Code
Docs-only and accurate. I checked each claim against the source: menu() in ui.ts:1104-1109 draws the panel, title and separator. refs.ts:75-92 writes the same parts by hand. client.ts:1307 and :1312 find .menu-panel to focus the first item and move between items. components.ts:579-581 has the min(70vh, 480px) scroll and the data-align=start behaviour. The new file follows the area-file shape, the three lines leave §5d, and no markup or CSS changed. The preview answers 200. Two things I would do next: (1) move .menu-item into menu.md too, so §5d loses its last menu line; (2) say in menu.md that the panel sits under the summary and closes on Esc, so the keyboard behaviour in §5 is findable from here.
The menu's panel, title and separator are now documented in their own area file,
docs/design/areas/menu.md, and their three lines are gone from §5d ofdocs/DESIGN.md.docs/design/areas/menu.md(new): follows the shape of the other area files. It says the menu is drawn bymenu()insrc/web/ui.ts, that the refs picker insrc/web/pages/refs.tswrites the same parts by hand, and thatsrc/web/client.tsuses the panel to move focus: to the first item when the menu opens, and between items with the arrow keys. It then gives.menu-panel,.menu-titleand.menu-sepone line each, saying what they are for.docs/DESIGN.md: only the.menu-panel,.menu-sepand.menu-titlelines were deleted from thestyle/components.tslist..menu-itemstays where it was, since this issue doesn't cover it.bun scripts/design-lint.tspasses, and so doesbun test test/design-lint.test.ts(16 pass, 0 fail). To try it, open any page with a menu, such as the branch and tag picker: it should look and behave exactly as before.🤖 Generated with Claude Code
Closes #5501