@props([ 'color' => 'gray', 'size' => 'md' ]) @php $baseClasses = 'inline-flex items-center font-medium rounded-full'; $sizeClasses = match ($size) { 'sm' => 'px-2 py-0.5 text-xs', 'md' => 'px-2.5 py-0.5 text-sm', 'lg' => 'px-3 py-1 text-base', default => 'px-2.5 py-0.5 text-sm', }; $colorClasses = match ($color) { 'red' => 'bg-red-100 text-red-800', 'yellow' => 'bg-yellow-100 text-yellow-800', 'green' => 'bg-green-100 text-green-800', 'blue' => 'bg-blue-100 text-blue-800', 'indigo' => 'bg-indigo-100 text-indigo-800', 'purple' => 'bg-purple-100 text-purple-800', 'gray' => 'bg-gray-100 text-gray-800', default => 'bg-gray-100 text-gray-800', }; @endphp merge(['class' => "$baseClasses $sizeClasses $colorClasses"]) }}> {{ $slot }}