kimi-code/apps/web/scripts
Luyu Cheng 51017fec5f
feat: frosted-glass menus (#121)
* feat: frosted-glass menus

All floating menu surfaces switch from the opaque raised surface to a
frosted-glass recipe:

- new token pair --color-menu-bg (95% translucent raised rung, light and
  dark) + --menu-backdrop (blur(24px) saturate(1.8)); the fill carries
  most of the opacity because CSS blur cannot reach the OS-painted
  vibrancy material behind the transparent sidebar column on macOS
- Menu.vue (covers ChatHeader, workspace/session kebab + right-click
  menus, OpenInMenu, emoji picker), composer model/permission
  dropdowns, the dock work panel, and the slash/mention popups all use
  the token pair
- the no-glassmorphism design-system rule gains a second exemption for
  token-driven menu surfaces; check-style and both DesignSystemView
  docs updated accordingly

* fix: address review — missed menus, checker whitelist, rule sync

- apply the frosted token pair to the two menus missed in the first
  pass: composer mode picker (.modes-menu) and the workspace switcher
  (.ws-panel), both ends
- check-style no-glassmorphism: restrict the exemption to a whitelist
  of §03 menu files and require the exact var(--menu-backdrop) value,
  so ad-hoc blur and token-name mentions elsewhere are still flagged
- apps/web/AGENTS.md: sync the §06 rule text with the new menu
  exemption

* fix: address second review round

- Select listbox joins the frosted menu surfaces (token pair)
- check-style: verify every backdrop-filter declaration on the line,
  not just the first — a whitelisted prefix decl can no longer smuggle
  an ad-hoc standard value through
- rename --menu-backdrop to --p-menu-backdrop so the filter token lives
  in a registered token namespace
- dock work panel back to opaque: it stays open over the scrolling
  transcript, where a live backdrop blur re-samples every frame and
  janks (the dock veil already documents this constraint); ChatDock
  dropped from the checker whitelist
2026-07-27 14:22:20 +08:00
..
check-style.mjs feat: frosted-glass menus (#121) 2026-07-27 14:22:20 +08:00