@props([ 'label' => null, 'id' => null, 'name' => null, 'type' => 'text', 'placeholder' => null, 'hint' => null, 'error' => null, 'required' => false, 'disabled' => false, 'readonly' => false, 'prefix' => null, 'suffix' => null, 'icon' => null, 'iconPosition' => 'left', 'size' => 'md', ]) @php $inputId = $id ?? $name ?? Str::random(8); // AdminLTE size classes $sizeClasses = match($size) { 'sm' => 'lte-form-control-sm', 'md' => '', 'lg' => 'lte-form-control-lg', default => '', }; $iconSizeClasses = match($size) { 'sm' => 'size-4', 'md' => 'size-4', 'lg' => 'size-5', default => 'size-4', }; // AdminLTE input classes $inputClasses = "lte-form-control $sizeClasses"; if ($error) { $inputClasses .= ' is-invalid'; } @endphp
only('class')->merge(['class' => 'mb-3']) }}> {{-- Label --}} @if($label) @endif {{-- Input wrapper --}} @if($icon || $prefix || $suffix)
{{-- Left icon/prefix --}} @if($icon && $iconPosition === 'left') @endif @if($prefix) {{ $prefix }} @endif {{-- Input --}} except('class')->merge(['class' => $inputClasses]) }} > {{-- Right icon/suffix --}} @if($icon && $iconPosition === 'right') @endif @if($suffix) {{ $suffix }} @endif
@else {{-- Simple input without addon --}} except('class')->merge(['class' => $inputClasses]) }} > @endif {{-- Hint text --}} @if($hint && !$error) {{ $hint }} @endif {{-- Error message --}} @if($error)
{{ $error }}
@endif