@props([
'variant' => 'primary',
'size' => 'md',
'href' => null,
'type' => 'button'
])
@php
$baseClasses = 'flex whitespace-nowrap items-center justify-center font-medium transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:opacity-50 disabled:cursor-not-allowed';
$variantClasses = [
'primary' => 'bg-blue-600 text-white hover:bg-blue-700 focus:ring-blue-500 shadow-sm hover:shadow-md',
'outline' => 'bg-transparent border-2 border-slate-300 text-slate-700 hover:border-slate-400 hover:bg-slate-50 focus:ring-slate-500',
'ghost' => 'bg-transparent text-slate-600 hover:bg-slate-100 focus:ring-slate-500',
'white' => 'bg-white text-blue-600 hover:bg-blue-50 focus:ring-white shadow-lg hover:shadow-xl'
];
$sizeClasses = [
'sm' => 'px-3 py-1.5 text-sm rounded-md',
'md' => 'px-4 py-2 text-base rounded-lg',
'lg' => 'px-6 py-3 text-lg rounded-lg'
];
$classes = $baseClasses . ' ' . $variantClasses[$variant] . ' ' . $sizeClasses[$size];
@endphp
@if($href)
merge(['class' => $classes]) }}>
{{ $slot }}
@else
@endif