Files
pcm-badge-bundle/src/Enum/BadgeColour.php
T
2026-05-06 12:34:34 +01:00

86 lines
4.2 KiB
PHP

<?php
declare(strict_types=1);
namespace Pcm\BadgeBundle\Enum;
use Pcm\BadgeBundle\Model\BadgePalette;
enum BadgeColour
{
case ACCENT;
case AMBER;
case BLACK;
case BLUE;
case BROWN;
case CYAN;
case DANGER;
case DEFAULT;
case EMERALD;
case FOREST;
case FUCHSIA;
case GOLD;
case GREEN;
case GREY;
case INDIGO;
case LIME;
case MAROON;
case NAVY;
case OCHRE;
case ORANGE;
case PINK;
case PURPLE;
case RED;
case ROSE;
case SKY;
case SLATE;
case STONE;
case STRIPE;
case SUCCESS;
case TEAL;
case VIOLET;
case WARNING;
case YELLOW;
case ZINC;
public function getPalette(): BadgePalette
{
return match ($this) {
$this::ACCENT => new BadgePalette('text-accent', 'border-accent/30', 'bg-accent'),
$this::AMBER => new BadgePalette('text-amber-600', 'border-amber-600/30', 'bg-amber-600'),
$this::BLACK => new BadgePalette('text-zinc-900', 'border-zinc-900/30', 'bg-zinc-900'),
$this::BLUE => new BadgePalette('text-blue-700', 'border-blue-700/30', 'bg-blue-700'),
$this::BROWN => new BadgePalette('text-stone-700', 'border-stone-700/30', 'bg-stone-700'),
$this::CYAN => new BadgePalette('text-cyan-600', 'border-cyan-600/30', 'bg-cyan-600'),
$this::DANGER => new BadgePalette('text-danger', 'border-danger/30', 'bg-danger'),
$this::DEFAULT => new BadgePalette('text-primary', 'border-primary/30', 'bg-primary'),
$this::EMERALD => new BadgePalette('text-emerald-600', 'border-emerald-600/30', 'bg-emerald-600'),
$this::FOREST => new BadgePalette('text-green-800', 'border-green-800/30', 'bg-green-800'),
$this::FUCHSIA => new BadgePalette('text-fuchsia-600', 'border-fuchsia-600/30', 'bg-fuchsia-600'),
$this::GOLD => new BadgePalette('text-amber-500', 'border-amber-500/30', 'bg-amber-500'),
$this::GREEN => new BadgePalette('text-green-600', 'border-green-600/30', 'bg-green-600'),
$this::GREY => new BadgePalette('text-neutral-500', 'border-neutral-500/30', 'bg-neutral-500'),
$this::INDIGO => new BadgePalette('text-indigo-700', 'border-indigo-700/30', 'bg-indigo-700'),
$this::LIME => new BadgePalette('text-lime-600', 'border-lime-600/30', 'bg-lime-600'),
$this::MAROON => new BadgePalette('text-red-900', 'border-red-900/30', 'bg-red-900'),
$this::NAVY => new BadgePalette('text-blue-900', 'border-blue-900/30', 'bg-blue-900'),
$this::OCHRE => new BadgePalette('text-yellow-800', 'border-yellow-800/30', 'bg-yellow-800'),
$this::ORANGE => new BadgePalette('text-orange-500', 'border-orange-500/30', 'bg-orange-500'),
$this::PINK => new BadgePalette('text-pink-500', 'border-pink-500/30', 'bg-pink-500'),
$this::PURPLE => new BadgePalette('text-purple-600', 'border-purple-600/30', 'bg-purple-600'),
$this::RED => new BadgePalette('text-red-600', 'border-red-600/30', 'bg-red-600'),
$this::ROSE => new BadgePalette('text-rose-600', 'border-rose-600/30', 'bg-rose-600'),
$this::SKY => new BadgePalette('text-sky-600', 'border-sky-600/30', 'bg-sky-600'),
$this::SLATE => new BadgePalette('text-slate-600', 'border-slate-600/30', 'bg-slate-600'),
$this::STONE => new BadgePalette('text-stone-500', 'border-stone-500/30', 'bg-stone-500'),
$this::STRIPE => new BadgePalette('text-indigo-500', 'border-indigo-500/30', 'bg-indigo-500'),
$this::SUCCESS => new BadgePalette('text-success', 'border-success/30', 'bg-success'),
$this::TEAL => new BadgePalette('text-teal-600', 'border-teal-600/30', 'bg-teal-600'),
$this::VIOLET => new BadgePalette('text-violet-600', 'border-violet-600/30', 'bg-violet-600'),
$this::WARNING => new BadgePalette('text-warning', 'border-warning/30', 'bg-warning'),
$this::YELLOW => new BadgePalette('text-yellow-600', 'border-yellow-600/30', 'bg-yellow-600'),
$this::ZINC => new BadgePalette('text-zinc-500', 'border-zinc-500/30', 'bg-zinc-500'),
};
}
}