@props([ 'name', 'id' => null, 'label' => null, 'options' => [], 'selected' => null, 'placeholder' => 'Select option', 'searchPlaceholder' => 'Search...', 'required' => false, 'error' => null, 'emitEvent' => null, 'resetOn' => null, 'icon' => null, 'enhanced' => false, 'showCode' => false, ]) @php $fieldId = $id ?? $name; $errorKey = $error ?? $name; $resolvedIcon = $icon ?? match ($name) { 'country_id', 'country' => 'country', 'role', 'role_id' => 'role', 'status' => 'status', 'office_id' => 'office', 'folder_id', 'parent_id' => 'folder', 'document_type' => 'document', default => 'select', }; $displayCode = $showCode || $resolvedIcon === 'country'; $normalizedOptions = collect($options)->map(function ($option) { $label = (string) (data_get($option, 'label') ?? data_get($option, 'name') ?? ''); $code = strtoupper((string) (data_get($option, 'code') ?? data_get($option, 'iso2') ?? '')); if (data_get($option, 'status') === false || data_get($option, 'status') === 0) { $label .= ' (Inactive)'; } return [ 'value' => (string) (data_get($option, 'value') ?? data_get($option, 'id') ?? ''), 'label' => $label, 'code' => $code, 'disabled' => (bool) data_get($option, 'disabled', data_get($option, 'status') === false || data_get($option, 'status') === 0), ]; })->filter(fn ($option) => !($option['value'] === '' && $option['label'] === ''))->values(); @endphp
{{ $message }}
@enderror