45 lines
1.0 KiB
PHP
45 lines
1.0 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="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8" />
|
|
<path d="M21 3v5h-5" />
|
|
<path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16" />
|
|
<path d="M8 16H3v5" />
|
|
</svg>
|