@props(['title', 'value' => 0, 'delta' => 0, 'trend' => 'stable', 'format' => 'number', 'hint' => null]) @php $formatted = match($format) { 'currency' => '$' . number_format((float) $value, 2), 'percent' => number_format((float) $value, 1) . '%', default => number_format((float) $value), }; $deltaAbs = number_format(abs((float) $delta), 1); $badgeColor = match($trend) { 'up' => 'bg-emerald-50 text-emerald-700 border border-emerald-200 dark:bg-brand-emerald-950/30 dark:text-brand-emerald-400 dark:border-brand-emerald-500/20', 'down' => 'bg-red-50 text-red-700 border border-red-200 dark:bg-red-950/30 dark:text-red-400 dark:border-red-500/20', default => 'bg-slate-100 text-slate-600 border border-slate-200 dark:bg-brand-charcoal-800/40 dark:text-brand-charcoal-350 dark:border-brand-charcoal-800', }; $icon = match($trend) { 'up' => 'uil uil-arrow-grow', 'down' => 'uil uil-arrow-down-left', default => 'uil uil-minus', }; @endphp
{{ $title }}

{{ $formatted }}

@if($hint) {{ $hint }} @endif
{{ $deltaAbs }}%