"use client"; // Adapted from Magic UI (MIT). See THIRD_PARTY_NOTICES.md. import { type ComponentProps, type CSSProperties, useEffect, useRef, useState, } from "react"; export function RippleButton({ children, className = "", type = "button", onClick, rippleColor, style, ...props }: ComponentProps<"button"> & { rippleColor?: string }) { const [wave, setWave] = useState<{ x: number; y: number; size: number; key: number; } | null>(null); const sequence = useRef(0); useEffect(() => { if (!wave) return; const timer = setTimeout(() => setWave(null), 650); return () => clearTimeout(timer); }, [wave]); return ( ); }