Skip to content

Drawer animation using JS show() on <el-dialog> does not animate smoothly on Firefox or Safari #1738

@EscVelocity1

Description

@EscVelocity1

What component (if applicable)

Describe the bug
Using the javascript-invoked show() method on the el-dialog HTML-version produces shaky animations on Firefox and mis-aligned animations on Safari with drawer component. I've tried 10 different implementations including calling the show() method when the drawer is simply on the DOM, after content is loaded, loading the drawer dynamically, using an event listener, using a delay, requestAnimationFrame, and others and I haven't yet seen a smooth animation.

To Reproduce
Steps to reproduce the behavior:

  1. Call show() on the HTML element in javascript using Safari or Firefox
  2. Watch janky animation

Expected behavior
I expect the show() method on the HTML el-dialog element to smoothly animate the drawer onto the page across all browsers in a way that is well documented to avoid any confusion around how best to call it to avoid a poor UX.

Screenshots
See videos

Browser/Device (if applicable)

  • OS: MacOS 15.6.1
  • Browser: Safari v18.6, Firefox v142.0

Additional context

Safari.Drawer.Show.Animation.mov
Firefox.Drawer.Show.Animation.mov

Metadata

Metadata

Assignees

Labels

needs reproA reproduction of the bug (GitHub repo, CodeSandbox) is needed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions