@props([ 'name', 'label', 'options' => [], 'selected' => null, 'required' => false, 'icon' => null, 'search' => true, // Nuevo: Opción para activar/desactivar búsqueda 'multiple' => false // Nuevo: Soporte para selección múltiple ]) @php // Generamos un ID único si no se proporciona uno, para inicializar Select2 sin conflictos $id = $attributes->get('id') ?? $name . '_' . uniqid(); // Clase especial para identificar si usamos Select2 o un select normal $selectClass = $search ? 'select2-init' : 'form-control'; @endphp
{{-- Label Estilizado --}}
{{-- Ícono (Opcional) --}} @if($icon)
@endif {{-- Select --}} {{-- Mensaje de Error (Dentro del input-group con w-100 para forzar el salto de línea) --}} @error($name) @enderror
{{-- SCRIPT DE INICIALIZACIÓN (Se ejecuta solo una vez) --}} {{-- ... (Tu HTML del select se mantiene igual) ... --}} {{-- SCRIPT DE INICIALIZACIÓN --}} @once @push('js') {{-- ESTILOS CORRECTIVOS PARA INPUT GROUP --}} @endpush @endonce {{-- Como se usa: Con Ícono y Selección Múltiple: --}}