crucıble

Quench

A click ripple that expands from the exact point of contact, like hot metal hitting water: a thin shockwave, a briefly desaturated cooled core, and ejected spark particles. Keyboard activation ripples from center.

motionfree

Installation

CLI

npx shadcn@latest add @crucible/quench

Manual — install dependencies, then copy the source

npm install motion

Props

PropTypeDefaultDescription
colorstringwhiteShockwave color. Any CSS color.
durationnumberSeconds the ripple takes to fully dissipate.
sparksbooleanShow 2-3 spark particles ejected from the click point.
onClickReact.MouseEventHandler<HTMLButtonElement>Fires after the ripple's originating click/keyboard-activation.
childrenReact.ReactNodeButton label / content.
Also accepts all props of Omit<HTMLMotionProps<"button">, "onClick" | "children">they pass through to the underlying element.

Honors prefers-reduced-motion with a designed static fallback, and passes className through.