@props(['type' => 'info', 'pill' => false, 'size' => 'sm']) @php $colorMap = [ 'success' => 'bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-400', 'warning' => 'bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-400', 'danger' => 'bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-400', 'info' => 'bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-400', 'primary' => 'bg-primary-100 text-primary-700 dark:bg-primary-900/30 dark:text-primary-400', 'muted' => 'bg-slate-100 text-slate-600 dark:bg-slate-700 dark:text-slate-400', ]; $sizeMap = [ 'sm' => 'px-2 py-0.5 text-xs', 'md' => 'px-2.5 py-1 text-sm', ]; @endphp merge(['class' => 'inline-flex items-center font-medium ' . ($colorMap[$type] ?? $colorMap['info']) . ' ' . ($sizeMap[$size] ?? $sizeMap['sm']) . ' ' . ($pill ? 'rounded-full' : 'rounded-md')]) }}> {{ $slot }}