@props([ 'type' => 'button', 'variant' => 'primary', 'size' => 'default', 'href' => null, 'disabled' => false, 'form' => null, 'method' => null, 'action' => null, 'confirm' => null, ]) @php $baseClasses = 'btn-base'; // Determine variant classes $variantClasses = match($variant) { 'primary' => 'btn-primary', 'view' => 'btn-view', 'edit' => 'btn-edit', 'delete' => 'btn-delete', 'create' => 'btn-create', 'approve' => 'btn-approve', 'cancel' => 'btn-cancel', 'secondary' => 'btn-secondary', default => 'btn-primary', }; // Determine size classes $sizeClasses = match($size) { 'sm' => 'btn-sm', 'lg' => 'btn-lg', default => 'btn', }; $classes = $baseClasses . ' ' . $variantClasses . ' ' . $sizeClasses; @endphp @if ($href) merge(['class' => $classes]) }}> {{ $slot }} @elseif ($method && $action)
@csrf @if (strtoupper($method) !== 'GET' && strtoupper($method) !== 'POST') @method($method) @endif
@else @endif