@props(['name']) {{-- Packages on this system are named by duration ("12 Months"), not by tier, so the colour is keyed off the name rather than off a tier list that does not exist here. Known tier names are honoured if they ever appear; anything else gets a stable colour derived from its own name, so a package keeps the same badge everywhere without anyone maintaining a mapping. --}} @php $known = [ 'starter' => 'bg-slate-100 text-slate-700 ring-slate-500/20 dark:bg-slate-500/10 dark:text-slate-300 dark:ring-slate-500/30', 'professional' => 'bg-blue-50 text-blue-700 ring-blue-600/20 dark:bg-blue-500/10 dark:text-blue-400 dark:ring-blue-500/30', 'business' => 'bg-violet-50 text-violet-700 ring-violet-600/20 dark:bg-violet-500/10 dark:text-violet-400 dark:ring-violet-500/30', 'enterprise' => 'bg-amber-50 text-amber-700 ring-amber-600/20 dark:bg-amber-500/10 dark:text-amber-400 dark:ring-amber-500/30', ]; $palette = [ 'bg-brand-50 text-brand-700 ring-brand-600/20 dark:bg-brand-500/10 dark:text-brand-400 dark:ring-brand-500/30', 'bg-teal-50 text-teal-700 ring-teal-600/20 dark:bg-teal-500/10 dark:text-teal-400 dark:ring-teal-500/30', 'bg-blue-50 text-blue-700 ring-blue-600/20 dark:bg-blue-500/10 dark:text-blue-400 dark:ring-blue-500/30', 'bg-violet-50 text-violet-700 ring-violet-600/20 dark:bg-violet-500/10 dark:text-violet-400 dark:ring-violet-500/30', 'bg-amber-50 text-amber-700 ring-amber-600/20 dark:bg-amber-500/10 dark:text-amber-400 dark:ring-amber-500/30', ]; $key = strtolower(trim((string) $name)); $classes = $known[$key] ?? $palette[crc32($key) % count($palette)]; @endphp @if ($name) merge(['class' => "inline-flex items-center whitespace-nowrap rounded-lg px-2 py-1 text-[11px] font-semibold ring-1 ring-inset {$classes}"]) }}> {{ $name }} @else — @endif