@props([ 'type' => 'button', 'variant' => 'primary', 'size' => 'md', 'href' => null, 'disabled' => false, 'form' => null, 'method' => null, 'action' => null, 'confirm' => null, ]) @php // Use new universal button system $baseClasses = 'btn'; // Map variants to new universal color classes $variantClasses = match($variant) { // Primary Actions (Blue) 'primary', 'view' => 'btn-primary', // Success/Save Actions (Green) 'save', 'success', 'create' => 'btn-success', // Warning/Edit Actions (Orange) 'edit', 'warning' => 'btn-warning', // Danger/Delete Actions (Red) 'danger', 'delete' => 'btn-danger', // Secondary/Neutral Actions (Gray) 'secondary', 'cancel' => 'btn-secondary', // Navigation Actions (White) 'navigation', 'light' => 'btn-light', // Legacy mappings 'approve' => 'btn-success', 'link' => 'btn-secondary', default => 'btn-primary', }; // Map sizes to new universal size classes $sizeClasses = match($size) { 'sm' => 'btn-sm', 'md' => 'btn-md', 'lg' => 'btn-lg', 'default' => 'btn-md', default => 'btn-md', }; $classes = $baseClasses . ' ' . $variantClasses . ' ' . $sizeClasses; @endphp @if ($href) merge(['class' => $classes]) }}> {{ $slot }} @elseif ($method && $action)
@else @endif