Skip to content

feat(loading-skeleton): CSS micro-animations on mount and pulse stagger - #351

Open
otsimaofficial wants to merge 1 commit into
Goldii-locks:mainfrom
otsimaofficial:feat/loading-skeleton-animations-278
Open

feat(loading-skeleton): CSS micro-animations on mount and pulse stagger#351
otsimaofficial wants to merge 1 commit into
Goldii-locks:mainfrom
otsimaofficial:feat/loading-skeleton-animations-278

Conversation

@otsimaofficial

Copy link
Copy Markdown

Problem & Goal

LoadingSkeleton popped in abruptly and every placeholder bar pulsed in perfect unison, which reads as a flat blink rather than a smooth loading state.

Changes

  • Root now fades in on mount via the existing animate-fade-in keyframe (added in Incorporate CSS micro-animations on create_job_form elements #45) instead of appearing instantly — this is the component's "state change" transition, since it only exists for the duration the parent has it mounted.
  • Moved animate-pulse off the outer wrapper and onto each individual placeholder bar/row, with staggered [animation-delay:*ms] utility classes (0/75/100/175/250/325/400ms) so the pulse reads as a wave instead of a synchronized blink.
  • Added data-testids per element (loading-skeleton, loading-skeleton-card, loading-skeleton-stat-0/1/2, loading-skeleton-row-0/1) for test targeting.

Testing

  • New __tests__/loading-skeleton-animations.test.tsx (6 tests): fade-in on the root, animate-pulse + distinct staggered delays on the stat and row placeholders, and that the accessible loading announcement / aria-hidden decorative markup are preserved.
  • npx tsc --noEmit, the new test file, and npm run build all pass locally.

Note: npm run lint currently fails on this repo's main due to a pre-existing, unrelated react-hooks/set-state-in-effect error in SignatureTimeoutAlert.tsx (visible on the last several merged PRs' CI runs). That's fixed independently in a separate PR and isn't touched here.

Closes #278

🤖 Generated with Claude Code

Fade the skeleton in on mount (animate-fade-in) instead of popping in
abruptly, and stagger each placeholder bar's pulse animation-delay so
the loading state reads as a smooth wave rather than a flat blink.

Closes Goldii-locks#278
@drips-wave

drips-wave Bot commented Aug 29, 2026

Copy link
Copy Markdown

@otsimaofficial Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

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.

Incorporate CSS micro-animations on loading_spinner_skeleton elements

1 participant