{{-- Ícono Heroicons v2 del kit ui-ctc (blade-ui-kit/blade-heroicons). Uso: .
variante: o (contorno 24, por defecto) | s (sólido 24) | m (mini 20) | c (micro 16). Lista: https://heroicons.com
Es decorativo: el texto o el aria-label lo pone el control que lo contiene. Sin h-* en class, mide h-4 w-4.
sprite: en filas que se repiten, referencia el símbolo de en vez de copiar el SVG entero.
Los demás atributos (x-bind:class…) se añaden tal cual: ya vienen escapados por Blade, svg() los escaparía dos veces. --}}
@props(['nombre', 'variante' => 'o', 'sprite' => false])
@php
$clase = trim((preg_match('/(^|\s)(h|size)-/', (string) $attributes->get('class')) ? '' : 'h-4 w-4 ') . 'shrink-0 ' . $attributes->get('class'));
$extra = $attributes->except('class')->toHtml();
@endphp
@if ($sprite)
@else
@php $svg = svg('heroicon-' . $variante . '-' . $nombre, $clase, ['aria-hidden' => 'true'])->toHtml(); @endphp
{!! $extra !== '' ? preg_replace('/^