Skip to content

fix(frontend): align drawer with app frame and polish enter animation - #15542

Merged
mikeldking merged 1 commit into
mainfrom
mikeldking/drawer-design
Aug 20, 2026
Merged

fix(frontend): align drawer with app frame and polish enter animation#15542
mikeldking merged 1 commit into
mainfrom
mikeldking/drawer-design

Conversation

@mikeldking

Copy link
Copy Markdown
Collaborator

Summary

The Drawer predates the rounded application content frame, so it rendered as a detached square panel that didn't cleanly align with the top navigation. This brings it in line with the app frame (GitHub-drawer style):

  • Rounded corners + borders: the dialog now has --global-rounding-medium top-left and bottom-left corners and a 1px border on every visible edge (top/left/bottom), hugging the bottom of the top nav exactly. box-sizing: border-box keeps the bottom corner on screen now that vertical borders exist.
  • Clean enter animation: the drawer slides in as one rigid unit while fading opacity 0 → 1, on a no-overshoot deceleration curve (cubic-bezier(0.16, 1, 0.3, 1)) — an overshooting curve would briefly detach the drawer from the viewport's right edge. Respects prefers-reduced-motion.
  • Resize handle respects the rounding: the hover/drag/focus highlight moved to a pseudo-element inset by the corner radius with pill ends, so it tracks the straight run of the edge; the full-height parent keeps the entire edge grabbable.
  • Overlay planes use overflow: clip instead of hidden, so an autofocus scroll-reveal inside an entering overlay can never scroll the plane and permanently offset a transform slide-in.

Outside the application frame (data-frame-hosted="false", e.g. Storybook/tests) the drawer keeps its full-window, square-edged appearance.

Testing

  • Verified in the running app: drawer top edge sits exactly at the nav bottom (46px = nav bottom), bottom corner lands exactly at the viewport edge, both corners render the rounded 1px-bordered curve, and the handle highlight stops inside the curves.
  • Captured a frozen mid-animation frame confirming the rigid slide + fade.
  • pnpm fmt, pnpm lint, pnpm typecheck, and all 24 overlay unit tests pass.

The drawer predates the rounded application content frame, so it read as a
detached square panel against the new top navigation. Now it mirrors the
content frame: rounded top-left and bottom-left corners, a 1px border on
every visible edge (border-box so the bottom corner stays on screen), and
the resize-handle highlight inset from the corners so it tracks the
straight run of the edge.

The enter animation now slides and fades as one rigid unit with a
no-overshoot deceleration curve (an overshooting curve would briefly
detach the drawer from the viewport's right edge) and respects
prefers-reduced-motion. The overlay planes clip instead of hide overflow
so an autofocus scroll-reveal can never offset an entering overlay
mid-slide.
@mikeldking
mikeldking requested a review from a team as a code owner August 20, 2026 23:24
@mintlify

mintlify Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
arize-phoenix 🟢 Ready View Preview Aug 20, 2026, 11:25 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@github-project-automation github-project-automation Bot moved this to 📘 Todo in phoenix Aug 20, 2026
@dosubot dosubot Bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Aug 20, 2026
@mikeldking
mikeldking merged commit 056afc3 into main Aug 20, 2026
47 checks passed
@mikeldking
mikeldking deleted the mikeldking/drawer-design branch August 20, 2026 23:27
@github-project-automation github-project-automation Bot moved this from 📘 Todo to ✅ Done in phoenix Aug 20, 2026
@claude

claude Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

Status: ✅ Done

Development

Successfully merging this pull request may close these issues.

1 participant