Skip to content

feat(core): add elastic spring pop animation - #85291

Closed
vikasverma101 wants to merge 1 commit into
SAPTARSHI-coder:mainfrom
vikasverma101:feat/core-elastic-spring-pop
Closed

feat(core): add elastic spring pop animation#85291
vikasverma101 wants to merge 1 commit into
SAPTARSHI-coder:mainfrom
vikasverma101:feat/core-elastic-spring-pop

Conversation

@vikasverma101

Copy link
Copy Markdown
Contributor

Pull Request Description

This PR adds a new Elastic Spring Pop animation to the EaseMotion core animation library. The animation provides a smooth, lightweight spring-style entrance effect using hardware-accelerated transform and opacity, with configurable timing variables and prefers-reduced-motion support.


Type of Change

  • ✨ New animation / hover effect
  • 🧩 New component
  • 📝 Documentation improvement
  • 🐛 Bug fix in an existing submission
  • Other (describe below)

Submission Checklist

⚠️ PRs that fail this checklist will be closed without review.

  • All changes are inside submissions/ (e.g., submissions/examples/your-feature-name/ or submissions/docs/your-feature-name/)
  • Includes demo.html — self-contained, opens in browser with no server
  • Includes style.css — raw CSS for the proposed feature
  • Includes README.md — what it does, how to use it, why it fits EaseMotion CSS
  • No changes to core/
  • No changes to components/
  • One feature per PR (no bundled unrelated changes)

Feature Description

What does this add?

Adds the ease-elastic-spring-pop keyframe animation and ease-anim-elastic-spring-pop utility class for a smooth elastic pop effect using only transform and opacity.

How does a developer use it?

<div class="ease-anim-elastic-spring-pop">
  Content
</div>

The animation timing can be customized using the existing EaseMotion timing variables:

<div
  class="ease-anim-elastic-spring-pop"
  style="--ease-duration: 600ms; --ease-timing: cubic-bezier(.22, 1, .36, 1);"
>
  Content
</div>

Why does it fit EaseMotion CSS?

The animation follows EaseMotion CSS's animation-first philosophy by providing a reusable, lightweight motion utility without JavaScript. It uses compositor-friendly transform and opacity properties, supports configurable timing, and respects users who prefer reduced motion.


Demo

  • Demo added (demo.html works by opening directly in a browser)

Browser Testing

  • Chrome
  • Firefox
  • Edge
  • Safari (optional but appreciated)

Notes for Maintainer

  • The animation uses only transform and opacity for efficient rendering.
  • Supports --ease-duration and --ease-timing for customization.
  • Includes a prefers-reduced-motion: reduce override.
  • The implementation is intentionally lightweight and does not introduce JavaScript or external dependencies.
  • No unrelated components or submissions were modified.

closes #81679

@github-actions github-actions Bot added animation Animation effects, hover interactions, motion ideas, transitions good first issue Good for newcomers GSSoC-26 Official GSSoC 2026 issue gssoc:approved Approved for GSSoC contributions help wanted Extra attention needed level:intermediate Requires moderate project understanding type:feature New functionality or enhancement labels Aug 14, 2026
@SAPTARSHI-coder SAPTARSHI-coder added the invalid This doesn't seem right label Aug 14, 2026
@SAPTARSHI-coder

Copy link
Copy Markdown
Owner

❌ PR Closed — Files Outside submissions/ Folder

@vikasverma101, this PR has been automatically closed because it modifies files outside the allowed submissions/ directory:

  • core/animations.css
  • docs/easemotion.min.css
  • easemotion.min.css

What to do

Contributions must only add files inside the submissions/ folder. Please:

  1. Create a new branch
  2. Add only your submission files under submissions/examples/your-feature-name/
  3. Open a new PR

See the contribution guide for details.

— EaseMotion CSS Guard

@SAPTARSHI-coder

Copy link
Copy Markdown
Owner

🔒 Pull Request Closed: This PR has been automatically closed because it does not contain any file changes under the submissions/ directory. Contributors must place their submissions under the submissions/ directory (e.g., submissions/examples/your-feature-name/ or submissions/docs/your-feature-name/). Thank you!

@github-actions github-actions Bot added gssoc:invalid invalid-submission and removed gssoc:approved Approved for GSSoC contributions labels Aug 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔒 PR Closed (Unmerged). This PR was closed without being merged. No GSSoC points or credit awarded.

@vikasverma101
vikasverma101 deleted the feat/core-elastic-spring-pop branch August 14, 2026 13:28
@github-actions

Copy link
Copy Markdown
Contributor

📊 CSS Bundle Size Benchmark

This PR changes the size of easemotion.min.css.

Metric Base Branch This PR Difference
Raw 174.09 KB 174.56 KB 📈 +0.47 KB
Gzip 28.61 KB 28.70 KB 📈 +0.10 KB
Brotli 22.66 KB 22.66 KB 📈 +0.01 KB

@SAPTARSHI-coder

Copy link
Copy Markdown
Owner

❌ Submission Validation Failed

Thank you for your contribution! However, some required files are missing or incorrect.

📋 Required Structure

submissions/your-category/your-feature-name/ (e.g., submissions/examples/ or submissions/docs/)
├── demo.html     ← Interactive demo with DOCTYPE, html, head, body tags
├── style.css     ← Your original CSS (not copy-pasted from a template)
└── README.md     ← Brief description of your feature

🔍 Issues Found:

🔠 Strict Code Integrity Protection

  • ❌ Repository rule violation: You are not allowed to change existing code. Modified existing files: core/animations.css, docs/easemotion.min.css, easemotion.min.css.
  • ❌ Repository rule violation: You are not allowed to delete any code.

🔠 Core Framework Protection

  • ❌ PR modifies core framework/configuration files: core/animations.css, docs/easemotion.min.css. Contributors may only modify files inside the submissions/ directory.

🔠 Submission Folder Protection

  • ❌ This PR does not contain any additions inside the submissions/ directory. Contributors must place their submissions under the submissions/ directory (e.g. submissions/examples/your-feature-name/ or submissions/docs/your-feature-name/).

📝 How to Fix:

  1. Ensure all 3 files exist with real, original content
  2. demo.html must have <!DOCTYPE html>, <html>, <head>, <body> tags
  3. style.css must contain your own CSS (not copy-pasted boilerplate)
  4. Push fixes to this branch — the validator will re-run automatically

📖 See CONTRIBUTING.md for full guidelines.

@SAPTARSHI-coder

Copy link
Copy Markdown
Owner

🔒 Pull Request Closed

This PR was automatically closed because it failed the submission validation check.

Please fix the issues listed above, then open a new pull request. Thank you!

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

Labels

animation Animation effects, hover interactions, motion ideas, transitions core documentation good first issue Good for newcomers gssoc:invalid GSSoC-26 Official GSSoC 2026 issue help wanted Extra attention needed invalid This doesn't seem right invalid-submission level:intermediate Requires moderate project understanding needs-files type:feature New functionality or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(core): Add Elastic Spring Pop SCSS animation mixin

2 participants