@props([
'type' => 'text',
'name' => '',
])
@switch($type)
@case('hidden')
@case('text')
@case('email')
@case('password')
@case('number')
only(['value', ':value', 'v-model', 'rules', ':rules', 'label', ':label']) }}
>
except(['value', ':value', 'v-model', 'rules', ':rules', 'label', ':label'])->merge(['class' => 'w-full mb-3 py-2 px-3 shadow border rounded text-[14px] text-gray-600 transition-all hover:border-gray-400 focus:border-gray-400']) }}
>
@break
@case('file')
only(['value', ':value', 'v-model', 'rules', ':rules', ':rules', 'label', ':label']) }}
>
except(['value', ':value', 'v-model', 'rules', ':rules', 'label', ':label'])->merge(['class' => 'w-full mb-3 py-2 px-3 shadow border rounded text-[14px] text-gray-600 transition-all hover:border-gray-400 focus:border-gray-400']) }}
>
@break
@case('color')
except('class') }}
>
except(['value'])->merge(['class' => 'w-full appearance-none border rounded-[6px] text-[14px] text-gray-600 transition-all hover:border-gray-400']) }}
>
@break
@case('textarea')
only(['value', ':value', 'v-model', 'rules', ':rules', 'label', ':label']) }}
>
@if ($attributes->get('tinymce', false) || $attributes->get(':tinymce', false))
@endif
@break
@case('date')
only(['value', ':value', 'v-model', 'rules', ':rules', 'label', ':label']) }}
>
except(['value', ':value', 'v-model', 'rules', ':rules', 'label', ':label'])->merge(['class' => 'w-full mb-3 py-2 px-3 shadow border rounded text-[14px] text-gray-600 transition-all hover:border-gray-400 focus:border-gray-400']) }}
autocomplete="off"
>
@break
@case('datetime')
only(['value', ':value', 'v-model', 'rules', ':rules', 'label', ':label']) }}
>
except(['value', ':value', 'v-model', 'rules', ':rules', 'label', ':label'])->merge(['class' => 'w-full mb-3 py-2 px-3 shadow border rounded text-[14px] text-gray-600 transition-all hover:border-gray-400 focus:border-gray-400']) }}
autocomplete="off"
>
@break
@case('select')
only(['value', ':value', 'v-model', 'rules', ':rules', 'label', ':label']) }}
>
@break
@case('multiselect')
except(['value', ':value', 'v-model', 'rules', ':rules', 'label', ':label'])->merge(['class' => 'flex flex-col w-full min-h-[82px] py-2 px-3 bg-white border border-[#E9E9E9] rounded-[6px] text-[14px] text-gray-600 font-normal transition-all hover:border-gray-400']) }}
multiple
>
{{ $slot }}
@break
@case('checkbox')
only(['value', ':value', 'v-model', 'rules', ':rules', 'label', ':label']) }}
>
except(['rules', 'label', ':label']) }}
/>
@break
@case('radio')
only(['value', ':value', 'v-model', 'v-model', 'rules', ':rules', 'label', ':label']) }}
>
except(['rules', 'label', ':label']) }}
/>
@break
@case('switch')
@break
@case('image')
@break
@case('custom')
{{ $slot }}
@endswitch