Select
class Select extends InputTriggerBase
Select Component.
A powerful select input supporting arrays, Eloquent collections, remote search, and object mapping.
Traits
Trait HasPresets.
Trait HasErrorBag.
Properties
| $size | |||
| $options | |||
| $selected | |||
| string|null | $icon | ||
| $placeholder | |||
| bool | $searchable | ||
| $label | |||
| bool | $multiple | ||
| bool | $clearable | ||
| bool | $remote | ||
| string|null | $remoteUrl | ||
| $color | |||
| $initialValue | |||
| int | $perPage | ||
| $customError | |||
| string|null | $hint | ||
| string|null | $help | ||
| string|null | $optionLabel | Field map for option label. |
|
| string|null | $optionValue | Field map for option value. |
|
| string|null | $optionDescription | Field map for option description. |
|
| string|null | $optionIcon | Field map for option icon. |
|
| string|null | $optionAvatar | Field map for option avatar. |
|
| bool | $autosave | ||
| string|null | $autosaveMethod | ||
| string|null | $autosaveKey | ||
| int | $autosaveDebounce | ||
| string|null | $emptyMessage | ||
| bool | $isEmpty | ||
| bool | $spinner | ||
| bool | $defer | ||
| bool | $fitTrigger | ||
| bool | $userSearchable | ||
| bool | $userClearable | ||
| static array<int, array{_value: mixed, label: string|null, icon: string|null, avatar: string|null, description: string|null}> | $pendingSlotOptions |
Methods
Compute component presets based on context.
No description
No description
No description
No description
No description
No description
No description
No description
No description
Determine the error state for a specific field.
Analyze wire:model attributes to determine binding state.
Resolve the size preset for the component.
Create a new Select component instance.
Get the view / contents that represent the component.
Pre-render an icon string into HTML.
Normalize options into a standard array format.
Details
in
HasPresets at line 21
array
getComponentPresets(string|null $componentName = null, ComponentAttributeBag|null $attributes = null)
Compute component presets based on context.
in
HasPresets at line 59
protected array
loadPresets(string $componentName)
No description
in
HasPresets at line 73
protected array
loadComponentDefaults(string $componentName)
No description
in
HasPresets at line 88
protected bool
detectHasVariants(array $colors)
No description
in
HasPresets at line 116
protected array
computeSupports(array $sizes, array $colorsArray, array $defaults, array $magicProps)
No description
in
HasPresets at line 137
protected array
resolveSize(array $supports, array $sizes, array $defaults, array $magicProps)
No description
in
HasPresets at line 174
protected array
resolveVariant(array $supports, array $colorsArray, array $componentPresets, array $defaults, array $magicProps, bool $hasVariants)
No description
in
HasPresets at line 223
protected array
resolveColor(array $supports, array $colorsArray, array $componentPresets, array $defaults, array $magicProps, string|null $variant, bool $hasVariants)
No description
in
HasPresets at line 293
protected array
resolveFill(array $supports, array $attributes, array $defaults)
No description
in
HasPresets at line 338
protected string
buildCacheKey(string $component, array $supports, string|null $size, string|null $variant, string|null $color, bool $shouldFill)
No description
in
HasPresets at line 349
protected void
syncInstanceProps(array $supports, string|null $size, string|null $variant, string|null $color)
No description
in
HasPresets at line 365
protected array
buildPresetNames(array $supports, string|null $size, string|null $variant, string|null $color, bool $shouldFill, string $sizeOrigin, string $variantOrigin, string $colorOrigin, string $fillOrigin)
No description
in
HasPresets at line 384
protected void
debugWarnings(array $supports, array $sizePreset, array $colorPreset, string $componentName, string|null $variant, string|null $color)
No description
in
HasErrorBag at line 24
array
getErrorState(ComponentAttributeBag|null $attributes = null, ViewErrorBag|MessageBag|null $errors = null, string|null $error = null)
Determine the error state for a specific field.
Checks both the session error bag and specific error attributes.
Looks up errors by wire:model value or name attribute.
in
BeartropyComponent at line 33
array
getWireModelState(ComponentAttributeBag|null $attributes = null)
Analyze wire:model attributes to determine binding state.
Detects if wire:model is present and if it uses dot notation (e.g., user.name).
in
BeartropyComponent at line 64
array
getSizePreset(string|null $componentName = null, array|ComponentAttributeBag|null $attributes = null, string $defaultSize = 'md')
Resolve the size preset for the component.
Checks:
- Explicit
$this->size. - Magic attributes (e.g.,
<x-button sm />). - Default size.
at line 122
__construct($options = null, $selected = null, $icon = null, $placeholder = null, $searchable = true, $label = null, $multiple = false, $clearable = true, $remote = false, $remoteUrl = null, $size = null, $color = null, $initialValue = null, $perPage = 15, $customError = null, $hint = null, $help = null, $autosave = false, $autosaveMethod = 'savePreference', $autosaveKey = null, $autosaveDebounce = 300, $optionLabel = 'label', $optionValue = 'value', $optionDescription = 'description', $optionIcon = 'icon', $optionAvatar = 'avatar', $emptyMessage = null, $spinner = true, $defer = false, $fitTrigger = true)
Create a new Select component instance.
at line 364
View
render()
Get the view / contents that represent the component.
at line 215
static string|null
renderIcon(string|null $icon)
Pre-render an icon string into HTML.
Handles emoji, raw SVG/IMG markup, short text, and Heroicon names.
at line 254
protected array<string, array{_value: mixed, label: string|null, icon: string|null, avatar: string|null, description: string|null}>
normalizeOptions(mixed $options)
Normalize options into a standard array format.
Handles:
- Eloquent Collections.
- Associative arrays (key => label).
- Indexed arrays.
- Array of Options (objects/arrays).
Uses configured field mappings (optionLabel, optionValue) to extract data.