@props([ 'variant' => 'primary', 'href' => null, 'type' => 'button', 'size' => null, 'plain' => false, ]) @php $tag = $href ? 'a' : 'button'; $variantClass = match ($variant) { 'secondary' => 'btn-secondary', 'warning' => 'btn-warning', 'danger' => 'btn-danger', 'link' => 'btn-link', default => 'btn-primary', }; $classes = collect([ $variantClass, $size === 'sm' ? 'btn-sm' : null, ($plain && $variant === 'link') ? 'btn-link-plain' : null, ($plain && $variant === 'danger') ? 'btn-danger-plain' : null, ])->filter()->implode(' '); @endphp <{{ $tag }} @if ($href) href="{{ $href }}" @endif @if ($tag === 'button') type="{{ $type }}" @endif {{ $attributes->class([$classes]) }} > {{ $slot }}