Skip to content

fix(web): replace zoom Reset button keyframe entrance with a transition - #27

Merged
PunGrumpy merged 1 commit into
motion/06-pure-state-updatersfrom
motion/07-reset-button-transition
Aug 7, 2026
Merged

fix(web): replace zoom Reset button keyframe entrance with a transition#27
PunGrumpy merged 1 commit into
motion/06-pure-state-updatersfrom
motion/07-reset-button-transition

Conversation

@PunGrumpy

@PunGrumpy PunGrumpy commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Problem

The zoom Reset button entered with tw-animate-css keyframes (animate-in fade-in zoom-in-95 slide-in-from-left-2) — a keyframe restart every time zoom crosses 1, flagged by react-doctor (no-transition-all) and recorded as the remaining LOW finding from the motion audit (plans/README.md).

Root Cause

Keyframe entrances restart from zero and are not interruptible; the bare duration-150 ease-out utilities also left an unscoped transition.

Solution

The button now enters via transition-[opacity,translate,scale] duration-150 ease-out from a starting: (@starting-style) state of opacity-0 -translate-x-2 scale-95 — scoped, GPU-only, interruptible, and automatically reduced to a plain fade under prefers-reduced-motion by the global safe-list from #24.

Result

Same visual entrance, no keyframe restarts, react-doctor flag cleared; the audit's LOW item is closed out in plans/README.md.

🤖 Generated with Claude Code

@vercel

vercel Bot commented Aug 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pigo Ready Ready Preview Aug 7, 2026 4:58pm
pigo-api Ready Ready Preview Aug 7, 2026 4:58pm

@changeset-bot

changeset-bot Bot commented Aug 7, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: 2cc1de6

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

React Doctor found no new issues. 🎉

Reviewed by React Doctor for commit 2cc1de6.

The tw-animate-css entrance (animate-in fade-in zoom-in-95
slide-in-from-left-2) restarts from zero each time zoom crosses 1 and
left duration/ease utilities applying to an implicit transition of every
property. The button now enters via a scoped
transition-[opacity,translate,scale] with @starting-style (Tailwind
starting: variant) — interruptible, GPU-only, and reduced to a plain
fade under prefers-reduced-motion by the global safe-list.

Closes the remaining LOW audit finding noted in plans/README.md and
clears react-doctor no-transition-all.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@PunGrumpy
PunGrumpy force-pushed the motion/07-reset-button-transition branch from 58250af to 2cc1de6 Compare August 7, 2026 16:57
@PunGrumpy
PunGrumpy merged commit b3df7da into main Aug 7, 2026
7 of 9 checks passed
@PunGrumpy
PunGrumpy deleted the motion/07-reset-button-transition branch August 7, 2026 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant