@props(['href' => null, 'variant' => 'primary', 'type' => 'button', 'block' => false]) @php $base = 'inline-flex items-center justify-center gap-2 rounded-full px-6 min-h-[48px] text-[15px] font-bold transition focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary disabled:opacity-50 disabled:pointer-events-none'; $styles = [ 'primary' => 'bg-primary text-on-primary hover:bg-primary-container', 'soft' => 'bg-tertiary text-on-tertiary hover:bg-tertiary-container', 'ghost' => 'border border-outline-variant text-primary hover:bg-surface-mid', 'danger' => 'bg-error-container text-on-error-container hover:opacity-90', ]; $cls = $base . ' ' . ($styles[$variant] ?? $styles['primary']) . ($block ? ' w-full' : ''); @endphp @if ($href) merge(['class' => $cls]) }}>{{ $slot }} @else @endif