auditionadmin/resources/views/components/form/field.blade.php

44 lines
1.4 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
<div class="mt-2">
<input {{ $attributes->merge($inputAttributes) }}>
</div>
</div>