@props([ 'variant' => 'default', 'size' => 'md' ]) @php $variants = [ 'default' => 'bg-slate-100 dark:bg-slate-700 text-slate-700 dark:text-slate-300', 'primary' => 'bg-indigo-100 dark:bg-indigo-900/30 text-indigo-700 dark:text-indigo-400', 'success' => 'bg-emerald-100 dark:bg-emerald-900/30 text-emerald-700 dark:text-emerald-400', 'warning' => 'bg-amber-100 dark:bg-amber-900/30 text-amber-700 dark:text-amber-400', 'danger' => 'bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-400', 'info' => 'bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400', ]; $sizes = [ 'sm' => 'px-2 py-0.5 text-xs', 'md' => 'px-2.5 py-1 text-xs', 'lg' => 'px-3 py-1.5 text-sm', ]; $classes = 'inline-flex items-center font-medium rounded-full ' . $variants[$variant] . ' ' . $sizes[$size]; @endphp merge(['class' => $classes]) }}> {{ $slot }}