@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 }}
</{{ $tag }}>
