@props(['variant' => 'primary', 'type' => 'submit', 'href' => null, 'size' => 'md'])
@php
$base = 'inline-flex items-center justify-center gap-2 rounded-lg font-medium transition focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-60';
$sizes = ['sm' => 'px-3 py-1.5 text-xs', 'md' => 'px-4 py-2 text-sm'];
$variants = [
'primary' => 'bg-indigo-600 text-white shadow-sm hover:bg-indigo-500 focus-visible:ring-indigo-500',
'secondary' => 'border border-slate-300 bg-white text-slate-700 shadow-xs hover:bg-slate-50 focus-visible:ring-indigo-500',
'danger' => 'bg-red-600 text-white shadow-sm hover:bg-red-500 focus-visible:ring-red-500',
'ghost' => 'text-slate-600 hover:bg-slate-100 hover:text-slate-900 focus-visible:ring-indigo-500',
'danger-ghost' => 'text-red-600 hover:bg-red-50 focus-visible:ring-red-500',
];
$classes = $base.' '.$sizes[$size].' '.$variants[$variant];
@endphp
@if ($href)
merge(['class' => $classes]) }}>{{ $slot }}
@else
@endif