import React from 'react'; import { motion } from 'framer-motion'; const Button = ({ children, onClick, variant = 'primary', className = '', icon: Icon, type = 'button', disabled = false, ...props }) => { const baseStyles = "flex items-center justify-center gap-2 px-6 py-3 font-bold transition-all rough-border cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed"; const variants = { primary: "bg-primary text-on-primary hover:opacity-90", secondary: "bg-secondary text-primary hover:bg-secondary/90", outline: "bg-surface-container-lowest text-primary border-primary/20 hover:bg-primary/5", error: "bg-error text-white hover:opacity-90", ghost: "border-transparent bg-transparent hover:bg-primary/5 shadow-none", 'rough-shadow': "bg-surface-container-lowest rough-shadow-hover hover:translate-y-[-2px]" }; return ( {Icon && } {children} ); }; export default Button;