@props(['atual', 'anterior' => null, 'rotulo', 'altaEBoa' => true, 'compacto' => false, 'curto' => null]) {{-- Comparativo sem base fica oculto (decisão de 15/09/2026): loja que ainda não existia, mês sem valor. Um "+∞%" ou "-100%" contra zero não informa. Três formas: etiqueta (padrão, nos cartões: "▲ 7,5% mês"), compacta (nas tabelas, só a seta e o número) e, no título, sempre o valor de comparação. --}} @php $base = $anterior === null ? 0.0 : (float) $anterior; @endphp @if ($anterior !== null && abs($base) >= 0.005) @php $percentual = ((float) $atual - $base) / abs($base) * 100; $subiu = $percentual >= 0; $bom = $subiu === (bool) $altaEBoa; $texto = number_format(abs($percentual), 1, ',', '.').'%'; @endphp @if ($compacto) class(['flex items-center gap-0.5 tabular-nums', 'text-emerald-700' => $bom, 'text-rose-700' => ! $bom]) }} title="vs {{ $rotulo }}: {{ number_format($base, 2, ',', '.') }}"> {{ $subiu ? 'subiu' : 'caiu' }}{{ $texto }} @else class([ 'inline-flex items-center gap-1 rounded-sm px-2 py-0.5 text-xs font-medium tabular-nums', 'bg-emerald-50 text-emerald-800' => $bom, 'bg-rose-50 text-rose-800' => ! $bom, ]) }} title="vs {{ $rotulo }}: {{ number_format($base, 2, ',', '.') }}"> {{ $subiu ? 'subiu' : 'caiu' }} {{ $texto }} {{ $curto ?? 'vs '.$rotulo }} @endif @endif