@props([ 'type' => 'button', 'variant' => 'primary', 'size' => 'md', 'icon' => null, 'loading' => false, 'disabled' => false, 'href' => null, 'target' => null, 'onclick' => null, 'class' => '', 'id' => null, 'data' => [] ]) @php $baseClasses = 'btn'; // Variantes $variantClasses = [ 'primary' => 'btn-primary text-white', 'secondary' => 'btn-outline-secondary', 'success' => 'btn-success text-white', 'warning' => 'btn-warning text-white', 'danger' => 'btn-danger text-white', 'info' => 'btn-info text-white', 'light' => 'btn-light', 'dark' => 'btn-dark text-white', 'outline-primary' => 'btn-outline-primary', 'outline-success' => 'btn-outline-success', 'outline-warning' => 'btn-outline-warning', 'outline-danger' => 'btn-outline-danger', 'outline-info' => 'btn-outline-info', ]; // TamaƱos $sizeClasses = [ 'sm' => 'btn-sm', 'md' => '', 'lg' => 'btn-lg', 'xl' => 'btn-lg px-4 py-3' ]; $classes = $baseClasses . ' ' . $variantClasses[$variant] . ' ' . $sizeClasses[$size]; if ($loading) { $classes .= ' btn-loading'; } if ($disabled) { $classes .= ' disabled'; } $classes .= ' ' . $class; // Atributos de datos $dataAttributes = ''; foreach ($data as $key => $value) { $dataAttributes .= " data-{$key}=\"{$value}\""; } @endphp @if($href) @if($icon) @endif {{ $slot }} @else @endif