30 lines
615 B
PHP
30 lines
615 B
PHP
@props([
|
|
'alias' => null,
|
|
'class' => '',
|
|
'icon' => null,
|
|
])
|
|
|
|
@php
|
|
$icon = ($alias ? \Filament\Support\Facades\FilamentIcon::resolve($alias) : null) ?: ($icon ?? $slot);
|
|
@endphp
|
|
|
|
@if ($icon instanceof \Illuminate\Contracts\Support\Htmlable)
|
|
<span {{ $attributes->class($class) }}>
|
|
{{ $icon }}
|
|
</span>
|
|
@elseif (str_contains($icon, '/'))
|
|
<img
|
|
{{
|
|
$attributes
|
|
->merge(['src' => $icon])
|
|
->class($class)
|
|
}}
|
|
/>
|
|
@else
|
|
@svg(
|
|
$icon,
|
|
$class,
|
|
array_filter($attributes->getAttributes()),
|
|
)
|
|
@endif
|