"use client"; import useRipple from "@/components/utils/useRipple"; interface FilledButtonProps extends React.ButtonHTMLAttributes { size?: "xs" | "s" | "m" | "l" | "xl"; shape?: "round" | "square"; children?: React.ReactNode; ripple?: boolean; } export const FilledButton = ({ children, size = "s", shape = "round", className, ripple = true, ...rest }: FilledButtonProps) => { let sizeClasses = "text-sm leading-5 h-10 px-4"; let shapeClasses = shape === "round" ? "rounded-full" : "rounded-xl"; if (size === "m") { sizeClasses = "text-base leading-6 h-14 px-6"; shapeClasses = shape === "round" ? "rounded-full" : "rounded-2xl"; } const { onMouseDown, onTouchStart } = useRipple({ ripple }); return ( ); };