Introduce select component

This commit is contained in:
Marcus Moore 2025-01-13 12:17:01 -08:00
parent 587449ef97
commit ed0cec5ba6
No known key found for this signature in database

View file

@ -0,0 +1,25 @@
@props([
// <options> can either be provided as key => value pairs
// or passed in via the default $slot
'options',
'selected' => null,
'includeEmpty' => false,
'forLivewire' => false,
])
<select
{{ $attributes->class(['select2', 'livewire-select2' => $forLivewire]) }}
@if($forLivewire) data-livewire-component="{{ $this->getId() }}" @endif
>
@if($includeEmpty)
<option value=""></option>
@endif
{{-- map the simple key => value pairs when nothing is passed in via the slot --}}
@if($slot->isEmpty())
@foreach($options as $key => $value)
<option value="{{ $key }}" @selected($selected === $key)>{{ $value }}</option>
@endforeach
@else
{{ $slot }}
@endif
</select>