@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