UNPKG

wgp-next-shop-ui-lib

Version:

Библиотека UI-компонентов для Next-Shop с поддержкой e-commerce функций

42 lines (35 loc) 1.19 kB
import React from 'react'; export default function Button({ children, onClick, className = '', variant = 'primary', size = 'md', disabled = false, ...rest }) { const baseClasses = "inline-flex items-center justify-center rounded-md font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-offset-2"; const variantClasses = { primary: "bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500", secondary: "bg-gray-200 text-gray-900 hover:bg-gray-300 focus:ring-gray-500", danger: "bg-red-600 text-white hover:bg-red-700 focus:ring-red-500", outline: "border border-gray-300 text-gray-700 hover:bg-gray-50 focus:ring-blue-500" }; const sizeClasses = { sm: "px-3 py-1.5 text-sm", md: "px-4 py-2 text-base", lg: "px-6 py-3 text-lg" }; const disabledClasses = disabled ? "opacity-50 cursor-not-allowed" : ""; const buttonClasses = `${baseClasses} ${variantClasses[variant]} ${sizeClasses[size]} ${disabledClasses} ${className}`; return ( <button onClick={onClick} className={buttonClasses} disabled={disabled} {...rest} > {children} </button> ); }