Ripple Button

Use Ripple Button when an action benefits from a pointer-originating visual response. The ripple begins where the person points or presses, while the button keeps standard button behavior.

Preview

Reduce motion:Off
Tune:Off
Inspect

Installation

Basic usage

TypeScript
ripple-button.tsx

Examples

Adjust the ripple scale, duration, and classes to fit the action. Use the text helper when the label needs its own treatment inside the button.

Usage

API

PropertyTypeDefaultDescription
childrenReactNoderequiredThe content to be displayed inside the button.
scaleAmountnumber25The scale amount for the ripple effect.
classNamestring—Additional CSS classes for the button.
durationnumber0.5Duration of the ripple animation in seconds.
rippleStylestring—Additional CSS classes for the ripple effect.

Accessibility

Use a clear visible label or aria-label for icon-only actions. The ripple is supplementary feedback and does not replace focus or pressed states.

Styling

The component forwards native button props, including disabled and event handlers. Reduced-motion preferences retain the interaction state without animated expansion.

Contact

Found a bug or need help using this component? Open an issue on GitHub.

License & Usage

Sona UI is available under the MIT license. You may use, modify, and distribute this component in personal and commercial projects.

Was this page helpful?

Your response helps us improve component docs.

Related components