deckhearth/components/ui
varutasu e8eba34d59
refactor(layout): migrate 3 floating popovers to .glass-panel-strong (#124)
Brief 3 of unify-glass-panel-surfaces convoy. Migrates three floating
surfaces from inline var(--glass-surface-*) + backdropFilter to the
canonical .glass-panel-strong className, preserving their existing
box-shadow chains (ember rim for the dropdown panels; pronounced
elevation for the drawer + TopSearchBar UserMenu) via inline override.

Three popovers migrated:
1. components/Layout.js UserProfileDropdown panel (sidebar)
   - boxShadow chain preserved: var(--rim-light-inner),
     var(--ember-rim-subtle), var(--elevation-ambient).
2. components/Layout.js mobile drawer
   - boxShadow chain preserved: var(--rim-light-inner),
     var(--rim-light-outer), var(--elevation-pronounced).
3. components/ui/TopSearchBar.js UserMenu dropdown
   - boxShadow chain preserved: var(--rim-light-inner),
     var(--ember-rim-subtle), var(--elevation-pronounced) (note:
     -pronounced, not -ambient — caught by architect boot-the-brief
     recheck and documented in convoy's risk note).

The sidebar nav-chip / main content chrome block (Layout.js ~L853-863)
intentionally remains handrolled with full-intensity corner lights —
allowlisted by Brief 7's CI gate (D4 of the architect plan).

Tests (test/components/Layout.test.js, +2 new assertions):
- mobile drawer container queryable via .glass-panel-strong selector
  and is wired with width/positioning classes (.w-64, .fixed, etc).
- mobile drawer inline style contains no var(--glass-surface-*) and
  no backdrop-filter (both now provided by the class); does contain
  var(--elevation-pronounced) (preserved override).

Verification:
- npm run lint passes (1 pre-existing unrelated warning).
- npm run test:run: 118/118 tests pass (was 116; +2 new).

Acceptance criteria from
.convoys/unify-glass-panel-surfaces/brief-3-floating-popovers.md
all met. No edits outside the 3 files in scope.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-04 16:25:14 -05:00
..
Button.js feat(design-system): Liquid Glass redesign portfolio — foundation + primitives + Layout (#95) 2026-06-03 20:12:33 -05:00
CommandPaletteModal.js feat(design-system): redesign v2 #3 — TopSearchBar + Cmd+K + sweep page-header-glass (#105) 2026-06-04 11:14:50 -05:00
GlassSurface.js feat(GlassSurface): add cornerLights prop (subtle | chrome | none) (#123) 2026-06-04 15:30:32 -05:00
index.js feat(design-system): redesign v2 #3 — TopSearchBar + Cmd+K + sweep page-header-glass (#105) 2026-06-04 11:14:50 -05:00
Input.js feat(design-system): Liquid Glass redesign portfolio — foundation + primitives + Layout (#95) 2026-06-03 20:12:33 -05:00
Modal.js feat(design-system): Liquid Glass redesign portfolio — foundation + primitives + Layout (#95) 2026-06-03 20:12:33 -05:00
SearchBar.js feat(design-system): Liquid Glass redesign portfolio — foundation + primitives + Layout (#95) 2026-06-03 20:12:33 -05:00
StatCard.js feat(design-system): redesign v2 #4 — StatCard primitive + dashboard wiring (#104) 2026-06-04 10:59:53 -05:00
TopSearchBar.js refactor(layout): migrate 3 floating popovers to .glass-panel-strong (#124) 2026-06-04 16:25:14 -05:00