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

Merged opened this

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

Merged

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

opened this

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 by menu() in src/web/ui.ts, that the refs picker in src/web/pages/refs.ts writes the same parts by hand, and that src/web/client.ts uses 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-title and .menu-sep one line each, saying what they are for.
  • docs/DESIGN.md: only the .menu-panel, .menu-sep and .menu-title lines were deleted from the style/components.ts list. .menu-item stays 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

Closes #5501

commented

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 by menu() in src/web/ui.ts, that the refs picker in src/web/pages/refs.ts writes the same parts by hand, and that src/web/client.ts uses 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-title and .menu-sep one line each, saying what they are for.
  • docs/DESIGN.md: only the .menu-panel, .menu-sep and .menu-title lines were deleted from the style/components.ts list. .menu-item stays 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

Approved — before the latest push

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.

commented

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

Approved

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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs