Skip to content
cccskills
FreePublished on GitHub

ripple-press

Acknowledge a tap/click with a ripple that blooms from the exact press point. Fast and low-opacity so it reads as feedback, not decoration. No ripple under prefers-reduced-motion (native :active covers it). Avoid on destructive actions and text links.

The English summary is being prepared. Showing the original description.

See how to install

Files included (5)

  • SKILL.md2.0 KB
  • preview.html1.3 KB
  • recipe.motion.yaml1.7 KB
  • ripple.css743 B
  • ripple.js1.5 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

ripple-press

A ripple that blooms from the press point. Part of motion-anything; obeys MOTION-SPEC.md. Based on the Material state-layer interaction, reimplemented dependency-free.

When to use it

  • Buttons / clickable tiles where a tap should feel acknowledged; touch-first, app-like UIs.

When NOT to use it (restraint)

  • Destructive actions (don't encourage repeat taps) and text links (feels heavy).
  • Elements that already have a strong press state.

How to apply

  1. Copy ripple.css and ripple.js into the project, and link them.
  2. Mark the button (it should be position:relative; overflow:hidden — the CSS sets this):
    <button class="ripple">Save</button>
    
  3. Auto-attaches to .ripple; a wave spawns at the pointer point and cleans itself up.

Accessibility & performance

  • No ripple under prefers-reduced-motion; the native :active state provides feedback.
  • Transform/opacity only; each wave removes itself on animationend.

Framework notes

  • React: call attachRipple(ref.current) in useEffect. The tint comes from the element's currentColor — set text color to control it.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Back In Down — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

The English summary is being prepared. Showing the original description.

nexu-io/motion-anything946Updated Jul 7, 2026

Back In Left — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

The English summary is being prepared. Showing the original description.

nexu-io/motion-anything946Updated Jul 7, 2026

Back In Right — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

The English summary is being prepared. Showing the original description.

nexu-io/motion-anything946Updated Jul 7, 2026

Back In Up — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

The English summary is being prepared. Showing the original description.

nexu-io/motion-anything946Updated Jul 7, 2026

Back Out Down — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

The English summary is being prepared. Showing the original description.

nexu-io/motion-anything946Updated Jul 7, 2026

Back Out Left — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

The English summary is being prepared. Showing the original description.

nexu-io/motion-anything946Updated Jul 7, 2026

See all skills by nexu-io

Report a problem with this skill