{{-- =========================================================================== [컴포넌트 사용 가이드: x-admin.forms.input] 1. 기본 단독 필수 입력창 (현재 표준 디자인 규격):
2. 읽기 전용 / 일반 텍스트 입력창:
3. 앞단 아이콘 또는 뒷단 단위 추가 (prepend / append):
=========================================================================== --}} @props([ 'name', // input name 및 id (필수) 'id' => null, // 명시적 id 'type' => 'text', // text, password, email, number, tel, date 등 'value' => null, // 기본값 'label' => null, // 상단 라벨 텍스트 'placeholder' => null, // 플레이스홀더 'required' => false, // 시각적 필수 표시(*) 및 검증 플래그 'nativeRequired' => false, // 브라우저 기본 required 속성 'disabled' => false, // 비활성화 여부 'readonly' => false, // 읽기 전용 여부 'prepend' => null, // 앞단 아이콘/텍스트 'append' => null, // 뒷단 단위/텍스트 'helpText' => null, // 하단 안내 텍스트 'autocomplete' => 'off', ]) @php $inputValue = old($name, $value); $inputId = $id ?? $name; @endphp
{{-- 1. 상단 라벨 영역 --}} @if($label) @endif {{-- 2. 앞/뒤 결합 요소가 있는 경우 --}} @if($prepend || $append)
@if($prepend) {!! $prepend !!} @endif class(['form-control', 'is-invalid' => $errors->has($name)]) }} > @if($append) {!! $append !!} @endif @error($name)
{{ $message }}
@enderror
@else {{-- 3. 표준 단독 인풋 영역 --}} class(['form-control', 'is-invalid' => $errors->has($name)]) }} > {{-- 4. 유효성 검사 에러 피드백 --}} @error($name)
{{ $message }}
@enderror @endif {{-- 5. 하단 보조 도움말 --}} @if($helpText && !$errors->has($name))
{{ $helpText }}
@endif