🎨 Add new Flux icons: implement multiple reusable icon components (e.g., hand-raised, hand-thumb-up, heart, hashtag, home) with variant support for improved UI consistency.

This commit is contained in:
HolgerHatGarKeineNode
2026-01-23 23:00:02 +01:00
parent 578e4f13fc
commit b30fec150c
792 changed files with 307541 additions and 117 deletions

View File

@@ -0,0 +1,56 @@
@props([
'placeholder' => null,
'searchable' => null,
'clearable' => null,
'multiple' => null,
'invalid' => null,
'empty' => null,
'input' => null,
'size' => null,
'name' => null,
])
@php
// We only want to show the name attribute on the checkbox if it has been set
// manually, but not if it has been set from the wire:model attribute...
$showName = isset($name);
if (! isset($name)) {
$name = $attributes->whereStartsWith('wire:model')->first();
}
if ($searchable) {
throw new \Exception('Comboboxes do not support the searchable prop.');
}
if ($multiple) {
throw new \Exception('Comboboxes do not support the multiple prop.');
}
$invalid ??= ($name && $errors->has($name));
$class = Flux::classes()
->add('w-full');
@endphp
<ui-select autocomplete="strict" clear="esc" {{ $attributes->class($class)->merge(['filter' => true]) }} @if($showName) name="{{ $name }}" @endif data-flux-control data-flux-select>
<?php if ($input): ?> {{ $input }} <?php else: ?>
<flux:select.input :$placeholder :$invalid :$size :$clearable />
<?php endif; ?>
<flux:select.options>
<?php if ($empty): ?>
<?php if (is_string($empty)): ?>
<flux:select.option.empty>{!! __($empty) !!}</flux:select.option.empty>
<?php else: ?>
{{ $empty }}
<?php endif; ?>
<?php else: ?>
<flux:select.option.empty when-loading="{!! __('Loading...') !!}">
{!! __('No results found') !!}
</flux:select.option.empty>
<?php endif; ?>
{{ $slot }}
</flux:select.options>
</ui-select>