@props([ 'name', 'items' => collect(), 'value' => 'id', 'text' => 'name', 'selected' => null, 'placeholder' => 'Seleccione una opción', 'idParent' => null, 'label' => null, 'autoSelectFirst' => false ]) @php $valueSelected = old($name, $selected); if (is_null($valueSelected) && $autoSelectFirst && $items->isNotEmpty()) { $firstItemValue = data_get($items->first(), $value); $valueSelected = $firstItemValue; } $options = $items ->mapWithKeys( fn($item) => [ data_get($item, $value) => data_get($item, $text), ], ) ->all(); if (!$autoSelectFirst && !array_key_exists('', $options)) { $options = ['' => $placeholder] + $options; } @endphp