import { type HTMLMotionProps, type Transition } from "motion/react";
import * as React from "react";
/** Props accepted by {@link RippleButton}. */
export interface RippleButtonProps extends HTMLMotionProps<"button"> {
/** Button contents rendered above the ripple layer. @default undefined */
children: React.ReactNode;
/** Additional CSS classes merged with each generated ripple. @default undefined */
rippleClassName?: string;
/** Final expansion scale applied to each ripple animation. @default 10 */
scale?: number;
/** Motion timing used for each ripple animation. @default {duration: 0.6, ease: "easeOut"} */
transition?: Transition;
}
/**
* Renders a pressable button that emits animated ripples from the click position.
*
* @remarks
* - Animated component using the `motion` library
* - Renders a `