@props(['variant' => 'primary', 'href' => null, 'icon' => null, 'size' => 'md', 'type' => 'button']) @php $variants = [ 'primary' => 'bg-brand-600 text-white hover:bg-brand-700 focus-visible:outline-brand-600', 'secondary' => 'bg-white text-gray-700 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 dark:bg-gray-800 dark:text-gray-200 dark:ring-gray-700 dark:hover:bg-gray-700', 'danger' => 'bg-red-600 text-white hover:bg-red-700 focus-visible:outline-red-600', 'success' => 'bg-emerald-600 text-white hover:bg-emerald-700 focus-visible:outline-emerald-600', 'ghost' => 'text-gray-600 hover:bg-gray-100 dark:text-gray-300 dark:hover:bg-gray-800', ]; $sizes = ['sm' => 'px-2.5 py-1.5 text-xs gap-1', 'md' => 'px-3.5 py-2 text-sm gap-1.5']; $classes = 'inline-flex items-center justify-center rounded-lg font-medium shadow-xs transition focus-visible:outline-2 focus-visible:outline-offset-2 disabled:cursor-not-allowed disabled:opacity-50 ' .($variants[$variant] ?? $variants['primary']).' '.$sizes[$size]; @endphp @if ($href) class($classes) }}> @if ($icon)@endif {{ $slot }} @else @endif