45 lines
1.5 KiB
PHP
45 lines
1.5 KiB
PHP
@props([
|
|
'name',
|
|
'type' => 'text',
|
|
'label' => false,
|
|
'colspan' => '1',
|
|
'label_text' => false
|
|
])
|
|
@php
|
|
$label_classes = "block text-sm font-medium leading-6 text-gray-900";
|
|
$inputClasses = "block w-full rounded-md border-0 py-1.5 text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6";
|
|
$inputAttributes = [
|
|
'id' => $name,
|
|
'name' => $name,
|
|
'type' => $type,
|
|
'class' => $inputClasses,
|
|
'value' => old($name),
|
|
|
|
];
|
|
$colspan_classes = [
|
|
'1' => '',
|
|
'2' => 'sm:col-span-2',
|
|
'3' => 'sm:col-span-3',
|
|
'4' => 'sm:col-span-4',
|
|
'5' => 'sm:col-span-5',
|
|
'6' => 'sm:col-span-6',
|
|
'7' => 'sm:col-span-7',
|
|
'8' => 'sm:col-span-8',
|
|
'9' => 'sm:col-span-9',
|
|
'10' => 'sm:col-span-10',
|
|
'11' => 'sm:col-span-11',
|
|
'12' => 'sm:col-span-12'
|
|
];
|
|
@endphp
|
|
<div @if($colspan > 1) class="{{ $colspan_classes["$colspan"] }}" @endif>
|
|
@if($label)
|
|
<label for="{{ $name }}" {{ $label->attributes->merge(['class' => $label_classes]) }}>{{ $label }}</label>
|
|
@elseif($label_text)
|
|
<label for="{{ $name }}" class="{{ $label_classes }}">{{ $label_text }}</label>
|
|
@endif
|
|
<input {{ $attributes->merge($inputAttributes) }}>
|
|
@error($name)
|
|
<p class="text-xs text-red-500 font-semibold mt-1 ml-3">{{ $message }}</p>
|
|
@enderror
|
|
</div>
|