46 lines
1.1 KiB
PHP
46 lines
1.1 KiB
PHP
{{-- Credit: Lucide (https://lucide.dev) --}}
|
|
|
|
@props([
|
|
'variant' => 'outline',
|
|
])
|
|
|
|
@php
|
|
if ($variant === 'solid') {
|
|
throw new \Exception('The "solid" variant is not supported in Lucide.');
|
|
}
|
|
|
|
$classes = Flux::classes('shrink-0')
|
|
->add(match($variant) {
|
|
'outline' => '[:where(&)]:size-6',
|
|
'solid' => '[:where(&)]:size-6',
|
|
'mini' => '[:where(&)]:size-5',
|
|
'micro' => '[:where(&)]:size-4',
|
|
});
|
|
|
|
$strokeWidth = match ($variant) {
|
|
'outline' => 2,
|
|
'mini' => 2.25,
|
|
'micro' => 2.5,
|
|
};
|
|
@endphp
|
|
|
|
<svg
|
|
{{ $attributes->class($classes) }}
|
|
data-flux-icon
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
viewBox="0 0 24 24"
|
|
fill="none"
|
|
stroke="currentColor"
|
|
stroke-width="{{ $strokeWidth }}"
|
|
stroke-linecap="round"
|
|
stroke-linejoin="round"
|
|
aria-hidden="true"
|
|
data-slot="icon"
|
|
>
|
|
<path d="M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17" />
|
|
<path d="m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9" />
|
|
<path d="m2 16 6 6" />
|
|
<circle cx="16" cy="9" r="2.9" />
|
|
<circle cx="6" cy="5" r="3" />
|
|
</svg>
|